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
The ERR<n>PFGF bit assignments are:
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 |
RES0 | |||||||||||||||||||||||||||||||
RES0 | R | SYN | RES0 | MV | AV | PN | ER | CI | CE | DE | UEO | UER | UEU | UC | OF | ||||||||||||||||
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 |
Bits [63:31]
Reserved, RES0.
R, bit [30]
Restartable. Support for Error Generation Counter restart mode.
R | Meaning |
---|---|
0b0 |
The node does not support this feature. |
0b1 |
Feature controllable. |
SYN, bit [29]
Syndrome. Fault syndrome injection.
SYN | Meaning |
---|---|
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 == 0b0. |
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 == 0b0. |
If ERR<n>PFGF.SYN == 0b1, 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.
Bits [28: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.
MV | Meaning |
---|---|
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 0b1. |
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 == 0b0. |
If ERR<n>PFGF.MV == 0b1, 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.
AV | Meaning |
---|---|
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 == 0b0. |
If ERR<n>PFGF.AV == 0b1, software can write a specific value into ERR<n>ADDR when setting up a fault injection event.
PN, bit [10]
Poison flag. Describes how the fault generation feature of the node sets the ERR<n>STATUS.PN status flag.
PN | Meaning |
---|---|
0b0 |
When an injected error is recorded, it is IMPLEMENTATION DEFINED whether the node sets ERR<n>STATUS.PN to 0b1. |
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.
This bit reads-as-zero if the node does not support this flag.
ER, bit [9]
Error Reported flag. Describes how the fault generation feature of the node sets the ERR<n>STATUS.ER status flag.
ER | Meaning |
---|---|
0b0 |
When an injected error is recorded, the node sets ERR<n>STATUS.ER according to the architecture-defined rules for setting the ER bit. |
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. |
This bit reads-as-zero if the node does not support this flag.
CI, bit [8]
Critical Error flag. Describes how the fault generation feature of the node sets the ERR<n>STATUS.CI status flag.
CI | Meaning |
---|---|
0b0 |
When an injected error is recorded, it is IMPLEMENTATION DEFINED whether the node sets ERR<n>STATUS.CI to 0b1. |
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.
This bit reads-as-zero if the node does not support this flag.
CE, bits [7:6]
Corrected Error generation. Describes the types of Corrected Error that the fault generation feature of the node can generate.
CE | Meaning |
---|---|
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 0b1 then ERR<n>FR.CE indicates whether the node supports this type of error.
This field reads-as-zeros if the node does not support this type of error.
DE, bit [5]
Deferred Error generation. Describes whether the fault generation feature of the node can generate this type of error.
DE | Meaning |
---|---|
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 0b1 then ERR<n>FR.DE indicates whether the node supports this type of error.
This bit reads-as-zero if the node does not support this type of error.
UEO, bit [4]
Latent or Restartable Error generation. Describes whether the fault generation feature of the node can generate this type of error.
UEO | Meaning |
---|---|
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 0b1 then ERR<n>FR.UEO indicates whether the node supports this type of error.
This bit reads-as-zero if the node does not support this type of error.
UER, bit [3]
Signaled or Recoverable Error generation. Describes whether the fault generation feature of the node can generate this type of error.
UER | Meaning |
---|---|
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 0b1 then ERR<n>FR.UER indicates whether the node supports this type of error.
This bit reads-as-zero if the node does not support this type of error.
UEU, bit [2]
Unrecoverable Error generation. Describes whether the fault generation feature of the node can generate this type of error.
UEU | Meaning |
---|---|
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 0b1 then ERR<n>FR.UEU indicates whether the node supports this type of error.
This bit reads-as-zero if the node does not support this type of error.
UC, bit [1]
Uncontainable Error generation. Describes whether the fault generation feature of the node can generate this type of error.
UC | Meaning |
---|---|
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 0b1 then ERR<n>FR.UC indicates whether the node supports this type of error.
This bit reads-as-zero if the node does not support this type of error.
OF, bit [0]
Overflow flag. Describes how the fault generation feature of the node sets the ERR<n>STATUS.OF status flag.
OF | Meaning |
---|---|
0b0 |
When an injected error is recorded, the node sets ERR<n>STATUS.OF according to the architecture-defined rules for setting the OF bit. |
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. |
This bit reads-as-zero if the node does not support this flag.
Accessing the ERR<n>PFGF
ERR<n>PFGF can be accessed through the memory-mapped interfaces:
Component | Offset | Instance |
---|---|---|
RAS | 0x800 + (64 * n) | ERR<n>PFGF |
Accesses on this interface are RO.