AArch32 Registers | AArch64 Registers | AArch32 Instructions | AArch64 Instructions | Index by Encoding | External Registers | External Registers by Offset | Registers by Functional Group | Proprietary Notice

# 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 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.

## 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 == 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 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.

#### 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>, 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 node does not update any fields in ERR<n>MISC<m> and sets ERR<n>STATUS.MV to ERR<n>PFGCTL.MV. The node records some syndrome in ERR<n>MISC<m> and sets ERR<n>STATUS.MV to 1. ERR<n>PGFCTL.MV is RAO. The syndrome fields that the node does not update are unchanged and must be writable when ERR<n>STATUS.MV is set to 0.

Note

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.

#### 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: Sets ERR<n>STATUS.AV to ERR<n>PFGCTL.AV. Sets ERR<n>STATUS.AV to 1. ERR<n>PFGCTL.AV is RAO. ERR<n>ADDR must be writable when ERR<n>STATUS.AV is set to 0.

Note

If this bit is 1, 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 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.

#### 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 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.

#### 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.

This bit reads-as-zero 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.

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.

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.

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.

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.

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 + 64n | ERR<n>PFGF

Access on this interface is RO.

AArch32 Registers | AArch64 Registers | AArch32 Instructions | AArch64 Instructions | Index by Encoding | External Registers | External Registers by Offset | Registers by Functional Group | Proprietary Notice

15/04/2019 16:47; 8c23526ba8a13a72aada4137daf3e3977b49036e

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