The component that detects an error is called a node. The Cortex®‑A77 core is a node that interacts with the DynamIQ™ Shared Unit node. There is one record per node for the errors detected.
For more information on error recording generated by cache protection, see the Arm® Reliability, Availability, and Serviceability (RAS) Specification, Armv8, for the Armv8-A architecture profile. The following points apply specifically to the Cortex‑A77 core:
- Error recording is only available when the core cache protection is implemented.
- In the Cortex‑A77 core, any error that is detected is reported and recorded in the
error record registers:
- ERRSELR_EL1, Error Record Select Register, EL1
- ERXADDR_EL1, Selected Error Record Address Register, EL1
- ERXCTLR_EL1, Selected Error Record Control Register, EL1
- ERXFR_EL1, Selected Error Record Feature Register, EL1
- ERXMISC0_EL1, Selected Error Record Miscellaneous Register 0, EL1
- ERXMISC1_EL1, Selected Error Record Miscellaneous Register 1, EL1
- ERXPFGCDN_EL1, Selected Error Pseudo Fault Generation Count Down Register, EL1
- ERXPFGCTL_EL1, Selected Error Pseudo Fault Generation Control Register, EL1
- ERXPFGF_EL1, Selected Pseudo Fault Generation Feature Register, EL1
- ERXSTATUS_EL1, Selected Error Record Primary Status Register, EL1
- There are two error records provided, which can be selected with the ERRSELR_EL1
- Record 0 is private to the core, and is updated on any error in the core RAMs including L1 caches, TLB, and L2 cache.
- Record 1 records any error in the L3 and snoop filter RAMs and is shared between all cores in the cluster.
- The fault handling interrupt is generated on the nFAULTIRQ pin for L3 and snoop filter errors, or on the nFAULTIRQ[n+1] pin for core n L1 and L2 errors.