ERR<n>PFGF, Pseudo-fault Generation Feature Register, n = 0 - 65534

The ERR<n>PFGF characteristics are:

Purpose

Defines which common architecturally-defined fault generation features are implemented.

Configuration

This register is present only when error record <n> is implemented, the node implements the RAS Common Fault Injection Model Extension (ERR<n>FR.INJ != 0b00) and error record <n> is the first error record owned by a node. Otherwise, direct accesses to ERR<n>PFGF are RES0.

ERR<n>FR describes the features implemented by the node.

Attributes

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

Field descriptions

6362616059585756555453525150494847464544434241403938373635343332
313029282726252423222120191817161514131211109876543210
RES0
RES0RSYNNARES0MVAVPNERCICEDEUEOUERUEUUCOF

Bits [63:31]

Reserved, RES0.

R, bit [30]

Restartable. Support for Error Generation Counter restart mode.

RMeaning
0b0

The node does not support this feature.

0b1

Feature controllable.

SYN, bit [29]

Syndrome. Fault syndrome injection.

SYNMeaning
0b0

When an injected error is recorded, the node sets ERR<n>STATUS.{IERR, SERR} to IMPLEMENTATION DEFINED values. ERR<n>STATUS.{IERR, SERR} are UNKNOWN when ERR<n>STATUS.V == 0.

0b1

When an injected error is recorded, the node does not update the ERR<n>STATUS.{IERR, SERR} fields. ERR<n>STATUS.{IERR, SERR} are writable when ERR<n>STATUS.V == 0.

Note

If ERR<n>PFGF.SYN == 1, software can write specific values into the ERR<n>STATUS.{IERR, SERR} fields when setting up a fault injection event. The sets of values that can be written to these fields is IMPLEMENTATION DEFINED.

NA, bit [28]

No access required. Defines whether this component fakes detection of the error on an access to the component or spontaneously in the fault injection state.

NAMeaning
0b0

The component fakes detection of the error on an access to the component.

0b1

The component fakes detection of the error spontaneously in the fault injection state.

Bits [27:13]

Reserved, RES0.

MV, bit [12]

Miscellaneous syndrome.

Additional syndrome injection. Defines whether software can control all or part of the syndrome recorded in the ERR<n>MISC<m> registers when an injected error is recorded.

It is IMPLEMENTATION DEFINED which syndrome fields in ERR<n>MISC<m> this refers to, as some fields might always be recorded by an error. For example, a Corrected Error counter.

MVMeaning
0b0

When an injected error is recorded, the node might record IMPLEMENTATION DEFINED additional syndrome in ERR<n>MISC<m>. If any syndrome is recorded in ERR<n>MISC<m>, then ERR<n>STATUS.MV is set to 1.

0b1

When an injected error is recorded, the node does not update all the syndrome fields in the ERR<n>MISC<m> and does one of:

The syndrome fields that the node does not update are unchanged and are writable when ERR<n>STATUS.MV == 0.

Note

If ERR<n>PFGF.MV == 1, software can write specific values into the ERR<n>MISC<m> registers when setting up a fault injection event. The values that can be written to these registers are IMPLEMENTATION DEFINED.

AV, bit [11]

Address syndrome. Address syndrome injection.

AVMeaning
0b0

When an injected error is recorded, the node either sets ERR<n>ADDR and ERR<n>STATUS.AV for the access, or leaves these unchanged.

0b1

When an injected error is recorded, the node does not update ERR<n>ADDR and does one of:

ERR<n>ADDR is writable when ERR<n>STATUS.AV == 0.

Note

If ERR<n>PFGF.AV == 1, software can write a specific value into ERR<n>ADDR when setting up a fault injection event.

PN, bit [10]
When the node supports this flag:

Poison flag. Describes how the fault generation feature of the node sets the ERR<n>STATUS.PN status flag.

PNMeaning
0b0

When an injected error is recorded, it is IMPLEMENTATION DEFINED whether the node sets ERR<n>STATUS.PN to 1.

0b1

When an injected error is recorded, ERR<n>STATUS.PN is set to ERR<n>PFGCTL.PN.

This behavior replaces the architecture-defined rules for setting the PN bit.


Otherwise:

Reserved, RAZ.

ER, bit [9]
When the node supports this flag:

Error Reported flag. Describes how the fault generation feature of the node sets the ERR<n>STATUS.ER status flag.

ERMeaning
0b0

When an injected error is recorded, the node sets ERR<n>STATUS.ER according to the architecture-defined rules for setting the ER field.

0b1

When an injected error is recorded, ERR<n>STATUS.ER is set to ERR<n>PFGCTL.ER. This behavior replaces the architecture-defined rules for setting the ER bit.


Otherwise:

Reserved, RAZ.

CI, bit [8]
When the node supports this flag:

Critical Error flag. Describes how the fault generation feature of the node sets the ERR<n>STATUS.CI status flag.

CIMeaning
0b0

When an injected error is recorded, it is IMPLEMENTATION DEFINED whether the node sets ERR<n>STATUS.CI to 1.

0b1

When an injected error is recorded, ERR<n>STATUS.CI is set to ERR<n>PFGCTL.CI.

This behavior replaces the architecture-defined rules for setting the CI bit.


Otherwise:

Reserved, RAZ.

CE, bits [7:6]
When the node supports this type of error:

Corrected Error generation. Describes the types of Corrected Error that the fault generation feature of the node can generate.

CEMeaning
0b00

The fault generation feature of the node cannot generate this type of error.

0b01

The fault generation feature of the node allows generation of a non-specific Corrected Error, that is, a Corrected Error that is recorded as ERR<n>STATUS.CE == 0b10.

0b11

The fault generation feature of the node allows generation of transient or persistent Corrected Errors, that is, Corrected Errors that are recorded as ERR<n>STATUS.CE == 0b01 and 0b11.

All other values are reserved.

If ERR<n>FR.FRX is 1, then ERR<n>FR.CE indicates whether the node supports this type of error.


Otherwise:

Reserved, RAZ.

DE, bit [5]
When the node supports this type of error:

Deferred Error generation. Describes whether the fault generation feature of the node can generate this type of error.

DEMeaning
0b0

The fault generation feature of the node cannot generate this type of error.

0b1

The fault generation feature of the node allows generation of this type of error.

If ERR<n>FR.FRX is 1, then ERR<n>FR.DE indicates whether the node supports this type of error.


Otherwise:

Reserved, RAZ.

UEO, bit [4]
When the node supports this type of error:

Latent or Restartable Error generation. Describes whether the fault generation feature of the node can generate this type of error.

UEOMeaning
0b0

The fault generation feature of the node cannot generate this type of error.

0b1

The fault generation feature of the node allows generation of this type of error.

If ERR<n>FR.FRX is 1, then ERR<n>FR.UEO indicates whether the node supports this type of error.


Otherwise:

Reserved, RAZ.

UER, bit [3]
When the node supports this type of error:

Signaled or Recoverable Error generation. Describes whether the fault generation feature of the node can generate this type of error.

UERMeaning
0b0

The fault generation feature of the node cannot generate this type of error.

0b1

The fault generation feature of the node allows generation of this type of error.

If ERR<n>FR.FRX is 1, then ERR<n>FR.UER indicates whether the node supports this type of error.


Otherwise:

Reserved, RAZ.

UEU, bit [2]
When the node supports this type of error:

Unrecoverable Error generation. Describes whether the fault generation feature of the node can generate this type of error.

UEUMeaning
0b0

The fault generation feature of the node cannot generate this type of error.

0b1

The fault generation feature of the node allows generation of this type of error.

If ERR<n>FR.FRX is 1, then ERR<n>FR.UEU indicates whether the node supports this type of error.


Otherwise:

Reserved, RAZ.

UC, bit [1]
When the node supports this type of error:

Uncontainable Error generation. Describes whether the fault generation feature of the node can generate this type of error.

UCMeaning
0b0

The fault generation feature of the node cannot generate this type of error.

0b1

The fault generation feature of the node allows generation of this type of error.

If ERR<n>FR.FRX is 1, then ERR<n>FR.UC indicates whether the node supports this type of error.


Otherwise:

Reserved, RAZ.

OF, bit [0]
When the node supports this flag:

Overflow flag. Describes how the fault generation feature of the node sets the ERR<n>STATUS.OF status flag.

OFMeaning
0b0

When an injected error is recorded, the node sets ERR<n>STATUS.OF according to the architecture-defined rules for setting the OF field.

0b1

When an injected error is recorded, ERR<n>STATUS.OF is set to ERR<n>PFGCTL.OF. This behavior replaces the architecture-defined rules for setting the OF bit.


Otherwise:

Reserved, RAZ.

Accessing ERR<n>PFGF

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

ComponentOffsetInstance
RAS0x800 + (64 * n)ERR<n>PFGF

Accesses on this interface are RO.


30/06/2021 09:39; 4f5dd962f4e34e1ac282f76da4d6e7fc4cab087e

Copyright © 2010-2021 Arm Limited or its affiliates. All rights reserved. This document is Non-Confidential.