Visible to Intel only — GUID: trq1559679379639
Ixiasoft
Visible to Intel only — GUID: trq1559679379639
Ixiasoft
4.2.7. Error Handling
In the CCU, there are two kinds of errors reported, uncorrectable errors and correctable errors. Uncorrectable errors are errors that the hardware is unable to correct (for example: double-bit ECC). Correctable errors are errors that hardware can correct. Hardware reports the correctable error to software.
The CCU detects an error, logs information about the error and signals as interrupts (correctible_error_irq and uncorrectible_error_irq). Each CCU component implements two sets of registers, control for enabling error reporting and status for logging errors. The error control registers consist of an error detection enable bit, an error interrupt enable bit, and error threshold field. Software should enable the error detection, correction, and logging for all the active components. The error threshold field in the correctable error control register determines the number of correctable errors that occur before a correctable error is logged. Once the set threshold is reached, the next detected correctable error is logged.
- The ISR reads the Coherent Subsystem Correctable Error Interrupt Status Registers (CSCEISRn) and the Coherent Subsystem Uncorrectable Error Interrupt Status Registers (CSUEISRn), to determine which unit detected the error.
- In the case that multiple errors have occurred, the ISR prioritizes the errors and chooses one to handle.
- The ISR reads the correctable error status register or the uncorrectable error status register in the unit with the highest-priority error.
- If the error valid bit is set in the error status register, the ISR reads the appropriate error location registers.
- The ISR acknowledges the error by writing '1' to either or both error valid and error overflow bits.
- Using the information from the error status register and error location registers, the ISR performs the desired action to handle the error and returns.