MOTOROLA
Chapter 13. Error Handling and Exceptions
13-5
Error Reporting
Bit 6 of the PCI command register decides whether the MPC8240 ignores PERR. Bit 15
and bit 8 of the PCI status register are used to report when the MPC8240 has detected or
reported a data parity error.
13.2.3.3 Nonmaskable Interrupt (NMI)
The NMI signal is, effectively, a PCI sideband signal between the PCI-to-ISA bridge and
the MPC8240. The NMI signal is usually driven by the PCI-to-ISA bridge to report any
nonrecoverable error detected on the ISA bus (normally, through the IOCHCK signal on
the ISA bus). The name nonmaskable interrupt is misleading due to its history in ISA bus
designs. The NMI signal should be connected to GND if it is not used. If PICR1[MCP_EN]
is set, the MPC8240 reports the NMI error to the processor core by asserting
mcp
.
13.3 Error Reporting
Error detection on the MPC8240 is designed to log the occurrence of an error and also log
information related to the error condition. The individual error detection bits are contained
in the PCI status register, error detection register 1 (ErrDR1), and error detection register 2
(ErrDR2). These bits indicate which error has been detected. (The error detection bits are
speciTcally bits 15, 13, and 12 in the PCI status register, bits 7D4 and 2D0 in ErrDR1, and
bits 5D3 and 0 in ErrDR2.)
The intent of error reporting is to log the information pertaining to the Trst error that occurs
and prevent additional errors from being reported until the Trst error is acknowledged (and
cleared). For additional errors to be reported, all error detection bits must be cleared. When
an error detection bit is set, the MPC8240 does not report additional errors until all of the
error detection bits are cleared. Note that more than one of the error detection bits can be
set if simultaneous errors are detected. Therefore, software must check whether more than
one bit is set before trying to determine information about the error.
The processor/PCI error address register, the processor bus error status register, and the PCI
bus error status register together with ErrDR1[3] (processor/PCI cycle) and ErrDR2[7]
(invalid error address) provide additional information about a detected error condition.
When an error is detected, the associated information is latched inside these registers until
all error detection bits are cleared. Subsequent errors set the appropriate error detection bits,
but the bus error status and error address registers retain the information for the initial error
until all error detection bits are cleared.
As described in Section 13.2.2, òProcessor Core Error Signal (mcp),ó the MPC8240 asserts
mcp
to the processor core when an enabled error condition has occurred during system
operation. The assertion of
mcp
depends upon whether the error handling registers of the
MPC8240 are set to report the speciTc error. Once asserted, the MPC8240 continues to
asserted
mcp
until the MPC8240 decodes a read from the processor to the machine check
exception vector (0xnnn0_0200). When it decodes a processor read from the machine
check exception vector, the MPC8240 negates
mcp
. However, until all the error detection
bits are cleared, the MPC8240 does not report subsequent errors by reasserting
mcp
.