When RAS System Architecture v2 is implemented, error record <n> might be one of the following:
Otherwise, ERR<n>STATUS contains status information for error record <n>, including:
Within this register:
This register is present only when error record n is implemented. Otherwise, direct accesses to ERR<n>STATUS are RES0.
ERRFRPFGF[FirstRecordOfNode(n)] describes the features implemented by the node that owns error record <n>. FirstRecordOfNode(n) is the index of the first error record owned by the same node as error record <n>. If the node owns a single record then FirstRecordOfNode(n) = n.
For IMPLEMENTATION DEFINED fields in ERR<n>STATUS, writing zero returns the error record to an initial quiescent state.
In particular, if any IMPLEMENTATION DEFINED syndrome fields might generate a Fault Handling or Error Recovery Interrupt request, writing zero is sufficient to deactivate the Interrupt request.
Fields that are read-only, nonzero, and ignore writes are compliant with this requirement.
Arm recommends that any IMPLEMENTATION DEFINED syndrome field that can generate a Fault Handling, Error Recovery, Critical, or IMPLEMENTATION DEFINED, interrupt request is disabled at Cold reset and is enabled by software writing an IMPLEMENTATION DEFINED nonzero value to an IMPLEMENTATION DEFINED field in ERRCTLR[FirstRecordOfNode(n)].
ERR<n>STATUS is a 64-bit register.
63 | 62 | 61 | 60 | 59 | 58 | 57 | 56 | 55 | 54 | 53 | 52 | 51 | 50 | 49 | 48 | 47 | 46 | 45 | 44 | 43 | 42 | 41 | 40 | 39 | 38 | 37 | 36 | 35 | 34 | 33 | 32 |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RES0 | |||||||||||||||||||||||||||||||
AV | V | RAZ | RES0 | MV | RAZ | RES0 | RAZ | RES0 | IERR | RES0 |
Reserved, RES0.
Address Valid.
AV | Meaning |
---|---|
0b0 |
ERR<n>ADDR not valid. |
0b1 |
ERR<n>ADDR contains an additional address associated with the highest priority error recorded by this record. |
The reset behavior of this field is:
Access to this field is W1C.
Reserved, RES0.
Status Register Valid.
V | Meaning |
---|---|
0b0 |
ERR<n>STATUS not valid. |
0b1 |
ERR<n>STATUS valid. Additional syndrome has been recorded. |
The reset behavior of this field is:
Access to this field is W1C.
Reserved, RAZ.
Reserved, RES0.
Miscellaneous Registers Valid.
MV | Meaning |
---|---|
0b0 |
ERR<n>MISC<m> not valid. |
0b1 |
The contents of the ERR<n>MISC<m> registers contain additional information for an error recorded by this record. |
If the ERR<n>MISC<m> registers can contain additional information for a previously recorded error, then the contents must be self-describing to software or a user. For example, certain fields might relate only to Corrected errors, and other fields only to the most recent error that was not discarded.
The reset behavior of this field is:
Access to this field is W1C.
Reserved, RES0.
Reserved, RAZ.
Reserved, RES0.
Reserved, RAZ.
Reserved, RES0.
IMPLEMENTATION DEFINED additional error code. Used with any primary error code ERR<n>STATUS.SERR value. Further IMPLEMENTATION DEFINED information can be placed in the ERR<n>MISC<m> registers.
The implemented set of valid values that this field can take is IMPLEMENTATION DEFINED. If any value not in this set is written to this register, then the value read back from this field is UNKNOWN.
This means that one or more bits of this field might be implemented as fixed read-as-zero or read-as-one values.
The reset behavior of this field is:
Accessing this field has the following behavior:
Reserved, RES0.
63 | 62 | 61 | 60 | 59 | 58 | 57 | 56 | 55 | 54 | 53 | 52 | 51 | 50 | 49 | 48 | 47 | 46 | 45 | 44 | 43 | 42 | 41 | 40 | 39 | 38 | 37 | 36 | 35 | 34 | 33 | 32 |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RES0 | |||||||||||||||||||||||||||||||
RES0 | V | ERI | RES0 | FHI | RES0 | CRI | RES0 |
Reserved, RES0.
RAS agent error status.
V | Meaning |
---|---|
0b0 |
RAS agent error status is not asserted. |
0b1 |
RAS agent error status is asserted. |
Access to this field is RO.
RAS agent Error Recovery Interrupt.
ERI | Meaning |
---|---|
0b0 |
RAS agent error recovery interrupt is not asserted. |
0b1 |
RAS agent error recovery interrupt is asserted. |
Access to this field is RO.
Reserved, RES0.
RAS agent Fault Handling Interrupt.
FHI | Meaning |
---|---|
0b0 |
RAS agent fault handling interrupt is not asserted. |
0b1 |
RAS agent fault handling interrupt is asserted. |
Access to this field is RO.
Reserved, RES0.
RAS agent criticial error interrupt.
CRI | Meaning |
---|---|
0b0 |
RAS agent criticial error interrupt is not asserted. |
0b1 |
RAS agent criticial error interrupt is asserted. |
Access to this field is RO.
Reserved, RES0.
63 | 62 | 61 | 60 | 59 | 58 | 57 | 56 | 55 | 54 | 53 | 52 | 51 | 50 | 49 | 48 | 47 | 46 | 45 | 44 | 43 | 42 | 41 | 40 | 39 | 38 | 37 | 36 | 35 | 34 | 33 | 32 |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RES0 | |||||||||||||||||||||||||||||||
AV | V | UE | ER | OF | MV | CE | DE | PN | UET | CI | RV | RES0 | IERR | SERR |
Reserved, RES0.
Address Valid.
AV | Meaning |
---|---|
0b0 |
ERR<n>ADDR not valid. |
0b1 |
ERR<n>ADDR contains an address associated with the highest priority error recorded by this record. |
The reset behavior of this field is:
Access to this field is W1C.
Reserved, RES0.
Status Register Valid.
V | Meaning |
---|---|
0b0 |
ERR<n>STATUS not valid. |
0b1 |
ERR<n>STATUS valid. At least one error has been recorded. |
The reset behavior of this field is:
Access to this field is W1C.
Uncorrected Error.
UE | Meaning |
---|---|
0b0 |
No errors have been detected, or all detected errors have been either corrected or deferred. |
0b1 |
At least one detected error was not corrected and not deferred. |
When clearing ERR<n>STATUS.V to 0, if this field is nonzero, then Arm recommends that software write 1 to this field to clear this field to zero.
The reset behavior of this field is:
Accessing this field has the following behavior:
Error Reported.
ER | Meaning |
---|---|
0b0 |
No in-band error response (External abort) signaled to the Requester making the access or other transaction. |
0b1 | An in-band error response was signaled by the component to the Requester making the access or other transaction. This can be because any of the following are true:
|
An in-band error response signaled by the component might be masked and not generate any exception.
It is IMPLEMENTATION DEFINED whether an uncorrected error that is deferred and recorded as a Deferred error, but is not deferred to the Requester, can signal an in-band error response to the Requester, causing this field to be set to 1.
The reset behavior of this field is:
Accessing this field has the following behavior:
Error Reported.
ER | Meaning |
---|---|
0b0 |
No in-band error response (External abort) signaled to the Requester making the access or other transaction. |
0b1 | An in-band error response was signaled by the component to the Requester making the access or other transaction. This can be because any of the following are true:
|
An in-band error response signaled by the component might be masked and not generate any exception.
It is IMPLEMENTATION DEFINED whether an uncorrected error that is deferred and recorded as a Deferred error, but is not deferred to the Requester, can signal an in-band error response to the Requester, causing this field to be set to 1.
The reset behavior of this field is:
Accessing this field has the following behavior:
Reserved, RES0.
Overflow.
Indicates that multiple errors have been detected. This field is set to 1 when one of the following occurs:
Otherwise, this field is unchanged when an error is recorded.
If a Corrected error counter is implemented, then:
OF | Meaning |
---|---|
0b0 |
Since this field was last cleared to zero, no error syndrome has been discarded and, if a Corrected error counter is implemented, it has not overflowed. |
0b1 |
Since this field was last cleared to zero, at least one error syndrome has been discarded or, if a Corrected error counter is implemented, it might have overflowed. |
When clearing ERR<n>STATUS.V to 0, if this field is nonzero, then Arm recommends that software write 1 to this field to clear this field to zero.
The reset behavior of this field is:
Accessing this field has the following behavior:
Miscellaneous Registers Valid.
MV | Meaning |
---|---|
0b0 |
ERR<n>MISC<m> not valid. |
0b1 |
The contents of the ERR<n>MISC<m> registers contain additional information for an error recorded by this record. |
If the ERR<n>MISC<m> registers can contain additional information for a previously recorded error, then the contents must be self-describing to software or a user. For example, certain fields might relate only to Corrected errors, and other fields only to the most recent error that was not discarded.
The reset behavior of this field is:
Access to this field is W1C.
Reserved, RES0.
Corrected Error.
CE | Meaning |
---|---|
0b00 |
No errors were corrected. |
0b01 |
At least one transient error was corrected. |
0b10 |
At least one error was corrected. |
0b11 |
At least one persistent error was corrected. |
The mechanism by which a component or node detects whether a Corrected error is transient or persistent is IMPLEMENTATION DEFINED. If no such mechanism is implemented, then the node sets this field to 0b10 when a corrected error is recorded.
When clearing ERR<n>STATUS.V to 0, if this field is nonzero, then Arm recommends that software write ones to this field to clear this field to zero.
The reset behavior of this field is:
Accessing this field has the following behavior:
Deferred Error.
DE | Meaning |
---|---|
0b0 |
No errors were deferred. |
0b1 |
At least one error was not corrected and deferred. |
Support for deferring errors is IMPLEMENTATION DEFINED.
When clearing ERR<n>STATUS.V to 0, if this field is nonzero, then Arm recommends that software write 1 to this field to clear this field to zero.
The reset behavior of this field is:
Accessing this field has the following behavior:
Poison.
PN | Meaning |
---|---|
0b0 |
Uncorrected error or Deferred error recorded because a corrupt value was detected, for example, by an error detection code (EDC), or Corrected error recorded. |
0b1 |
Uncorrected error or Deferred error recorded because a poison value was detected. |
When clearing ERR<n>STATUS.V to 0, if this field is nonzero, then Arm recommends that software write 1 to this field to clear this field to zero.
The reset behavior of this field is:
Accessing this field has the following behavior:
Uncorrected Error Type. Describes the state of the component after detecting or consuming an Uncorrected error.
UET | Meaning |
---|---|
0b00 |
Uncorrected error, Uncontainable error (UC). |
0b01 |
Uncorrected error, Unrecoverable error (UEU). |
0b10 |
Uncorrected error, Latent or Restartable error (UEO). |
0b11 |
Uncorrected error, Signaled or Recoverable error (UER). |
UER can mean either Signaled or Recoverable error, and UEO can mean either Latent or Restartable error.
When clearing ERR<n>STATUS.V to 0, if this field is nonzero, then Arm recommends that software write ones to this field to clear this field to zero.
The reset behavior of this field is:
Accessing this field has the following behavior:
Critical Error. Indicates whether a critical error condition has been recorded.
CI | Meaning |
---|---|
0b0 |
No critical error condition. |
0b1 |
Critical error condition. |
When clearing ERR<n>STATUS.V to 0, if this field is nonzero, then Arm recommends that software write 1 to this field to clear this field to zero.
The reset behavior of this field is:
Accessing this field has the following behavior:
Reset Valid. When ERR<n>STATUS.V is 1, indicating the error record is valid, this field indicates whether the error was recorded before or after the most recent Error Recovery reset.
RV | Meaning |
---|---|
0b0 |
If the error record is valid then it was recorded after the last Error Recovery reset. |
0b1 |
If the error record is valid then it was recorded before the last Error Recovery reset. |
This field is set to 0 when an error is recorded.
The reset behavior of this field is:
Access to this field is W1C.
Reserved, RES0.
Reserved, RES0.
IMPLEMENTATION DEFINED error code. Used with any primary error code ERR<n>STATUS.SERR value. Further IMPLEMENTATION DEFINED information can be placed in the ERR<n>MISC<m> registers.
The implemented set of valid values that this field can take is IMPLEMENTATION DEFINED. If any value not in this set is written to this register, then the value read back from this field is UNKNOWN.
This means that one or more bits of this field might be implemented as fixed read-as-zero or read-as-one values.
The reset behavior of this field is:
Accessing this field has the following behavior:
Architecturally-defined primary error code. The primary error code might be used by a fault handling agent to triage an error without requiring device-specific code. For example, to count and threshold corrected errors in software, or generate a short log entry.
SERR | Meaning |
---|---|
0x00 |
No error. |
0x01 |
IMPLEMENTATION DEFINED error. |
0x02 |
Data value from (non-associative) internal memory. For example, ECC from on-chip SRAM or buffer. |
0x03 |
IMPLEMENTATION DEFINED pin. For example, nSEI pin. |
0x04 |
Assertion failure. For example, consistency failure. |
0x05 |
Error detected on internal data path. For example, parity on ALU result. |
0x06 |
Data value from associative memory. For example, ECC error on cache data. |
0x07 |
Address/control value from associative memory. For example, ECC error on cache tag. |
0x08 |
Data value from a TLB. For example, ECC error on TLB data. |
0x09 |
Address/control value from a TLB. For example, ECC error on TLB tag. |
0x0A |
Data value from producer. For example, parity error on write data bus. |
0x0B |
Address/control value from producer. For example, parity error on address bus. |
0x0C |
Data value from (non-associative) external memory. For example, ECC error in SDRAM. |
0x0D |
Illegal address (software fault). For example, access to unpopulated memory. |
0x0E |
Illegal access (software fault). For example, byte write to word register. |
0x0F |
Illegal state (software fault). For example, device not ready. |
0x10 |
Internal data register. For example, parity on a SIMD&FP register. For a PE, all general-purpose, stack pointer, SIMD&FP, SVE, and SME registers are data registers. |
0x11 |
Internal control register. For example, parity on a System register. For a PE, all registers other than general-purpose, stack pointer, SIMD&FP, SVE, and SME registers are control registers. |
0x12 |
Error response from Completer of access. For example, error response from cache write-back. |
0x13 |
External timeout. For example, timeout on interaction with another component. |
0x14 |
Internal timeout. For example, timeout on interface within the component. |
0x15 |
Deferred error from Completer not supported at Requester. For example, poisoned data received from the Completer of an access by a Requester that cannot defer the error further. |
0x16 |
Deferred error from Requester not supported at Completer. For example, poisoned data received from the Requester of an access by a Completer that cannot defer the error further. |
0x17 |
Deferred error from Completer passed through. For example, poisoned data received from the Completer of an access and returned to the Requester. |
0x18 |
Deferred error from Requester passed through. For example, poisoned data received from the Requester of an access and deferred to the Completer. |
0x19 |
Error recorded by PCIe error logs. Indicates that the component has recorded an error in a PCIe error log. This might be the PCIe device status register, AER, DVSEC, or other mechanisms defined by PCIe. |
0x1A |
Other internal error. For example, parity error on internal state of the component that is not covered by another primary error code. |
All other values are reserved.
The implemented set of valid values that this field can take is IMPLEMENTATION DEFINED. If any value not in this set is written to this register, then the value read back from this field is UNKNOWN.
This means that one or more bits of this field might be implemented as fixed read-as-zero or read-as-one values.
The reset behavior of this field is:
Accessing this field has the following behavior:
63 | 62 | 61 | 60 | 59 | 58 | 57 | 56 | 55 | 54 | 53 | 52 | 51 | 50 | 49 | 48 | 47 | 46 | 45 | 44 | 43 | 42 | 41 | 40 | 39 | 38 | 37 | 36 | 35 | 34 | 33 | 32 |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RES0 | |||||||||||||||||||||||||||||||
AV | V | UE | ER | OF | MV | CE | DE | PN | UET | RES0 | IERR | SERR |
Reserved, RES0.
Address Valid.
AV | Meaning |
---|---|
0b0 |
ERR<n>ADDR not valid. |
0b1 |
ERR<n>ADDR contains an address associated with the highest priority error recorded by this record. |
The reset behavior of this field is:
Accessing this field has the following behavior:
Reserved, RES0.
Status Register Valid.
V | Meaning |
---|---|
0b0 |
ERR<n>STATUS not valid. |
0b1 |
ERR<n>STATUS valid. At least one error has been recorded. |
The reset behavior of this field is:
Accessing this field has the following behavior:
Uncorrected Error.
UE | Meaning |
---|---|
0b0 |
No errors have been detected, or all detected errors have been either corrected or deferred. |
0b1 |
At least one detected error was not corrected and not deferred. |
When clearing ERR<n>STATUS.V to 0, if this field is nonzero, then Arm recommends that software write 1 to this field to clear this field to zero.
The reset behavior of this field is:
Accessing this field has the following behavior:
Error Reported.
ER | Meaning |
---|---|
0b0 |
No in-band error response (External abort) signaled to the Requester making the access or other transaction. |
0b1 | An in-band error response was signaled by the component to the Requester making the access or other transaction. This can be because any of the following are true:
|
If this field is nonzero, then Arm recommends that software write 1 to this field to clear this field to zero, when any of:
The reset behavior of this field is:
Accessing this field has the following behavior:
Error Reported.
ER | Meaning |
---|---|
0b0 |
No in-band error response (External abort) signaled to the Requester making the access or other transaction. |
0b1 | An in-band error response was signaled by the component to the Requester making the access or other transaction. This can be because any of the following are true:
|
If this field is nonzero, then Arm recommends that software write 1 to this field to clear this field to zero, when any of:
The reset behavior of this field is:
Accessing this field has the following behavior:
Reserved, RES0.
Overflow.
Indicates that multiple errors have been detected. This field is set to 1 when one of the following occurs:
It is IMPLEMENTATION DEFINED whether this field is set to 1 when one of the following occurs:
It is IMPLEMENTATION DEFINED whether this field is cleared to 0 when one of the following occurs:
The IMPLEMENTATION DEFINED clearing of this field might also depend on the value of the other error status fields.
If a Corrected error counter is implemented, then:
OF | Meaning |
---|---|
0b0 | If ERR<n>STATUS.UE == 1, then no error syndrome for an Uncorrected error has been discarded. If ERR<n>STATUS.UE == 0 and ERR<n>STATUS.DE == 1, then no error syndrome for a Deferred error has been discarded. If ERR<n>STATUS.UE == 0, ERR<n>STATUS.DE == 0, and a Corrected error counter is implemented, then the counter has not overflowed. If ERR<n>STATUS.UE == 0, ERR<n>STATUS.DE == 0, ERR<n>STATUS.CE != 0b00, and no Corrected error counter is implemented, then no error syndrome for a Corrected error has been discarded. Note This field might have been set to 1 when an error syndrome was discarded and later cleared to 0 when a higher priority syndrome was recorded. |
0b1 |
At least one error syndrome has been discarded or, if a Corrected error counter is implemented, it might have overflowed. |
When clearing ERR<n>STATUS.V to 0, if this field is nonzero, then Arm recommends that software write 1 to this field to clear this field to zero.
The reset behavior of this field is:
Accessing this field has the following behavior:
Miscellaneous Registers Valid.
MV | Meaning |
---|---|
0b0 |
ERR<n>MISC<m> not valid. |
0b1 |
The contents of the ERR<n>MISC<m> registers contain additional information for an error recorded by this record. |
If the ERR<n>MISC<m> registers can contain additional information for a previously recorded error, then the contents must be self-describing to software or a user. For example, certain fields might relate only to Corrected errors, and other fields only to the most recent error that was not discarded.
The reset behavior of this field is:
Accessing this field has the following behavior:
Reserved, RES0.
Corrected Error.
CE | Meaning |
---|---|
0b00 |
No errors were corrected. |
0b01 |
At least one transient error was corrected. |
0b10 |
At least one error was corrected. |
0b11 |
At least one persistent error was corrected. |
The mechanism by which a component or node detects whether a Corrected error is transient or persistent is IMPLEMENTATION DEFINED. If no such mechanism is implemented, then the node sets this field to 0b10 when a corrected error is recorded.
When clearing ERR<n>STATUS.V to 0, if this field is nonzero, then Arm recommends that software write ones to this field to clear this field to zero.
The reset behavior of this field is:
Accessing this field has the following behavior:
Deferred Error.
DE | Meaning |
---|---|
0b0 |
No errors were deferred. |
0b1 |
At least one error was not corrected and deferred. |
Support for deferring errors is IMPLEMENTATION DEFINED.
When clearing ERR<n>STATUS.V to 0, if this field is nonzero, then Arm recommends that software write 1 to this field to clear this field to zero.
The reset behavior of this field is:
Accessing this field has the following behavior:
Poison.
PN | Meaning |
---|---|
0b0 |
Uncorrected error or Deferred error recorded because a corrupt value was detected, for example, by an error detection code (EDC), or Corrected error recorded. |
0b1 |
Uncorrected error or Deferred error recorded because a poison value was detected. |
If this field is nonzero, then Arm recommends that software write 1 to this field to clear this field to zero, when any of:
The reset behavior of this field is:
Accessing this field has the following behavior:
Uncorrected Error Type. Describes the state of the component after detecting or consuming an Uncorrected error.
UET | Meaning |
---|---|
0b00 |
Uncorrected error, Uncontainable error (UC). |
0b01 |
Uncorrected error, Unrecoverable error (UEU). |
0b10 |
Uncorrected error, Latent or Restartable error (UEO). |
0b11 |
Uncorrected error, Signaled or Recoverable error (UER). |
UER can mean either Signaled or Recoverable error, and UEO can mean either Latent or Restartable error.
If this field is nonzero, then Arm recommends that software write ones to this field to clear this field to zero, when any of:
The reset behavior of this field is:
Accessing this field has the following behavior:
Reserved, RES0.
IMPLEMENTATION DEFINED error code. Used with any primary error code ERR<n>STATUS.SERR value. Further IMPLEMENTATION DEFINED information can be placed in the ERR<n>MISC<m> registers.
The implemented set of valid values that this field can take is IMPLEMENTATION DEFINED. If any value not in this set is written to this register, then the value read back from this field is UNKNOWN.
This means that one or more bits of this field might be implemented as fixed read-as-zero or read-as-one values.
The reset behavior of this field is:
Accessing this field has the following behavior:
Architecturally-defined primary error code. The primary error code might be used by a fault handling agent to triage an error without requiring device-specific code. For example, to count and threshold corrected errors in software, or generate a short log entry.
SERR | Meaning |
---|---|
0x00 |
No error. |
0x01 |
IMPLEMENTATION DEFINED error. |
0x02 |
Data value from (non-associative) internal memory. For example, ECC from on-chip SRAM or buffer. |
0x03 |
IMPLEMENTATION DEFINED pin. For example, nSEI pin. |
0x04 |
Assertion failure. For example, consistency failure. |
0x05 |
Error detected on internal data path. For example, parity on ALU result. |
0x06 |
Data value from associative memory. For example, ECC error on cache data. |
0x07 |
Address/control value from associative memory. For example, ECC error on cache tag. |
0x08 |
Data value from a TLB. For example, ECC error on TLB data. |
0x09 |
Address/control value from a TLB. For example, ECC error on TLB tag. |
0x0A |
Data value from producer. For example, parity error on write data bus. |
0x0B |
Address/control value from producer. For example, parity error on address bus. |
0x0C |
Data value from (non-associative) external memory. For example, ECC error in SDRAM. |
0x0D |
Illegal address (software fault). For example, access to unpopulated memory. |
0x0E |
Illegal access (software fault). For example, byte write to word register. |
0x0F |
Illegal state (software fault). For example, device not ready. |
0x10 |
Internal data register. For example, parity on a SIMD&FP register. For a PE, all general-purpose, stack pointer, SIMD&FP, SVE, and SME registers are data registers. |
0x11 |
Internal control register. For example, parity on a System register. For a PE, all registers other than general-purpose, stack pointer, SIMD&FP, SVE, and SME registers are control registers. |
0x12 |
Error response from Completer of access. For example, error response from cache write-back. |
0x13 |
External timeout. For example, timeout on interaction with another component. |
0x14 |
Internal timeout. For example, timeout on interface within the component. |
0x15 |
Deferred error from Completer not supported at Requester. For example, poisoned data received from the Completer of an access by a Requester that cannot defer the error further. |
0x16 |
Deferred error from Requester not supported at Completer. For example, poisoned data received from the Requester of an access by a Completer that cannot defer the error further. |
0x17 |
Deferred error from Completer passed through. For example, poisoned data received from the Completer of an access and returned to the Requester. |
0x18 |
Deferred error from Requester passed through. For example, poisoned data received from the Requester of an access and deferred to the Completer. |
0x19 |
Error recorded by PCIe error logs. Indicates that the component has recorded an error in a PCIe error log. This might be the PCIe device status register, AER, DVSEC, or other mechanisms defined by PCIe. |
0x1A |
Other internal error. For example, parity error on internal state of the component that is not covered by another primary error code. |
All other values are reserved.
The implemented set of valid values that this field can take is IMPLEMENTATION DEFINED. If any value not in this set is written to this register, then the value read back from this field is UNKNOWN.
This means that one or more bits of this field might be implemented as fixed read-as-zero or read-as-one values.
The reset behavior of this field is:
Accessing this field has the following behavior:
ERR<n>STATUS.{AV, V, UE, ER, OF, MV, CE, DE, PN, UET, CI} are write-one-to-clear (W1C) fields, meaning writes of zero are ignored, and a write of one or all-ones to the field clears the field to zero. ERR<n>STATUS.{IERR, SERR} are read/write (RW) fields, although the set of implemented valid values is IMPLEMENTATION DEFINED. See also ERR<n>PFGF.SYN.
After reading ERR<n>STATUS, software must clear the valid fields in the register to allow new errors to be recorded. However, between reading the register and clearing the valid fields, a new error might have overwritten the register. To prevent this error being lost by software, the register prevents updates to fields that might have been updated by a new error.
When RAS System Architecture v1.0 is implemented:
When RAS System Architecture v1.1 is implemented, a write to the register is ignored if all of:
Some of the fields in ERR<n>STATUS are also defined as UNKNOWN where certain combinations of ERR<n>STATUS.{V, DE, UE} are zero. The rules for writes to ERR<n>STATUS allow a node to implement such a field as a fixed read-only value.
For example, when RAS System Architecture v1.1 is implemented, a write to ERR<n>STATUS when ERR<n>STATUS.V is 1 results in either ERR<n>STATUS.V field being cleared to zero, or ERR<n>STATUS.V not changing. Since all fields in ERR<n>STATUS, other than ERR<n>STATUS.{AV, V, MV}, usually read as UNKNOWN values when ERR<n>STATUS.V is zero, this means those fields can be implemented as read-only if applicable.
To ensure correct and portable operation, when software is clearing the valid fields in the register to allow new errors to be recorded, Arm recommends that software performs the following sequence of operations in order:
Otherwise, these fields might not have the correct value when a new fault is recorded.
Component | Offset | Instance |
---|---|---|
RAS | 0x010 + (64 * n) | ERR<n>STATUS |
This interface is accessible as follows: