User’s Manual
PPC440x5 CPU Core Preliminary
Page 180 of 589 intrupts.fm.
September 12, 2002
Machine Check Save/Restore Register 1 (MCSRR1)
Set to the contents of the MSR at the time of the interrupt.
Machine State Register (MSR)
All MSR bits set to 0.
Exception Syndrome Register (ESR)
MCI Set to 1 for an Instruction Machine Check exception; otherwise left unchanged.
Allother defined ESR bits areset to0 for an Instruction Machine Check exception; otherwisethey are left
unchanged.
Programming Note: Ifan Instruction Synchronous Machine Check exception is associated
with an instruction, and executionof that instruction is attempted while
MSR[ME] is 0, then no Machine Check interrupt will occur, but
ESR[MCI] will still be set to 1 when the instruction actually executes.
Once set, ESR[MCI] cannot be cleared except by software, using the
mtspr instruction. When processing a Machine Check interrupt
handler, software should query ESR[MCI] to determine the type of
Machine Check exception,and then clear ESR[MCI]. Then, prior to re-
enabling Machine Checkinterrupts by setting MSR[ME] to 1, software
should query the status of ESR[MCI] again to determine whether any
additional Instruction Machine Check exceptionshave occurrred while
MSR[ME] was disabled.
Machine Check Status Register (MCSR)
The MCSR collects status for the Machine Check exceptions that are handled as asynchronous interrupts.
MCSR[MCS]is set by any Instruction Asynchronous Machine Check exception, Data Asynchronous Machine
Checkexception, or TLB Asynchronous Machine Check exception. Other bits in the MCSR are set to indicate
the exact type of Machine Check exception.
MCS Set to 1.
IB Set to 1 if Instruction Read PLB Interrupt Request (IRQ) is asserted; otherwise set to
0.
DRB Set to 1 if Data Read PLB Interrupt Request (IRQ) is asserted; otherwise set to 0.
DWB Set to 1 if Data Write PLB Interrupt Request (IRQ) is asserted; otherwise set to 0.
TLBP Set to 1 if the exception is a TLB parity error; otherwise set to 0.
ICP Set to 1 if the exception is an instruction cache parity error; otherwise set to 0.
DCSP Set to 1 if the exception is a data cache parity error that resulted during a DCU
Search operation; otherwise set to 0. See Data Cache Parity Operations on
page 129.
DCFP Set to 1 if the exception is a data cache parity error that resulted during a DCU Flush
operation; otherwise set to 0. See Data Cache Parity Operations on page129.
IMPE Set to 1 if MCSR[MCS] is set (or would be, if it were not already set) and MSR[ME]
= 0; otherwise set to 0. When set, this bit indicates that a Machine Check exception
happened while Machine Check interrupts were disabled.