Chapter 4. Exceptions
4-17
Exception DeTnitions
Certain machine check conditions can be enabled and disabled using HID0 bits, as
described in Table 4-8.
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.
If MSR[ME] and the appropriate HID0 bits are set, the exception is recognized and
handled; otherwise, the processor generates an internal checkstop condition. When a
processor is in checkstop state, instruction processing is suspended and generally cannot
continue without restarting the processor. Note that many conditions may lead to the
checkstop condition; the disabled machine check exception is only one of these.
A machine check exception may result from referencing a nonexistent physical address,
either directly (with MSR[DR] = 0) or through an invalid translation. If a
dcbz
instruction
introduces a block into the cache associated with a nonexistent physical address, a machine
check exception can be delayed until an attempt is made to store that block to main memory.
Not all PowerPC processors provide the same level of error checking. Checkstop sources
are implementation-dependent.
Table 4-8. HID0 Machine Check Enable Bits
Bit
Name
Function
0
EMCP
Enable MCP. The primary purpose of this bit is to mask out further machine check exceptions caused
by assertion of MCP, similar to how MSR[EE] can mask external interrupts.
0 Masks MCP. Asserting MCP does not generate a machine check exception or a checkstop.
1 Asserting MCP causes a checkstop if MSR[ME] = 0 or a machine check exception if MSR[ME] = 1.
1
DBP
Enable/disable 60x bus address and data parity generation.
0 If address or data parity is not used by the system and the respective parity checking is disabled
(HID0[EBA] or HID0[EBD] = 0), input receivers for those signals are disabled, do not require pull-up
resistors, and therefore should be left unconnected. If all parity generation is disabled, all parity
checking should also be disabled and parity signals need not be connected.
1 Parity generation is enabled.
2
EBA
Enable/disable 60x bus address parity checking.
0 Prevents address parity checking.
1 Allows an address parity error to cause a checkstop if MSR[ME] = 0 or a machine check exception if
MSR[ME] = 1.
EBA and EBD allow the processor to operate with memory subsystems that do not generate parity.
3
EBD
Enable 60x bus data parity checking
0 Parity checking is disabled.
1 Allows a data parity error to cause a checkstop if MSR[ME] = 0 or a machine check exception if
MSR[ME] = 1.
EBA and EBD allow the processor to operate with memory subsystems that do not generate parity.
15
NHR
Not hard reset (software use only)
0 A hard reset occurred if software had previously set this bit
1 A hard reset has not occurred.