The functional units and subsystems can detect errors that can be signaled to the firmware. The firmware needs to look at multiple status registers to determine the cause of a system interrupt. The errors are usually grouped together at the block level. Sometimes multiple blocks can generate a single system error. For a list of system errors, see the System Error Summary Tables. An enabled error can set a bit in an EAM system error status register. System firmware needs to read all of the associated error status registers to determine the exact cause of the errors.
The assertion of each system error is controlled by registers in the individual blocks. The following figure shows example programing models and how multiple sources can be OR'd together to form one system error.