4.3.19 ECC Error Registers

ECC Error Registers characteristics and bit assignments.

There are four banks of ECC Error Registers:

  • One bank for the data cache.
  • One bank for the instruction cache.
  • One bank for the data TCM.
  • One bank for the instruction TCM.

Banks for data cache and instruction caches have three entries, DEER0-2/IEER0-2. Banks for data TCM and instruction TCM have one entry, DTCMEER/ITCMEER.

The DEER0-2/IEER0-2 and DTCMEER/ITCMEER indicate where ECC errors have occurred.

Usage constraints
The DEER0-2/IEER0-2 and DTCMEER/ITCMEER are only accessible in privileged mode.
Configurations
Available in all configurations.
Attributes
See the c15 register summary, 4.2.8 c15 registers.

The following table shows the DEER0-2 bit assignments.

Table 4-39 DEER0-2 bit assignments

Bits Function
[31:28] Way affected in one-hot encoding.
[27:26] Reserved. RAZ/WI.
[25] A fatal error has occurred.
[24:19] Reserved. RAZ/WI.
[18] Error occurred in data RAM.
[17] Error occurred in tag RAM.
[16] Error occurred in SCU RAM.
[15:14] Reserved. RAZ/WI.
[13:5] Faulty address where error has occurred.
[4:2] Faulty word affected by ECC error.
[1] Error is hard, that is, only software can write on it.
[0] This entry contains valid information.

The following table shows the IEER0-2 bit assignments.

Table 4-40 IEER0-2 bit assignments

Bits Function
[31:28] Way affected in one-hot encoding.
[27:26] Reserved. RAZ/WI.
[25] A fatal error has occurred.
[24:14] Reserved. RAZ/WI.
[13:5] Faulty address where error has occurred.
[4:2] Faulty word affected by ECC error.
[1] Error is hard, that is, only software can write on it.
[0] This entry contains valid information.

The following table shows the DTCMEER/ITCMEER bit assignments.

Table 4-41 DTCMEER/ITCMEER bit assignments

Bits Function
[31:26] Reserved. RAZ/WI.
[25] A fatal error has occurred.
[24:20] Reserved. RAZ/WI.
[19:2] Faulty address where error has occurred.
[1] Error is hard, that is, only software can write on it.
[0] This entry contains valid information.

When an error is detected by the processor circuitry, the first available ECC Error Register is updated with the memory information of where the error has been found, for example, index, way, or memory type, and bit[0] is set to 0b1. Bit[1] can only be accessed by the software and is used to mark entries where there are hard errors. Writing zeros to bits[25] and [1:0] enables their contents to be reset. Resetting the ECC information is therefore possible by writing these six registers successively, two for each entry.

If bit[16] is set to 0b1, the error has been detected by the SCU, therefore this index-way pair is also present in the SCU error bank. When resetting an entry, if this bit is set, you must clear the corresponding SCU entry to maintain the coherence between the SCU error bank and the D-side error bank. This bit is only accessible for the Data Side.

The following table shows the meaning of the error status bits.

Table 4-42 Error status bit encoding

Bits[1:0] Meaning
00 No error. Entry available, no index masking, not yet processed by the external system.
01 Unanalyzed error. Entry not available, index masking, not yet processed by the external system. It can be either soft or hard. This state is entered when any ECC error occurs.
10 Not used.
11 Permanent error. Entry not available, index masking, already processed by the external system.

All errors captured between two analyses of the global monitor or left in the bank by it are visible in this bank, as long as the bank has not been filled.

To access the DEER0-2, read or write the CP15 register with:

MRC p15, 0, <Rd>, c15, c2, n ; Read ECC entry no. n, n in set [0, 1, 2]
MCR p15, 0, <Rd>, c15, c2, n ; Write ECC entry no. n, n in set [0, 1, 2]

To access the IEER0-2, read or write the CP15 register with:

MRC p15, 0, <Rd>, c15, c3, n ; Read ECC entry no. n, n in set [0, 1, 2]
MCR p15, 0, <Rd>, c15, c3, n ; Write ECC entry no. n, n in set [0, 1, 2]

To access the DTCMEER, read or write the CP15 register with:

MRC p15, 0, <Rd>, c15, c4, 0 ; Read TCM ECC entry
MCR p15, 0, <Rd>, c15, c4, 0 ; Write TCM ECC entry

To access the ITCMEER, read or write the CP15 register with:

MRC p15, 0, <Rd>, c15, c5, 0 ; Read TCM ECC entry
MCR p15, 0, <Rd>, c15, c5, 0 ; Write TCM ECC entry
Non-ConfidentialPDF file icon PDF versionARM 100400_0001_03_en
Copyright © 2015–2017 ARM Limited or its affiliates. All rights reserved.