8–6
Error Detection and Error Handling
29 September 1997 – Subject To Change
MCHK Flow
to determine if certain hardware is present). The purpose of this error detection
mechanism is to attempt to prevent system hang in order to write a machine
check stack frame.
•
ICPERR_STAT: <TMR> is set.
8.2 MCHK Flow
The following flow is the recommended IPR access order to determine the source of
a machine check.
•
Must flush Icache to remove bad data on Istream errors. The Icache refill buffer
may be flushed by executing enough instructions to fill the refill buffer with new
data (32 instructions). Then flush the Icache again.
•
Read EXC_ADDR.
•
If EXC_ADDR=PAL, then halt.
•
Issue MB to clear out MTU/CBU before reading CBU registers or issuing
DC_FLUSH.
•
Flush Dcache to remove bad data on Dstream errors.
•
Read ICSR.
•
Read ICPERR_STAT.
•
Read DCPERR_STAT.
•
Read CBOX_ADDR.
•
Use an MB instruction to ensure that read operations of CBOX_ADDR occur
before subsequent read operations of CBOX_STATUS.
•
Read CBOX_STATUS and save (unlocks CBOX_STATUS and
CBOX_ADDR).
•
Read CBOX_STATUS again to be sure it is unlocked; discard result.
•
Check for cases that cannot be retried. If any one of the following are true, then
skip retry:
–
CBOX_STATUS<TAG_PAR_ERR>
–
CBOX_STATUS<DATA_PAR_ERR>
–
CBOX_STATUS<MULTI_ERR>