Subject: RE: hmmm, how do I make my own working kernel?
To: None <port-macppc@netbsd.org>
From: Mark Rakes <mrakes@allegronetworks.com>
List: port-macppc
Date: 02/20/2002 01:48:01
>> trap type 200 at 30fc10
>
>Ouch.  That's a "machine check" trap and might happen for one of a
>couple of different reasons.

we've seen similar problems with the 7451, which led to Cliff's post: 
http://mail-index.netbsd.org/port-macppc/2001/12/14/0005.html

perhaps 7455s (the 1Ghz part) have a similar issue?

here's what we found with hacked in dumps of SRR1/MSSSR0:
>Dec 12 16:32:27 ox /netbsd: trap type 200 at 20c014 SRR1 0x149030
>Dec 12 16:32:27 ox /netbsd:  MSSSR0 0x1000
>Dec 12 16:32:27 ox /netbsd: panic: trap

SRR1 has bits 11 & 13 set. From MOTO's 7451 info:
>11 	MSS error.	Set for an L2 cache tag parity or L2 data parity
error. 
>			Also set for an L3 SRAM or L3 tag parity error;
otherwise
>			zero. [...]
>13 	TEA.		Set when TEA signal is asserted; otherwise zero

MSSSR0 looks like:
0x1000 == 00000000000000000001000000000000 ->bit 19 is set:
>19 	TEA 	Bus transfer error acknowledge
>			0 TEA not detected as asserted.
>			1 TEA detected as asserted.

>from 4.6.2:
>A TEA indication on the bus can result from any load or store operation 
>initiated by the processor. In general, TEA is expected to be used by a 
>memory controller to indicate that a memory parity error or an
uncorrectable 
>memory ECC error has occurred. Note that the resulting machine check 
>exception is imprecise and unordered with respect to the instruction that 
>originated the bus operation.

>9.4.3.3 Data Transfer Termination Due to a Bus Error
>The TEA signal indicates that a bus error has occurred during a data
tenure. 
>[...]
>For this reason, care must be taken to check for the end of physical memory

>and the location of certain system facilities to avoid memory accesses that

>result in the assertion of TEA.

HTH,
-mark