The ERR<n>PFGF characteristics are:
Defines which common architecturally-defined fault generation features are implemented.
This register is present only when ARMv8.4-RAS is implemented. Otherwise, direct accesses to ERR<n>PFGF are RES0.
Present only when the RAS Common Fault Injection Model Extension is implemented by this node so that ERR<n>FR.INJ != 0b00, error record <n> is implemented, and error record <n> is the first error record owned by a node. Otherwise, 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 == 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. |
If this bit is 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.
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>, 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 must be writable when ERR<n>STATUS.MV is set to 0. |
If this bit is 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.
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:
|
If this bit is 1, 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 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.
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 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.
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.
This bit reads-as-zero 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. |
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. |
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. |
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. |
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. |
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 + 64n | ERR<n>PFGF |
Access on this interface is RO.
27/03/2019 21:59; e5e4db499bf9867a4b93324c4dbac985d3da9376
Copyright © 2010-2019 Arm Limited or its affiliates. All rights reserved. This document is Non-Confidential.