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

# ERRDEVAFF, Device Affinity Register

The ERRDEVAFF characteristics are:

## Purpose

For a group that has affinity with a single PE or cluster of PEs, ERRDEVAFF is a copy of MPIDR_EL1 or part of MPIDR_EL1:

- If the group of error records has affinity with a single PE, the affinity level is 0, ERRDEVAFF reads the same value as MPIDR_EL1, and ERRDEVAFF.F0V reads-as-one to indicate affinity level 0.
- If the group of error records has affinity with a cluster of PEs, the affinity level is 1, 2, or 3, parts of ERRDEVAFF reads the same value as parts of MPIDR_EL1, and the rest of ERRDEVAFF indicates the level.

For example, if the affinity level is 2 then all of the following are true:

- The group of error records has affinity with all PEs in the system that have the same value in MPIDR_EL1.{Aff3,Aff2}.
- ERRDEVAFF.{Aff3,Aff2} reads the same value as MPIDR_EL1.{Aff3,Aff2}.
- ERRDEVAFF.Aff1 reads as 0x80 and ERRDEVAFF.{Aff0,F0V} read-as-zero, to indicate affinity level 2.

## Configuration

Implementation of this register is OPTIONAL.

This register is present only when RAS is implemented. Otherwise, direct accesses to ERRDEVAFF are RES0.

Present only if a group has affinity with a PE or cluster of PEs, and otherwise RES0.

## Attributes

ERRDEVAFF is a 64-bit register.

## Field descriptions

The ERRDEVAFF 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 | Aff3
F0V | U | RES0 | MT | Aff2 | Aff1 | Aff0
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:40]

Reserved, RES0.

#### Aff3, bits [39:32]

Affinity level 3. The MPIDR_EL1.Aff3 field, viewed from the highest Exception level of the associated PE or PEs.

#### F0V, bit [31]

Indicates that the ERRDEVAFF.Aff0 field is valid.

F0V | Meaning
--- | ---
0b0 | ERRDEVAFF.Aff0 is not valid, and the PE affinity level is 1, 2 or 3.
0b1 | ERRDEVAFF.Aff0 is valid, and the PE affinity level is 0.

#### U, bit [30]

Uniprocessor. The MPIDR_EL1.U bit viewed from the highest Exception level of the associated PE.

U | Meaning
--- | ---
0b0 | The PE is part of a multiprocessor system.
0b1 | The PE is part of a uniprocessor system.

If ERRDEVAFF.Aff0 is not valid, this bit is not valid and reads as UNKNOWN.

#### Bits [29:25]

Reserved, RES0.

#### MT, bit [24]

Multithreaded. The MPIDR_EL1.MT bit viewed from the highest Exception level of the associated PE.

MT | Meaning
--- | ---
0b0 | Performance of PEs at the lowest affinity level is largely independent.
0b1 | Performance of PEs at the lowest affinity level is very interdependent.

If ERRDEVAFF.Aff0 is not valid, this bit is not valid and reads as UNKNOWN.

#### Aff2, bits [23:16]

Affinity level 2.

When the PE affinity level is 0, 1, or 2, this field is the MPIDR_EL1.Aff2 field viewed from the highest Exception level of the associated PE or PEs.

When the PE affinity level is 3, this field indicates that ERRDEVAFF.Aff3 field is valid, and the following values are defined:

Aff2 | Meaning
--- | ---
0x80 | ERRDEVAFF.Aff3 is valid, and the PE affinity level is 3.

This field reads as 0x80.

All other values are reserved.

#### Aff1, bits [15:8]

Affinity level 1.

When the PE affinity level is 0 or 1, this field is the MPIDR_EL1.Aff1 field viewed from the highest Exception level of the associated PE or PEs.

When the PE affinity level is 2 or 3, this field indicates that ERRDEVAFF.Aff2 is valid, and the following values are defined:

Aff1 | Meaning
--- | ---
0x00 | ERRDEVAFF.Aff2 is not valid, and the PE affinity level is 3.
0x80 | ERRDEVAFF.Aff2 is valid, and the PE affinity level is 2.

All other values are reserved.

#### Aff0, bits [7:0]

Affinity level 0.

When the PE affinity level is 0, this field is the MPIDR_EL1.Aff0 field viewed from the highest Exception level of the associated PE or PEs.

When the PE affinity level is 1, 2 or 3, this field indicates that ERRDEVAFF.Aff1 is valid, and the following values are defined:

Aff0 | Meaning
--- | ---
0x00 | ERRDEVAFF.Aff1 is not valid, and the PE affinity level is 2 or 3.
0x80 | ERRDEVAFF.Aff1 is valid, and the PE affinity level is 1.

All other values are reserved.

## Accessing the ERRDEVAFF

#### ERRDEVAFF can be accessed through the memory-mapped interfaces:

Component | Offset | Instance
--- | --- | ---
RAS | 0xFA8 | ERRDEVAFF

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

27/03/2019 21:59; e5e4db499bf9867a4b93324c4dbac985d3da9376

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