Multiple-Error Scenarios
A multiple-error scenarios has a mix of uncorrectable and advisory non-fatal errors in a single TLP. The error precedence determines which error is reported when the PCIe Controller detects multiple errors. However, if the higher precedence error is advisory and the lower precedence error is not, the reported error should not actually be advisory.
Per PCIe specification section 2.7.2.2, the PCIe Controller these error combinations:
- AtomicOp request that is poisoned as well as unsupported—The PCIe Controller reports it as an unsupported request received error because of the higher precedence. However, because it is also poisoned, the PCIe Controller reports it as an uncorrectable error and not as advisory non-fatal.CfgWr
- For a request that is poisoned as well as unsupported—The PCIe Controller reports it as an unsupported request received error because of the higher precedence. However, because it is also poisoned, it is reported as an uncorrectable error and not as advisory non-fatal.
- For a MWr, IOWr, or MsgD request that is poisoned as well as unsupported—The PCIe Controller reports it as an unsupported request received error because of the higher precedence. If the Poisoned TLP Received Advisory Non Fatal bit is set to 0 in the Debug Mux Control 2 Register, it is reported as an uncorrectable error and not as advisory non-fatal.