Defines which common architecturally-defined fault generation features are implemented.
This register is present only when error record n is implemented, the node that owns error record n implements the Common Fault Injection Model Extension and error record n is the first error record in the node. Otherwise, direct accesses to ERR<n>PFGF are RES0.
ERR<n>FR describes the features implemented by the node.
ERR<n>PFGF 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 | |||||||||||||||||||||||||||||||
RES0 | R | SYN | NA | RES0 | MV | AV | PN | ER | CI | CE | DE | UEO | UER | UEU | UC | OF |
Reserved, RES0.
Restartable. Support for Error Generation Counter restart mode.
The value of this field is an IMPLEMENTATION DEFINED choice of:
R | Meaning |
---|---|
0b0 |
The node does not support this feature. ERR<n>PFGCTL.R is RES0. |
0b1 |
Error Generation Counter restart mode is implemented and is controlled by ERR<n>PFGCTL.R. ERR<n>PFGCTL.R is a read/write field. |
Access to this field is RO.
Syndrome. Fault syndrome injection.
The value of this field is an IMPLEMENTATION DEFINED choice of:
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 is 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 is 0. |
If ERR<n>PFGF.SYN is 1 then 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.
Access to this field is RO.
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.
The value of this field is an IMPLEMENTATION DEFINED choice of:
NA | Meaning |
---|---|
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. |
Access to this field is RO.
Reserved, RES0.
Miscellaneous syndrome.
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 ERR<n>MISC<m> syndrome fields, if any, are updated by the node when an injected error is recorded. Some syndrome fields might always be updated by the node when an error, including an injected error, is recorded. For example, a corrected error counter might always be updated when any countable error, including a injected countable error, is recorded.
The value of this field is an IMPLEMENTATION DEFINED choice of:
MV | Meaning |
---|---|
0b0 | When an injected error is recorded, the node might update the ERR<n>MISC<m> registers:
If the node always sets ERR<n>STATUS.MV to 1 when recording an injected error then ERR<n>PFGCTL.MV might be RAO/WI. Otherwise ERR<n>PFGCTL.MV is RES0. |
0b1 | When an injected error is recorded, the node might update some, but not all ERR<n>MISC<m> syndrome fields:
ERR<n>MISC<m> syndrome fields that are not updated by the node are writable when ERR<n>STATUS.MV is 0. If the node always sets ERR<n>STATUS.MV to 1 when recording an injected error then ERR<n>PFGCTL.MV is RAO/WI. Otherwise ERR<n>PFGCTL.MV is a read/write field. |
If ERR<n>PFGF.MV is 1, software can write specific additional syndrome values into the ERR<n>MISC<m> registers when setting up a fault injection event. The permitted values that can be written to these registers are IMPLEMENTATION DEFINED.
Access to this field is RO.
Address syndrome. Defines whether software can control the address recorded in ERR<n>ADDR when an injected error is recorded.
The value of this field is an IMPLEMENTATION DEFINED choice of:
AV | Meaning |
---|---|
0b0 | When an injected error is recorded, the node might record an address in ERR<n>ADDR. If an address is recorded in ERR<n>ADDR, then ERR<n>STATUS.AV is set to 1. Otherwise, ERR<n>ADDR and ERR<n>STATUS.AV are unchanged. If the node always records an address and sets ERR<n>STATUS.AV to 1 when recording an injected error then ERR<n>PFGCTL.AV might be RAO/WI. Otherwise ERR<n>PFGCTL.AV is RES0. |
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 is 0. |
If ERR<n>PFGF.AV is 1 then software can write a specific address value into ERR<n>ADDR when setting up a fault injection event.
Access to this field is RO.
Poison flag. Describes how the fault generation feature of the node sets the ERR<n>STATUS.PN status flag.
The value of this field is an IMPLEMENTATION DEFINED choice of:
PN | Meaning |
---|---|
0b0 |
When an injected error is recorded, it is IMPLEMENTATION DEFINED whether the node sets ERR<n>STATUS.PN to 1. ERR<n>PFGCTL.PN is RES0. |
0b1 |
When an injected error is recorded, ERR<n>STATUS.PN is set to ERR<n>PFGCTL.PN. ERR<n>PFGCTL.PN is a read/write field. |
This behavior replaces the architecture-defined rules for setting the ERR<n>STATUS.PN bit.
Access to this field is RO.
Reserved, RAZ.
Error Reported flag. Describes how the fault generation feature of the node sets the ERR<n>STATUS.ER status flag.
The value of this field is an IMPLEMENTATION DEFINED choice of:
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 field. ERR<n>PFGCTL.ER is RES0. |
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. ERR<n>PFGCTL.ER is a read/write field. |
Access to this field is RO.
Reserved, RAZ.
Critical Error flag. Describes how the fault generation feature of the node sets the ERR<n>STATUS.CI status flag.
The value of this field is an IMPLEMENTATION DEFINED choice of:
CI | Meaning |
---|---|
0b0 |
When an injected error is recorded, it is IMPLEMENTATION DEFINED whether the node sets ERR<n>STATUS.CI to 1. ERR<n>PFGCTL.CI is RES0. |
0b1 |
When an injected error is recorded, ERR<n>STATUS.CI is set to ERR<n>PFGCTL.CI. ERR<n>PFGCTL.CI is a read/write field. |
This behavior replaces the architecture-defined rules for setting the ERR<n>STATUS.CI bit.
Access to this field is RO.
Reserved, RAZ.
Corrected Error generation. Describes the types of Corrected error that the fault generation feature of the node can generate.
The value of this field is an IMPLEMENTATION DEFINED choice of:
CE | Meaning |
---|---|
0b00 |
The fault generation feature of the node does not generate Corrected errors. ERR<n>PFGCTL.CE is RES0. |
0b01 |
The fault generation feature of the node allows generation of a non-specific Corrected error, that is, a Corrected error that is recorded by setting ERR<n>STATUS.CE to 0b10. ERR<n>PFGCTL.CE is a read/write field. The values 0b10 and 0b11 in ERR<n>PFGCTL.CE are reserved. |
0b11 |
The fault generation feature of the node allows generation of transient or persistent Corrected errors, that is, Corrected errors that are recorded by setting ERR<n>STATUS.CE to 0b01 or 0b11 respectively. ERR<n>PFGCTL.CE is a read/write field. The value 0b01 in ERR<n>PFGCTL.CE is reserved. |
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.
Access to this field is RO.
Reserved, RAZ.
Deferred Error generation. Describes whether the fault generation feature of the node can generate Deferred errors.
The value of this field is an IMPLEMENTATION DEFINED choice of:
DE | Meaning |
---|---|
0b0 |
The fault generation feature of the node does not generate Deferred errors. ERR<n>PFGCTL.DE is RES0. |
0b1 |
The fault generation feature of the node allows generation of Deferred errors. ERR<n>PFGCTL.DE is a read/write field. |
If ERR<n>FR.FRX is 1 then ERR<n>FR.DE indicates whether the node supports this type of error.
Access to this field is RO.
Reserved, RAZ.
Latent or Restartable Error generation. Describes whether the fault generation feature of the node can generate Latent or Restartable errors.
The value of this field is an IMPLEMENTATION DEFINED choice of:
UEO | Meaning |
---|---|
0b0 |
The fault generation feature of the node does not generate Latent or Restartable errors. ERR<n>PFGCTL.UEO is RES0. |
0b1 |
The fault generation feature of the node allows generation of Latent or Restartable errors. ERR<n>PFGCTL.UEO is a read/write field. |
If ERR<n>FR.FRX is 1 then ERR<n>FR.UEO indicates whether the node supports this type of error.
Access to this field is RO.
Reserved, RAZ.
Signaled or Recoverable Error generation. Describes whether the fault generation feature of the node can generate Signaled or Recoverable errors.
The value of this field is an IMPLEMENTATION DEFINED choice of:
UER | Meaning |
---|---|
0b0 |
The fault generation feature of the node does not generate Signaled or Recoverable errors. ERR<n>PFGCTL.UER is RES0. |
0b1 |
The fault generation feature of the node allows generation of Signaled or Recoverable errors. ERR<n>PFGCTL.UER is a read/write field. |
If ERR<n>FR.FRX is 1 then ERR<n>FR.UER indicates whether the node supports this type of error.
Access to this field is RO.
Reserved, RAZ.
Unrecoverable Error generation. Describes whether the fault generation feature of the node can generate Unrecoverable errors.
The value of this field is an IMPLEMENTATION DEFINED choice of:
UEU | Meaning |
---|---|
0b0 |
The fault generation feature of the node does not generate Unrecoverable errors. ERR<n>PFGCTL.UEU is RES0. |
0b1 |
The fault generation feature of the node allows generation of Unrecoverable errors. ERR<n>PFGCTL.UEU is a read/write field. |
If ERR<n>FR.FRX is 1 then ERR<n>FR.UEU indicates whether the node supports this type of error.
Access to this field is RO.
Reserved, RAZ.
Uncontainable Error generation. Describes whether the fault generation feature of the node can generate Uncontainable errors.
The value of this field is an IMPLEMENTATION DEFINED choice of:
UC | Meaning |
---|---|
0b0 |
The fault generation feature of the node does not generate Uncontainable errors. ERR<n>PFGCTL.UC is RES0. |
0b1 |
The fault generation feature of the node allows generation of Uncontainable errors. ERR<n>PFGCTL.UC is a read/write field. |
If ERR<n>FR.FRX is 1 then ERR<n>FR.UC indicates whether the node supports this type of error.
Access to this field is RO.
Reserved, RAZ.
Overflow flag. Describes how the fault generation feature of the node sets the ERR<n>STATUS.OF status flag.
The value of this field is an IMPLEMENTATION DEFINED choice of:
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 field. ERR<n>PFGCTL.OF is RES0. |
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. ERR<n>PFGCTL.OF is a read/write field. |
Access to this field is RO.
Reserved, RAZ.
Component | Offset | Instance |
---|---|---|
RAS | 0x800 + (64 * n) | ERR<n>PFGF |
Accesses on this interface are RO.