4-18
MPC7400 RISC Microprocessor Users Manual
Exception DeTnitions
Machine check exceptions are enabled when MSR[ME] = 1; this is described in
Section 4.6.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 Section 4.6.2.2, òCheckstop State (MSR[ME] = 0).ó
4.6.2.1 Machine Check Exception Enabled (MSR[ME] = 1)
Machine check exceptions are enabled when MSR[ME] = 1. When a machine check
exception is taken, registers are updated as shown in Table 4-9.
When the MPC7400 takes the machine check exception, it sets one or more error bits in
SRR1. The MPC7400 has two data parity error sources that can cause a machine check
interrupt. The L2DP bit indicates a data parity error on the L2 bus, and DP indicates a data
parity error on the system bus. The MCP bit indicates that the machine check pin was
asserted. The TEA bit indicates the machine check was caused by a TEA assertion on the
system bus. The AP bit indicates that an address parity error was detected on the system bus.
The setting of the CHK signal during the assertion of HRESET enables a post power-on
reset (post-POR) internal memory test to be executed. This post-POR internal memory test
can cause a machine check exception to occur and its cause to be reected in bits 1D5 of
the SRR1.
Table 4-9. Machine Check ExceptionRegister Settings
Register
Setting Description
SRR0
On a best-effort basis the MPC7400 can set this to an EA of some instruction that was executing or
about to be executing when the machine check condition occurred.
SRR1
0
1
2
3
4
5
6
7D9
10
11
12
13
14
15
16D31Loaded with equivalent MSR bits
Cleared
Set when an instruction cache error is detected (ICERR), otherwise zero
Set when a data cache error is detected (DCERR), otherwise zero
Set when an L2 cache tag error is detected (L2ERR), otherwise zero
Set when a TLB array error is detected (TLBERR), otherwise zero
Set when a BHT/BTIC array error is detected (BRERR), otherwise zero
Loaded with equivalent MSR bit
Cleared
Set when an internal error is detected (OTHERR), otherwise zero
Set when an L2 data cache parity error is detected (L2DP), otherwise zero
Set when MCP signal is asserted (MCP), otherwise zero
Set when TEA signal is asserted (TEA), otherwise zero
Set when a data bus parity error is detected (DP), otherwise zero
Set when an address bus parity error is detected (AP), otherwise zero
MSR
POW 0
ILE
EE
PR
0
0
FP
ME
FE0
SE
0
0
0
0
BE
FE1
IP
IR
0
0
0
DR
PM
RI
LE
0
0
0
Set to value of ILE
Note that to handle another machine check exception, the exception handler should set MSR[ME] as soon as it is
practical after a machine check exception is taken. Otherwise, subsequent machine check exceptions cause the
processor to enter the checkstop state.