The ERR<n>PFGF characteristics are:
Defines which common architecturally-defined fault generation features are implemented.
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.
ERR<n>PFGF is a 64-bit register.
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 |
Reserved, RES0.
Restartable. Support for Error Generation Counter restart mode.
R | Meaning |
---|---|
0b0 |
The node does not support this feature. |
0b1 |
Feature controllable. |
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.
Reserved, RES0.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Component | Offset | Instance |
---|---|---|
RAS | 0x800 + (64 * n) | ERR<n>PFGF |
Accesses on this interface are RO.
01/07/2020 15:57; 80324f0b9997bede489cc15ad1565345720bcd2a
Copyright © 2010-2020 Arm Limited or its affiliates. All rights reserved. This document is Non-Confidential.