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:

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

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:

6362616059585756555453525150494847464544434241403938373635343332
RES0Aff3
F0VURES0MTAff2Aff1Aff0
313029282726252423222120191817161514131211109876543210

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.

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

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

MTMeaning
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:

Aff2Meaning
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:

Aff1Meaning
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:

Aff0Meaning
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:

ComponentOffsetInstance
RAS0xFA8ERRDEVAFF

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.