armviz

ID_AA64AFR0_EL1

64-bitIdentification

Which architectural feature extensions are present. A bit here means the CPU implements an optional feature, and reading this is how code decides whether it may use one.

Field layout

—
31
27:26
24
23
21
20
19
17:16
15
13:12
9:8
7
6
4
3
1
0
byte 7
byte 6
byte 5
byte 4
byte 3
byte 2
byte 1
byte 0

Current value hover a field to locate it

B7
B6
B5
B4
B3
B2
B1
B0

Fields

BitsFieldBitsValueDescription
63:32—32Not assigned to a documented field. Values written here are reserved and should be treated as read-as-zero unless the architecture says otherwise.
31ECV[31:31]10x0

Enhanced counter virtualization.

30:28—3Not assigned to a documented field. Values written here are reserved and should be treated as read-as-zero unless the architecture says otherwise.
27:26MTE[27:26]20x0

Memory tagging extension.

25—1Not assigned to a documented field. Values written here are reserved and should be treated as read-as-zero unless the architecture says otherwise.
24RPRES[24:24]10x0

Register write suppression.

23BTI[23:23]10x0

Branch target identification.

22—1Not assigned to a documented field. Values written here are reserved and should be treated as read-as-zero unless the architecture says otherwise.
21SPE[21:21]10x0

Spectre-safe heap allocation.

20CSV2[20:20]10x0

Control flow protection.

19AFP[19:19]10x0

Authenticated indirect branches.

18—1Not assigned to a documented field. Values written here are reserved and should be treated as read-as-zero unless the architecture says otherwise.
17:16PAuth[17:16]20x0

Pointer authentication.

15EBF16[15:15]10x0

BFloat16 support.

14—1Not assigned to a documented field. Values written here are reserved and should be treated as read-as-zero unless the architecture says otherwise.
13:12TWF1[13:12]20x0

TST64 instruction.

11:10—2Not assigned to a documented field. Values written here are reserved and should be treated as read-as-zero unless the architecture says otherwise.
9:8TWF0[9:8]20x0

TST32 instruction.

7CSSC[7:7]10x0

Common short sequence compression.

6LPA[6:6]10x0

Larger page sizes: 16 KiB and 64 KiB granules. This bit is why a granule other than 4 KiB needs a v8.2 CPU.

5—1Not assigned to a documented field. Values written here are reserved and should be treated as read-as-zero unless the architecture says otherwise.
4RAND[4:4]10x0

NOP and hint space behaves as RES0.

3UAO[3:3]10x0

Imprecise abort at EL0 to EL2.

2—1Not assigned to a documented field. Values written here are reserved and should be treated as read-as-zero unless the architecture says otherwise.
1DIT[1:1]10x0

Data cache clean to the point of deep persistence.

0FG[0:0]10x0

Flagm.