← Home

ERR<n>STATUS: Error Record <n> Primary Status Register, n = 0 - 65534

Purpose

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:

Configuration

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.

Note

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)].

Attributes

ERR<n>STATUS is a 64-bit register.

Field descriptions

When RAS System Architecture v2 is implemented, ERR<n>FR.ED == 0b00 and ERR<n>FR.ERT == 0b01:

6362616059585756555453525150494847464544434241403938373635343332
313029282726252423222120191817161514131211109876543210
RES0
AVVRAZRES0MVRAZRES0RAZRES0IERRRES0

Bits [63:32]

Reserved, RES0.

AV, bit [31]

When error record n includes an address associated with an error:

Address Valid.

AVMeaning
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.



Otherwise:

Reserved, RES0.

V, bit [30]

Status Register Valid.

VMeaning
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.

Bit [29]

Reserved, RAZ.

Bits [28:27]

Reserved, RES0.

MV, bit [26]

When error record <n> includes additional information for an error:

Miscellaneous Registers Valid.

MVMeaning
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.

Note

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.



Otherwise:

Reserved, RES0.

Bits [25:23]

Reserved, RAZ.

Bits [22:20]

Reserved, RES0.

Bit [19]

Reserved, RAZ.

Bits [18:16]

Reserved, RES0.

IERR, bits [15:8]

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.

Note

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:

Bits [7:0]

Reserved, RES0.

When RAS System Architecture v2 is implemented, ERR<n>FR.ED == 0b11 and ERR<n>FR.ERT == 0b01:

6362616059585756555453525150494847464544434241403938373635343332
313029282726252423222120191817161514131211109876543210
RES0
RES0VERIRES0FHIRES0CRIRES0

Bits [63:31]

Reserved, RES0.

V, bit [30]

RAS agent error status.

VMeaning
0b0

RAS agent error status is not asserted.

0b1

RAS agent error status is asserted.

Access to this field is RO.

ERI, bit [29]

RAS agent Error Recovery Interrupt.

ERIMeaning
0b0

RAS agent error recovery interrupt is not asserted.

0b1

RAS agent error recovery interrupt is asserted.

Access to this field is RO.

Bits [28:25]

Reserved, RES0.

FHI, bit [24]

RAS agent Fault Handling Interrupt.

FHIMeaning
0b0

RAS agent fault handling interrupt is not asserted.

0b1

RAS agent fault handling interrupt is asserted.

Access to this field is RO.

Bits [23:20]

Reserved, RES0.

CRI, bit [19]

RAS agent criticial error interrupt.

CRIMeaning
0b0

RAS agent criticial error interrupt is not asserted.

0b1

RAS agent criticial error interrupt is asserted.

Access to this field is RO.

Bits [18:0]

Reserved, RES0.

When RAS System Architecture v1p1 is implemented:

6362616059585756555453525150494847464544434241403938373635343332
313029282726252423222120191817161514131211109876543210
RES0
AVVUEEROFMVCEDEPNUETCIRVRES0IERRSERR

Bits [63:32]

Reserved, RES0.

AV, bit [31]

When error record n includes an address associated with an error:

Address Valid.

AVMeaning
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.



Otherwise:

Reserved, RES0.

V, bit [30]

Status Register Valid.

VMeaning
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.

UE, bit [29]

Uncorrected Error.

UEMeaning
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:

ER, bit [28]

When in-band error responses can be returned for a Deferred error:

Error Reported.

ERMeaning
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:

Note

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:



When in-band error responses are never returned for a Deferred error:

Error Reported.

ERMeaning
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:

Note

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:



Otherwise:

Reserved, RES0.

OF, bit [27]

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:

OFMeaning
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:

MV, bit [26]

When error record <n> includes additional information for an error:

Miscellaneous Registers Valid.

MVMeaning
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.

Note

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.



Otherwise:

Reserved, RES0.

CE, bits [25:24]

Corrected Error.

CEMeaning
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:

DE, bit [23]

Deferred Error.

DEMeaning
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:

PN, bit [22]

Poison.

PNMeaning
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:

UET, bits [21:20]

Uncorrected Error Type. Describes the state of the component after detecting or consuming an Uncorrected error.

UETMeaning
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:

CI, bit [19]

Critical Error. Indicates whether a critical error condition has been recorded.

CIMeaning
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:

RV, bit [18]

When RAS System Architecture v2 is implemented:

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.

RVMeaning
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.



Otherwise:

Reserved, RES0.

Bits [17:16]

Reserved, RES0.

IERR, bits [15:8]

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.

Note

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:

SERR, bits [7:0]

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.

SERRMeaning
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.

Note

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:

Otherwise:

6362616059585756555453525150494847464544434241403938373635343332
313029282726252423222120191817161514131211109876543210
RES0
AVVUEEROFMVCEDEPNUETRES0IERRSERR

Bits [63:32]

Reserved, RES0.

AV, bit [31]

When error record n includes an address associated with an error:

Address Valid.

AVMeaning
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:



Otherwise:

Reserved, RES0.

V, bit [30]

Status Register Valid.

VMeaning
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:

UE, bit [29]

Uncorrected Error.

UEMeaning
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:

ER, bit [28]

When in-band error responses can be returned for a Deferred error:

Error Reported.

ERMeaning
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:



When in-band error responses are never returned for a Deferred error:

Error Reported.

ERMeaning
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:



Otherwise:

Reserved, RES0.

OF, bit [27]

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:

OFMeaning
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:

MV, bit [26]

When error record <n> includes additional information for an error:

Miscellaneous Registers Valid.

MVMeaning
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.

Note

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:



Otherwise:

Reserved, RES0.

CE, bits [25:24]

Corrected Error.

CEMeaning
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:

DE, bit [23]

Deferred Error.

DEMeaning
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:

PN, bit [22]

Poison.

PNMeaning
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:

UET, bits [21:20]

Uncorrected Error Type. Describes the state of the component after detecting or consuming an Uncorrected error.

UETMeaning
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:

Bits [19:16]

Reserved, RES0.

IERR, bits [15:8]

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.

Note

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:

SERR, bits [7:0]

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.

SERRMeaning
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.

Note

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:

Accessing ERR<n>STATUS

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:

  1. Read ERR<n>STATUS and determine which fields need to be cleared to zero.
  2. In a single write to ERR<n>STATUS:
  3. Read back ERR<n>STATUS after the write to confirm no new fault has been recorded.

Otherwise, these fields might not have the correct value when a new fault is recorded.

ERR<n>STATUS can be accessed through the memory-mapped interfaces:

ComponentOffsetInstance
RAS0x010 + (64 * n)ERR<n>STATUS

This interface is accessible as follows: