
MOTOROLA
Chapter 4. Exceptions
4-21
4.5.2 Machine Check Exception (0x00200)
The 603e conditionally initiates a machine check exception after detecting the assertion of
the TEA or MCP signals on the 603e bus (assuming the machine check is enabled,
MSR[ME] = 1). The assertion of one of these signals indicates that a bus error occurred and
the system terminates the current transaction. One clock cycle after the signal is asserted,
the data bus signals go to the high-impedance state; however, data entering the GPR or the
cache is not invalidated. Note that if HID0[EMCP] is cleared, the processor ignores the
assertion of the MCP signal.
Note that the 603e makes no attempt to force recoverability; however, it does guarantee the
machine check exception is always taken immediately upon request, with a nonpredicted
address saved in SRR0, regardless of the current machine state. Any pending stores in the
completed store queue are canceled when the exception is taken. Software can use the
machine check exception in a recoverable mode for checking bus configuration. For this
case, a
sync
, load,
sync
instruction sequence is used. A subsequent machine check
exception at the load address indicates a bus configuration problem and the processor is in
a recoverable state.
If the MSR[ME] bit is set, the exception is recognized and handled; otherwise, the 603e
attempts to enter an internal checkstop. Note that the resulting machine check exception has
priority over any exceptions caused by the instruction that generated the bus operation.
Machine check exceptions are only enabled when MSR[ME] = 1; this is described in
Section 4.5.2.1, “Machine Check Exception Enabled (MSR[ME] = 1).” If MSR[ME] = 0
and a machine check occurs, the processor enters the checkstop state. Checkstop state is
described in 4.5.2.2, “Checkstop State (MSR[ME] = 0).”