aarch64: Update system register gating
Historically we have been inconsistent and overly restrictive in our
choice of features to gate system register accesses. (Originally this
gating was always applied, but now it is disabled unless the
--menable-sysreg-checking option is specified).
This patch updates these constraints, following the principle that we
should only reject a system register access if it requires some
architecture feature or version whose corresponding command line
extension has not been enabled.
The most common change in this patch concerns system registers that
were:
- part of a feature FEAT_X with no corresponding command line extension;
- introduced in a newer architecture version ArmvX.Z;
- permitted to be implemented from an earlier version ArmvX.Y.
Previously these system registers tended to be gated on ArmvX.Z or left
ungated, but following the above principle they are now gated on ArmvX.Y
instead.
diff --git a/gas/testsuite/gas/aarch64/sysreg/armv8_9-a-sysregs-bad.d b/gas/testsuite/gas/aarch64/sysreg/armv8_9-a-sysregs-bad.d
index 862d474..3091288 100644
--- a/gas/testsuite/gas/aarch64/sysreg/armv8_9-a-sysregs-bad.d
+++ b/gas/testsuite/gas/aarch64/sysreg/armv8_9-a-sysregs-bad.d
@@ -1,3 +1,3 @@
#source: armv8_9-a-sysregs.s
-#as: -menable-sysreg-checking -march=armv8.8-a -I$srcdir/$subdir --no-info
+#as: -menable-sysreg-checking -march=armv8.7-a -I$srcdir/$subdir --no-info
#error_output: armv8_9-a-sysregs-bad.l
diff --git a/gas/testsuite/gas/aarch64/sysreg/armv8_9-a-sysregs-bad.l b/gas/testsuite/gas/aarch64/sysreg/armv8_9-a-sysregs-bad.l
index 5df4f46..0ba6819 100644
--- a/gas/testsuite/gas/aarch64/sysreg/armv8_9-a-sysregs-bad.l
+++ b/gas/testsuite/gas/aarch64/sysreg/armv8_9-a-sysregs-bad.l
@@ -2,14 +2,6 @@
.*: Error: selected processor does not support system register name 'pmsdsfr_el1'
.*: Error: selected processor does not support system register name 'pmsdsfr_el1'
.*: Error: selected processor does not support system register name 'erxgsr_el1'
-.*: Error: selected processor does not support system register name 'sctlr2_el1'
-.*: Error: selected processor does not support system register name 'sctlr2_el1'
-.*: Error: selected processor does not support system register name 'sctlr2_el12'
-.*: Error: selected processor does not support system register name 'sctlr2_el12'
-.*: Error: selected processor does not support system register name 'sctlr2_el2'
-.*: Error: selected processor does not support system register name 'sctlr2_el2'
-.*: Error: selected processor does not support system register name 'sctlr2_el3'
-.*: Error: selected processor does not support system register name 'sctlr2_el3'
.*: Error: selected processor does not support system register name 'hdfgrtr2_el2'
.*: Error: selected processor does not support system register name 'hdfgrtr2_el2'
.*: Error: selected processor does not support system register name 'hdfgwtr2_el2'
@@ -71,12 +63,6 @@
.*: Error: selected processor does not support system register name 'por_el3'
.*: Error: selected processor does not support system register name 's2por_el1'
.*: Error: selected processor does not support system register name 's2por_el1'
-.*: Error: selected processor does not support system register name 'tcr2_el1'
-.*: Error: selected processor does not support system register name 'tcr2_el1'
-.*: Error: selected processor does not support system register name 'tcr2_el12'
-.*: Error: selected processor does not support system register name 'tcr2_el12'
-.*: Error: selected processor does not support system register name 'tcr2_el2'
-.*: Error: selected processor does not support system register name 'tcr2_el2'
.*: Error: selected processor does not support system register name 'mdselr_el1'
.*: Error: selected processor does not support system register name 'mdselr_el1'
.*: Error: selected processor does not support system register name 'pmuacr_el1'
@@ -283,4 +269,4 @@
.*: Error: selected processor does not support system register name 'pmecr_el1'
.*: Error: selected processor does not support system register name 'pmecr_el1'
.*: Error: selected processor does not support system register name 'pmiar_el1'
-.*: Error: selected processor does not support system register name 'pmiar_el1'
\ No newline at end of file
+.*: Error: selected processor does not support system register name 'pmiar_el1'
diff --git a/gas/testsuite/gas/aarch64/sysreg/armv8_9-a-sysregs.d b/gas/testsuite/gas/aarch64/sysreg/armv8_9-a-sysregs.d
index 91e77bc..3e69aad 100644
--- a/gas/testsuite/gas/aarch64/sysreg/armv8_9-a-sysregs.d
+++ b/gas/testsuite/gas/aarch64/sysreg/armv8_9-a-sysregs.d
@@ -1,5 +1,5 @@
#source: armv8_9-a-sysregs.s
-#as: -menable-sysreg-checking -march=armv8.9-a -I$srcdir/$subdir
+#as: -menable-sysreg-checking -march=armv9.4-a+profile -I$srcdir/$subdir
#objdump: -dr
.*: file format .*
diff --git a/gas/testsuite/gas/aarch64/sysreg/armv9_5-a-sysregs-archv9_4-unsupported.d b/gas/testsuite/gas/aarch64/sysreg/armv9_5-a-sysregs-archv9_4-unsupported.d
index 61054ae..30180db 100644
--- a/gas/testsuite/gas/aarch64/sysreg/armv9_5-a-sysregs-archv9_4-unsupported.d
+++ b/gas/testsuite/gas/aarch64/sysreg/armv9_5-a-sysregs-archv9_4-unsupported.d
@@ -1,3 +1,3 @@
#source: armv9_5-a-sysregs.s
-#as: -menable-sysreg-checking -march=armv9.4-a -I$srcdir/$subdir
+#as: -menable-sysreg-checking -march=armv9.3-a -I$srcdir/$subdir
#error_output: armv9_5-a-sysregs-archv9_4-unsupported.l
diff --git a/gas/testsuite/gas/aarch64/sysreg/illegal-sysreg-4.l b/gas/testsuite/gas/aarch64/sysreg/illegal-sysreg-4.l
index 590f20e..9ac8746 100644
--- a/gas/testsuite/gas/aarch64/sysreg/illegal-sysreg-4.l
+++ b/gas/testsuite/gas/aarch64/sysreg/illegal-sysreg-4.l
@@ -8,12 +8,6 @@
[^:]*:[0-9]+: Error: selected processor does not support system register name 'cvadp'
[^:]*:[0-9]+: Error: selected processor does not support system register name 'rndr'
[^:]*:[0-9]+: Error: selected processor does not support system register name 'rndrrs'
-[^:]*:[0-9]+: Error: selected processor does not support system register name 'scxtnum_el0'
-[^:]*:[0-9]+: Error: selected processor does not support system register name 'scxtnum_el1'
-[^:]*:[0-9]+: Error: selected processor does not support system register name 'scxtnum_el2'
-[^:]*:[0-9]+: Error: selected processor does not support system register name 'scxtnum_el3'
-[^:]*:[0-9]+: Error: selected processor does not support system register name 'scxtnum_el12'
-[^:]*:[0-9]+: Error: selected processor does not support system register name 'id_pfr2_el1'
[^:]*:[0-9]+: Error: selected processor does not support system register name 'tco'
[^:]*:[0-9]+: Error: selected processor does not support system register name 'tco'
[^:]*:[0-9]+: Error: selected processor does not support system register name 'tfsre0_el1'
diff --git a/gas/testsuite/gas/aarch64/sysreg/illegal-sysreg-8.s b/gas/testsuite/gas/aarch64/sysreg/illegal-sysreg-8.s
index 0ce61dd..1a526a2 100644
--- a/gas/testsuite/gas/aarch64/sysreg/illegal-sysreg-8.s
+++ b/gas/testsuite/gas/aarch64/sysreg/illegal-sysreg-8.s
@@ -13,20 +13,19 @@
roreg lorid_el1
- .arch armv8.2-a
+ .arch armv8.1-a
roreg ccsidr2_el1
+
+ .arch armv8.2-a
+
rwreg rcwmask_el1
rwreg rcwsmask_el1
- .arch armv8.3-a
-
rwreg trfcr_el1
roreg pmmir_el1
rwreg trfcr_el2
-
rwreg trfcr_el12
-
rwreg amcr_el0
roreg amcfgr_el0
roreg amcgcr_el0
@@ -76,7 +75,7 @@
rwreg amevtyper114_el0
rwreg amevtyper115_el0
- .arch armv8.5-a
+ .arch armv8.4-a
roreg amcg1idr_el0
roreg cntpctss_el0
@@ -121,7 +120,7 @@
rwreg amevcntvoff115_el2
rwreg cntpoff_el2
- .arch armv8.6-a
+ .arch armv8.5-a+profile
rwreg pmsnevfr_el1
rwreg hcrx_el2
diff --git a/gas/testsuite/gas/aarch64/sysreg/sme-sysreg.d b/gas/testsuite/gas/aarch64/sysreg/sme-sysreg.d
index f51c56e..daa273e 100644
--- a/gas/testsuite/gas/aarch64/sysreg/sme-sysreg.d
+++ b/gas/testsuite/gas/aarch64/sysreg/sme-sysreg.d
@@ -1,5 +1,5 @@
#name: SME extension (system registers)
-#as: -menable-sysreg-checking -march=armv8-a+sme
+#as: -menable-sysreg-checking -march=armv8.2-a+sme
#objdump: -dr
.*: file format .*
diff --git a/gas/testsuite/gas/aarch64/sysreg/sve-sysreg-invalid.l b/gas/testsuite/gas/aarch64/sysreg/sve-sysreg-invalid.l
index 0eaefe1..1e553d7 100644
--- a/gas/testsuite/gas/aarch64/sysreg/sve-sysreg-invalid.l
+++ b/gas/testsuite/gas/aarch64/sysreg/sve-sysreg-invalid.l
@@ -1,6 +1,4 @@
.*: Assembler messages:
-.*:1: Error: selected processor does not support system register name 'id_aa64zfr0_el1'
-.*:2: Error: selected processor does not support system register name 'id_aa64zfr0_el1'
.*:4: Error: selected processor does not support system register name 'zcr_el1'
.*:5: Error: selected processor does not support system register name 'zcr_el1'
.*:6: Error: selected processor does not support system register name 'zcr_el1'
diff --git a/gas/testsuite/gas/aarch64/sysreg/sysreg-8.s b/gas/testsuite/gas/aarch64/sysreg/sysreg-8.s
index 0cf1178..8dfb2dc 100644
--- a/gas/testsuite/gas/aarch64/sysreg/sysreg-8.s
+++ b/gas/testsuite/gas/aarch64/sysreg/sysreg-8.s
@@ -172,7 +172,7 @@
rw_sys_reg amevcntvoff115_el2
rw_sys_reg cntpoff_el2
- .arch armv8.7-a
+ .arch armv8.7-a+profile
rw_sys_reg pmsnevfr_el1
rw_sys_reg hcrx_el2
diff --git a/gas/testsuite/gas/aarch64/sysreg/sysregs_with_no_restrictions-bad.l b/gas/testsuite/gas/aarch64/sysreg/sysregs_with_no_restrictions-bad.l
index 415c8a8..fce2307 100644
--- a/gas/testsuite/gas/aarch64/sysreg/sysregs_with_no_restrictions-bad.l
+++ b/gas/testsuite/gas/aarch64/sysreg/sysregs_with_no_restrictions-bad.l
@@ -1,10 +1,6 @@
.*: Assembler messages:
.*: Error: selected processor does not support system register name 'mpuir_el1'
.*: Info: macro invoked from here
-.*: Error: selected processor does not support system register name 'afsr0_el12'
-.*: Info: macro invoked from here
-.*: Error: selected processor does not support system register name 'afsr0_el12'
-.*: Info: macro invoked from here
.*: Error: selected processor does not support PSTATE field name 'uao'
.*: Info: macro invoked from here
.*: Error: selected processor does not support system register name 'uao'
@@ -21,12 +17,6 @@
.*: Info: macro invoked from here
.*: Error: selected processor does not support system register name 'vsttbr_el2'
.*: Info: macro invoked from here
-.*: Error: selected processor does not support system register name 'scxtnum_el0'
-.*: Info: macro invoked from here
-.*: Error: selected processor does not support system register name 'scxtnum_el0'
-.*: Info: macro invoked from here
-.*: Error: selected processor does not support system register name 'id_pfr2_el1'
-.*: Info: macro invoked from here
.*: Error: selected processor does not support system register name 'amcg1idr_el0'
.*: Info: macro invoked from here
.*: Error: selected processor does not support system register name 'hcrx_el2'
@@ -83,18 +73,10 @@
.*: Info: macro invoked from here
.*: Error: selected processor does not support system register name 's2por_el1'
.*: Info: macro invoked from here
-.*: Error: selected processor does not support system register name 'sctlr2_el1'
-.*: Info: macro invoked from here
-.*: Error: selected processor does not support system register name 'sctlr2_el1'
-.*: Info: macro invoked from here
.*: Error: selected processor does not support system register name 'spmaccessr_el1'
.*: Info: macro invoked from here
.*: Error: selected processor does not support system register name 'spmaccessr_el1'
.*: Info: macro invoked from here
-.*: Error: selected processor does not support system register name 'tcr2_el1'
-.*: Info: macro invoked from here
-.*: Error: selected processor does not support system register name 'tcr2_el1'
-.*: Info: macro invoked from here
.*: Error: selected processor does not support system register name 'amair2_el1'
.*: Info: macro invoked from here
.*: Error: selected processor does not support system register name 'amair2_el1'
@@ -125,8 +107,6 @@
.*: Info: macro invoked from here
.*: Error: selected processor does not support system register name 'fpmr'
.*: Info: macro invoked from here
-.*: Error: selected processor does not support system register name 'id_aa64zfr0_el1'
-.*: Info: macro invoked from here
.*: Error: selected processor does not support system register name 'lorc_el1'
.*: Info: macro invoked from here
.*: Error: selected processor does not support system register name 'lorc_el1'
@@ -137,8 +117,6 @@
.*: Info: macro invoked from here
.*: Error: selected processor does not support system register name 'gcspr_el0'
.*: Info: macro invoked from here
-.*: Error: selected processor does not support system register name 'id_aa64smfr0_el1'
-.*: Info: macro invoked from here
.*: Error: selected processor does not support system register name 'trcitecr_el1'
.*: Info: macro invoked from here
.*: Error: selected processor does not support system register name 'trcitecr_el1'
@@ -165,7 +143,3 @@
.*: Info: macro invoked from here
.*: Error: selected processor does not support system register name 'rcwmask_el1'
.*: Info: macro invoked from here
-.*: Error: selected processor does not support system register name 'ttbr1_el2'
-.*: Info: macro invoked from here
-.*: Error: selected processor does not support system register name 'ttbr1_el2'
-.*: Info: macro invoked from here
diff --git a/gas/testsuite/gas/aarch64/sysreg/sysregs_with_restrictions.s b/gas/testsuite/gas/aarch64/sysreg/sysregs_with_restrictions.s
index 7f95777..3ad53e9 100644
--- a/gas/testsuite/gas/aarch64/sysreg/sysregs_with_restrictions.s
+++ b/gas/testsuite/gas/aarch64/sysreg/sysregs_with_restrictions.s
@@ -29,7 +29,7 @@
.arch armv8.8-a
rw_sys_reg allint // V8_8A
- .arch armv8.9-a
+ .arch armv8.9-a+profile
rw_sys_reg pfar_el1 // PFAR
rw_sys_reg pir_el1 // S1PIE
rw_sys_reg pmecr_el1 // SEBEP
diff --git a/opcodes/aarch64-sys-regs.def b/opcodes/aarch64-sys-regs.def
index 47713e6..51aab23 100644
--- a/opcodes/aarch64-sys-regs.def
+++ b/opcodes/aarch64-sys-regs.def
@@ -36,7 +36,7 @@
The FEATURES field maps onto ISA flags and specifies the architectural
feature requirements of the system register. */
- SYSREG ("accdata_el1", CPENC (3,0,13,0,5), 0, AARCH64_NO_FEATURES)
+ SYSREG ("accdata_el1", CPENC (3,0,13,0,5), 0, AARCH64_FEATURE (LS64)) /* LS64_ACCDATA */
SYSREG ("actlr_el1", CPENC (3,0,1,0,1), 0, AARCH64_NO_FEATURES)
SYSREG ("actlr_el12", CPENC (3,5,1,0,1), 0, AARCH64_NO_FEATURES)
SYSREG ("actlr_el2", CPENC (3,4,1,0,1), 0, AARCH64_NO_FEATURES)
@@ -46,220 +46,220 @@
SYSREG ("actlrmask_el12", CPENC (3,5,1,4,1), 0, AARCH64_FEATURE (V9_5A)) /* SRMASK */
SYSREG ("actlrmask_el2", CPENC (3,4,1,4,1), 0, AARCH64_FEATURE (V9_5A)) /* SRMASK */
SYSREG ("afsr0_el1", CPENC (3,0,5,1,0), 0, AARCH64_NO_FEATURES)
- SYSREG ("afsr0_el12", CPENC (3,5,5,1,0), 0, AARCH64_FEATURE (V8_1A))
+ SYSREG ("afsr0_el12", CPENC (3,5,5,1,0), 0, AARCH64_NO_FEATURES)
SYSREG ("afsr0_el2", CPENC (3,4,5,1,0), 0, AARCH64_NO_FEATURES)
SYSREG ("afsr0_el3", CPENC (3,6,5,1,0), 0, AARCH64_NO_FEATURES)
SYSREG ("afsr1_el1", CPENC (3,0,5,1,1), 0, AARCH64_NO_FEATURES)
- SYSREG ("afsr1_el12", CPENC (3,5,5,1,1), 0, AARCH64_FEATURE (V8_1A))
+ SYSREG ("afsr1_el12", CPENC (3,5,5,1,1), 0, AARCH64_NO_FEATURES)
SYSREG ("afsr1_el2", CPENC (3,4,5,1,1), 0, AARCH64_NO_FEATURES)
SYSREG ("afsr1_el3", CPENC (3,6,5,1,1), 0, AARCH64_NO_FEATURES)
SYSREG ("aidr_el1", CPENC (3,1,0,0,7), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("allint", CPENC (3,0,4,3,0), 0, AARCH64_FEATURE (V8_8A))
+ SYSREG ("allint", CPENC (3,0,4,3,0), 0, AARCH64_FEATURE (V8_7A)) /* NMI */
SYSREG ("amair_el1", CPENC (3,0,10,3,0), 0, AARCH64_NO_FEATURES)
- SYSREG ("amair_el12", CPENC (3,5,10,3,0), 0, AARCH64_FEATURE (V8_1A))
+ SYSREG ("amair_el12", CPENC (3,5,10,3,0), 0, AARCH64_NO_FEATURES)
SYSREG ("amair_el2", CPENC (3,4,10,3,0), 0, AARCH64_NO_FEATURES)
SYSREG ("amair_el3", CPENC (3,6,10,3,0), 0, AARCH64_NO_FEATURES)
- SYSREG ("amair2_el1", CPENC (3,0,10,3,1), 0, AARCH64_FEATURE (AIE))
- SYSREG ("amair2_el12", CPENC (3,5,10,3,1), 0, AARCH64_FEATURE (AIE))
- SYSREG ("amair2_el2", CPENC (3,4,10,3,1), 0, AARCH64_FEATURE (AIE))
- SYSREG ("amair2_el3", CPENC (3,6,10,3,1), 0, AARCH64_FEATURE (AIE))
- SYSREG ("amcfgr_el0", CPENC (3,3,13,2,1), F_REG_READ, AARCH64_FEATURE (V8_4A))
- SYSREG ("amcg1idr_el0", CPENC (3,3,13,2,6), F_REG_READ, AARCH64_FEATURE (V8_6A))
- SYSREG ("amcgcr_el0", CPENC (3,3,13,2,2), F_REG_READ, AARCH64_FEATURE (V8_4A))
- SYSREG ("amcntenclr0_el0", CPENC (3,3,13,2,4), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amcntenclr1_el0", CPENC (3,3,13,3,0), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amcntenset0_el0", CPENC (3,3,13,2,5), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amcntenset1_el0", CPENC (3,3,13,3,1), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amcr_el0", CPENC (3,3,13,2,0), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevcntr00_el0", CPENC (3,3,13,4,0), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevcntr01_el0", CPENC (3,3,13,4,1), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevcntr02_el0", CPENC (3,3,13,4,2), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevcntr03_el0", CPENC (3,3,13,4,3), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevcntr10_el0", CPENC (3,3,13,12,0), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevcntr110_el0", CPENC (3,3,13,13,2), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevcntr111_el0", CPENC (3,3,13,13,3), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevcntr112_el0", CPENC (3,3,13,13,4), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevcntr113_el0", CPENC (3,3,13,13,5), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevcntr114_el0", CPENC (3,3,13,13,6), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevcntr115_el0", CPENC (3,3,13,13,7), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevcntr11_el0", CPENC (3,3,13,12,1), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevcntr12_el0", CPENC (3,3,13,12,2), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevcntr13_el0", CPENC (3,3,13,12,3), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevcntr14_el0", CPENC (3,3,13,12,4), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevcntr15_el0", CPENC (3,3,13,12,5), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevcntr16_el0", CPENC (3,3,13,12,6), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevcntr17_el0", CPENC (3,3,13,12,7), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevcntr18_el0", CPENC (3,3,13,13,0), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevcntr19_el0", CPENC (3,3,13,13,1), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevcntvoff00_el2", CPENC (3,4,13,8,0), 0, AARCH64_FEATURE (V8_6A))
- SYSREG ("amevcntvoff010_el2", CPENC (3,4,13,9,2), 0, AARCH64_FEATURE (V8_6A))
- SYSREG ("amevcntvoff011_el2", CPENC (3,4,13,9,3), 0, AARCH64_FEATURE (V8_6A))
- SYSREG ("amevcntvoff012_el2", CPENC (3,4,13,9,4), 0, AARCH64_FEATURE (V8_6A))
- SYSREG ("amevcntvoff013_el2", CPENC (3,4,13,9,5), 0, AARCH64_FEATURE (V8_6A))
- SYSREG ("amevcntvoff014_el2", CPENC (3,4,13,9,6), 0, AARCH64_FEATURE (V8_6A))
- SYSREG ("amevcntvoff015_el2", CPENC (3,4,13,9,7), 0, AARCH64_FEATURE (V8_6A))
- SYSREG ("amevcntvoff01_el2", CPENC (3,4,13,8,1), 0, AARCH64_FEATURE (V8_6A))
- SYSREG ("amevcntvoff02_el2", CPENC (3,4,13,8,2), 0, AARCH64_FEATURE (V8_6A))
- SYSREG ("amevcntvoff03_el2", CPENC (3,4,13,8,3), 0, AARCH64_FEATURE (V8_6A))
- SYSREG ("amevcntvoff04_el2", CPENC (3,4,13,8,4), 0, AARCH64_FEATURE (V8_6A))
- SYSREG ("amevcntvoff05_el2", CPENC (3,4,13,8,5), 0, AARCH64_FEATURE (V8_6A))
- SYSREG ("amevcntvoff06_el2", CPENC (3,4,13,8,6), 0, AARCH64_FEATURE (V8_6A))
- SYSREG ("amevcntvoff07_el2", CPENC (3,4,13,8,7), 0, AARCH64_FEATURE (V8_6A))
- SYSREG ("amevcntvoff08_el2", CPENC (3,4,13,9,0), 0, AARCH64_FEATURE (V8_6A))
- SYSREG ("amevcntvoff09_el2", CPENC (3,4,13,9,1), 0, AARCH64_FEATURE (V8_6A))
- SYSREG ("amevcntvoff10_el2", CPENC (3,4,13,10,0), 0, AARCH64_FEATURE (V8_6A))
- SYSREG ("amevcntvoff110_el2", CPENC (3,4,13,11,2), 0, AARCH64_FEATURE (V8_6A))
- SYSREG ("amevcntvoff111_el2", CPENC (3,4,13,11,3), 0, AARCH64_FEATURE (V8_6A))
- SYSREG ("amevcntvoff112_el2", CPENC (3,4,13,11,4), 0, AARCH64_FEATURE (V8_6A))
- SYSREG ("amevcntvoff113_el2", CPENC (3,4,13,11,5), 0, AARCH64_FEATURE (V8_6A))
- SYSREG ("amevcntvoff114_el2", CPENC (3,4,13,11,6), 0, AARCH64_FEATURE (V8_6A))
- SYSREG ("amevcntvoff115_el2", CPENC (3,4,13,11,7), 0, AARCH64_FEATURE (V8_6A))
- SYSREG ("amevcntvoff11_el2", CPENC (3,4,13,10,1), 0, AARCH64_FEATURE (V8_6A))
- SYSREG ("amevcntvoff12_el2", CPENC (3,4,13,10,2), 0, AARCH64_FEATURE (V8_6A))
- SYSREG ("amevcntvoff13_el2", CPENC (3,4,13,10,3), 0, AARCH64_FEATURE (V8_6A))
- SYSREG ("amevcntvoff14_el2", CPENC (3,4,13,10,4), 0, AARCH64_FEATURE (V8_6A))
- SYSREG ("amevcntvoff15_el2", CPENC (3,4,13,10,5), 0, AARCH64_FEATURE (V8_6A))
- SYSREG ("amevcntvoff16_el2", CPENC (3,4,13,10,6), 0, AARCH64_FEATURE (V8_6A))
- SYSREG ("amevcntvoff17_el2", CPENC (3,4,13,10,7), 0, AARCH64_FEATURE (V8_6A))
- SYSREG ("amevcntvoff18_el2", CPENC (3,4,13,11,0), 0, AARCH64_FEATURE (V8_6A))
- SYSREG ("amevcntvoff19_el2", CPENC (3,4,13,11,1), 0, AARCH64_FEATURE (V8_6A))
- SYSREG ("amevtyper00_el0", CPENC (3,3,13,6,0), F_REG_READ, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevtyper01_el0", CPENC (3,3,13,6,1), F_REG_READ, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevtyper02_el0", CPENC (3,3,13,6,2), F_REG_READ, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevtyper03_el0", CPENC (3,3,13,6,3), F_REG_READ, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevtyper10_el0", CPENC (3,3,13,14,0), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevtyper110_el0", CPENC (3,3,13,15,2), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevtyper111_el0", CPENC (3,3,13,15,3), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevtyper112_el0", CPENC (3,3,13,15,4), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevtyper113_el0", CPENC (3,3,13,15,5), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevtyper114_el0", CPENC (3,3,13,15,6), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevtyper115_el0", CPENC (3,3,13,15,7), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevtyper11_el0", CPENC (3,3,13,14,1), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevtyper12_el0", CPENC (3,3,13,14,2), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevtyper13_el0", CPENC (3,3,13,14,3), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevtyper14_el0", CPENC (3,3,13,14,4), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevtyper15_el0", CPENC (3,3,13,14,5), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevtyper16_el0", CPENC (3,3,13,14,6), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevtyper17_el0", CPENC (3,3,13,14,7), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevtyper18_el0", CPENC (3,3,13,15,0), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amevtyper19_el0", CPENC (3,3,13,15,1), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("amuserenr_el0", CPENC (3,3,13,2,3), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("apdakeyhi_el1", CPENC (3,0,2,2,1), 0, AARCH64_FEATURE (V8_3A))
- SYSREG ("apdakeylo_el1", CPENC (3,0,2,2,0), 0, AARCH64_FEATURE (V8_3A))
- SYSREG ("apdbkeyhi_el1", CPENC (3,0,2,2,3), 0, AARCH64_FEATURE (V8_3A))
- SYSREG ("apdbkeylo_el1", CPENC (3,0,2,2,2), 0, AARCH64_FEATURE (V8_3A))
- SYSREG ("apgakeyhi_el1", CPENC (3,0,2,3,1), 0, AARCH64_FEATURE (V8_3A))
- SYSREG ("apgakeylo_el1", CPENC (3,0,2,3,0), 0, AARCH64_FEATURE (V8_3A))
- SYSREG ("apiakeyhi_el1", CPENC (3,0,2,1,1), 0, AARCH64_FEATURE (V8_3A))
- SYSREG ("apiakeylo_el1", CPENC (3,0,2,1,0), 0, AARCH64_FEATURE (V8_3A))
- SYSREG ("apibkeyhi_el1", CPENC (3,0,2,1,3), 0, AARCH64_FEATURE (V8_3A))
- SYSREG ("apibkeylo_el1", CPENC (3,0,2,1,2), 0, AARCH64_FEATURE (V8_3A))
- SYSREG ("brbcr_el1", CPENC (2,1,9,0,0), 0, AARCH64_NO_FEATURES)
- SYSREG ("brbcr_el12", CPENC (2,5,9,0,0), 0, AARCH64_NO_FEATURES)
- SYSREG ("brbcr_el2", CPENC (2,4,9,0,0), 0, AARCH64_NO_FEATURES)
- SYSREG ("brbfcr_el1", CPENC (2,1,9,0,1), 0, AARCH64_NO_FEATURES)
- SYSREG ("brbidr0_el1", CPENC (2,1,9,2,0), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbinf0_el1", CPENC (2,1,8,0,0), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbinf10_el1", CPENC (2,1,8,10,0), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbinf11_el1", CPENC (2,1,8,11,0), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbinf12_el1", CPENC (2,1,8,12,0), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbinf13_el1", CPENC (2,1,8,13,0), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbinf14_el1", CPENC (2,1,8,14,0), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbinf15_el1", CPENC (2,1,8,15,0), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbinf16_el1", CPENC (2,1,8,0,4), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbinf17_el1", CPENC (2,1,8,1,4), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbinf18_el1", CPENC (2,1,8,2,4), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbinf19_el1", CPENC (2,1,8,3,4), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbinf1_el1", CPENC (2,1,8,1,0), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbinf20_el1", CPENC (2,1,8,4,4), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbinf21_el1", CPENC (2,1,8,5,4), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbinf22_el1", CPENC (2,1,8,6,4), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbinf23_el1", CPENC (2,1,8,7,4), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbinf24_el1", CPENC (2,1,8,8,4), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbinf25_el1", CPENC (2,1,8,9,4), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbinf26_el1", CPENC (2,1,8,10,4), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbinf27_el1", CPENC (2,1,8,11,4), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbinf28_el1", CPENC (2,1,8,12,4), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbinf29_el1", CPENC (2,1,8,13,4), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbinf2_el1", CPENC (2,1,8,2,0), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbinf30_el1", CPENC (2,1,8,14,4), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbinf31_el1", CPENC (2,1,8,15,4), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbinf3_el1", CPENC (2,1,8,3,0), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbinf4_el1", CPENC (2,1,8,4,0), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbinf5_el1", CPENC (2,1,8,5,0), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbinf6_el1", CPENC (2,1,8,6,0), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbinf7_el1", CPENC (2,1,8,7,0), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbinf8_el1", CPENC (2,1,8,8,0), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbinf9_el1", CPENC (2,1,8,9,0), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbinfinj_el1", CPENC (2,1,9,1,0), 0, AARCH64_NO_FEATURES)
- SYSREG ("brbsrc0_el1", CPENC (2,1,8,0,1), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbsrc10_el1", CPENC (2,1,8,10,1), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbsrc11_el1", CPENC (2,1,8,11,1), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbsrc12_el1", CPENC (2,1,8,12,1), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbsrc13_el1", CPENC (2,1,8,13,1), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbsrc14_el1", CPENC (2,1,8,14,1), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbsrc15_el1", CPENC (2,1,8,15,1), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbsrc16_el1", CPENC (2,1,8,0,5), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbsrc17_el1", CPENC (2,1,8,1,5), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbsrc18_el1", CPENC (2,1,8,2,5), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbsrc19_el1", CPENC (2,1,8,3,5), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbsrc1_el1", CPENC (2,1,8,1,1), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbsrc20_el1", CPENC (2,1,8,4,5), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbsrc21_el1", CPENC (2,1,8,5,5), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbsrc22_el1", CPENC (2,1,8,6,5), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbsrc23_el1", CPENC (2,1,8,7,5), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbsrc24_el1", CPENC (2,1,8,8,5), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbsrc25_el1", CPENC (2,1,8,9,5), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbsrc26_el1", CPENC (2,1,8,10,5), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbsrc27_el1", CPENC (2,1,8,11,5), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbsrc28_el1", CPENC (2,1,8,12,5), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbsrc29_el1", CPENC (2,1,8,13,5), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbsrc2_el1", CPENC (2,1,8,2,1), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbsrc30_el1", CPENC (2,1,8,14,5), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbsrc31_el1", CPENC (2,1,8,15,5), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbsrc3_el1", CPENC (2,1,8,3,1), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbsrc4_el1", CPENC (2,1,8,4,1), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbsrc5_el1", CPENC (2,1,8,5,1), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbsrc6_el1", CPENC (2,1,8,6,1), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbsrc7_el1", CPENC (2,1,8,7,1), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbsrc8_el1", CPENC (2,1,8,8,1), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbsrc9_el1", CPENC (2,1,8,9,1), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbsrcinj_el1", CPENC (2,1,9,1,1), 0, AARCH64_NO_FEATURES)
- SYSREG ("brbtgt0_el1", CPENC (2,1,8,0,2), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbtgt10_el1", CPENC (2,1,8,10,2), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbtgt11_el1", CPENC (2,1,8,11,2), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbtgt12_el1", CPENC (2,1,8,12,2), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbtgt13_el1", CPENC (2,1,8,13,2), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbtgt14_el1", CPENC (2,1,8,14,2), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbtgt15_el1", CPENC (2,1,8,15,2), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbtgt16_el1", CPENC (2,1,8,0,6), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbtgt17_el1", CPENC (2,1,8,1,6), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbtgt18_el1", CPENC (2,1,8,2,6), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbtgt19_el1", CPENC (2,1,8,3,6), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbtgt1_el1", CPENC (2,1,8,1,2), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbtgt20_el1", CPENC (2,1,8,4,6), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbtgt21_el1", CPENC (2,1,8,5,6), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbtgt22_el1", CPENC (2,1,8,6,6), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbtgt23_el1", CPENC (2,1,8,7,6), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbtgt24_el1", CPENC (2,1,8,8,6), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbtgt25_el1", CPENC (2,1,8,9,6), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbtgt26_el1", CPENC (2,1,8,10,6), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbtgt27_el1", CPENC (2,1,8,11,6), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbtgt28_el1", CPENC (2,1,8,12,6), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbtgt29_el1", CPENC (2,1,8,13,6), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbtgt2_el1", CPENC (2,1,8,2,2), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbtgt30_el1", CPENC (2,1,8,14,6), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbtgt31_el1", CPENC (2,1,8,15,6), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbtgt3_el1", CPENC (2,1,8,3,2), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbtgt4_el1", CPENC (2,1,8,4,2), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbtgt5_el1", CPENC (2,1,8,5,2), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbtgt6_el1", CPENC (2,1,8,6,2), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbtgt7_el1", CPENC (2,1,8,7,2), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbtgt8_el1", CPENC (2,1,8,8,2), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbtgt9_el1", CPENC (2,1,8,9,2), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("brbtgtinj_el1", CPENC (2,1,9,1,2), 0, AARCH64_NO_FEATURES)
- SYSREG ("brbts_el1", CPENC (2,1,9,0,2), 0, AARCH64_NO_FEATURES)
- SYSREG ("ccsidr2_el1", CPENC (3,1,0,0,2), F_REG_READ, AARCH64_FEATURE (V8_3A))
+ SYSREG ("amair2_el1", CPENC (3,0,10,3,1), 0, AARCH64_FEATURE (V8_8A)) /* AIE */
+ SYSREG ("amair2_el12", CPENC (3,5,10,3,1), 0, AARCH64_FEATURE (V8_8A)) /* AIE */
+ SYSREG ("amair2_el2", CPENC (3,4,10,3,1), 0, AARCH64_FEATURE (V8_8A)) /* AIE */
+ SYSREG ("amair2_el3", CPENC (3,6,10,3,1), 0, AARCH64_FEATURE (V8_8A)) /* AIE */
+ SYSREG ("amcfgr_el0", CPENC (3,3,13,2,1), F_REG_READ, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amcg1idr_el0", CPENC (3,3,13,2,6), F_REG_READ, AARCH64_FEATURE (V8_5A)) /* AMUv1p1 */
+ SYSREG ("amcgcr_el0", CPENC (3,3,13,2,2), F_REG_READ, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amcntenclr0_el0", CPENC (3,3,13,2,4), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amcntenclr1_el0", CPENC (3,3,13,3,0), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amcntenset0_el0", CPENC (3,3,13,2,5), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amcntenset1_el0", CPENC (3,3,13,3,1), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amcr_el0", CPENC (3,3,13,2,0), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevcntr00_el0", CPENC (3,3,13,4,0), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevcntr01_el0", CPENC (3,3,13,4,1), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevcntr02_el0", CPENC (3,3,13,4,2), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevcntr03_el0", CPENC (3,3,13,4,3), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevcntr10_el0", CPENC (3,3,13,12,0), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevcntr110_el0", CPENC (3,3,13,13,2), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevcntr111_el0", CPENC (3,3,13,13,3), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevcntr112_el0", CPENC (3,3,13,13,4), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevcntr113_el0", CPENC (3,3,13,13,5), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevcntr114_el0", CPENC (3,3,13,13,6), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevcntr115_el0", CPENC (3,3,13,13,7), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevcntr11_el0", CPENC (3,3,13,12,1), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevcntr12_el0", CPENC (3,3,13,12,2), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevcntr13_el0", CPENC (3,3,13,12,3), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevcntr14_el0", CPENC (3,3,13,12,4), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevcntr15_el0", CPENC (3,3,13,12,5), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevcntr16_el0", CPENC (3,3,13,12,6), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevcntr17_el0", CPENC (3,3,13,12,7), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevcntr18_el0", CPENC (3,3,13,13,0), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevcntr19_el0", CPENC (3,3,13,13,1), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevcntvoff00_el2", CPENC (3,4,13,8,0), 0, AARCH64_FEATURE (V8_5A)) /* AMUv1p1 */
+ SYSREG ("amevcntvoff010_el2", CPENC (3,4,13,9,2), 0, AARCH64_FEATURE (V8_5A)) /* AMUv1p1 */
+ SYSREG ("amevcntvoff011_el2", CPENC (3,4,13,9,3), 0, AARCH64_FEATURE (V8_5A)) /* AMUv1p1 */
+ SYSREG ("amevcntvoff012_el2", CPENC (3,4,13,9,4), 0, AARCH64_FEATURE (V8_5A)) /* AMUv1p1 */
+ SYSREG ("amevcntvoff013_el2", CPENC (3,4,13,9,5), 0, AARCH64_FEATURE (V8_5A)) /* AMUv1p1 */
+ SYSREG ("amevcntvoff014_el2", CPENC (3,4,13,9,6), 0, AARCH64_FEATURE (V8_5A)) /* AMUv1p1 */
+ SYSREG ("amevcntvoff015_el2", CPENC (3,4,13,9,7), 0, AARCH64_FEATURE (V8_5A)) /* AMUv1p1 */
+ SYSREG ("amevcntvoff01_el2", CPENC (3,4,13,8,1), 0, AARCH64_FEATURE (V8_5A)) /* AMUv1p1 */
+ SYSREG ("amevcntvoff02_el2", CPENC (3,4,13,8,2), 0, AARCH64_FEATURE (V8_5A)) /* AMUv1p1 */
+ SYSREG ("amevcntvoff03_el2", CPENC (3,4,13,8,3), 0, AARCH64_FEATURE (V8_5A)) /* AMUv1p1 */
+ SYSREG ("amevcntvoff04_el2", CPENC (3,4,13,8,4), 0, AARCH64_FEATURE (V8_5A)) /* AMUv1p1 */
+ SYSREG ("amevcntvoff05_el2", CPENC (3,4,13,8,5), 0, AARCH64_FEATURE (V8_5A)) /* AMUv1p1 */
+ SYSREG ("amevcntvoff06_el2", CPENC (3,4,13,8,6), 0, AARCH64_FEATURE (V8_5A)) /* AMUv1p1 */
+ SYSREG ("amevcntvoff07_el2", CPENC (3,4,13,8,7), 0, AARCH64_FEATURE (V8_5A)) /* AMUv1p1 */
+ SYSREG ("amevcntvoff08_el2", CPENC (3,4,13,9,0), 0, AARCH64_FEATURE (V8_5A)) /* AMUv1p1 */
+ SYSREG ("amevcntvoff09_el2", CPENC (3,4,13,9,1), 0, AARCH64_FEATURE (V8_5A)) /* AMUv1p1 */
+ SYSREG ("amevcntvoff10_el2", CPENC (3,4,13,10,0), 0, AARCH64_FEATURE (V8_5A)) /* AMUv1p1 */
+ SYSREG ("amevcntvoff110_el2", CPENC (3,4,13,11,2), 0, AARCH64_FEATURE (V8_5A)) /* AMUv1p1 */
+ SYSREG ("amevcntvoff111_el2", CPENC (3,4,13,11,3), 0, AARCH64_FEATURE (V8_5A)) /* AMUv1p1 */
+ SYSREG ("amevcntvoff112_el2", CPENC (3,4,13,11,4), 0, AARCH64_FEATURE (V8_5A)) /* AMUv1p1 */
+ SYSREG ("amevcntvoff113_el2", CPENC (3,4,13,11,5), 0, AARCH64_FEATURE (V8_5A)) /* AMUv1p1 */
+ SYSREG ("amevcntvoff114_el2", CPENC (3,4,13,11,6), 0, AARCH64_FEATURE (V8_5A)) /* AMUv1p1 */
+ SYSREG ("amevcntvoff115_el2", CPENC (3,4,13,11,7), 0, AARCH64_FEATURE (V8_5A)) /* AMUv1p1 */
+ SYSREG ("amevcntvoff11_el2", CPENC (3,4,13,10,1), 0, AARCH64_FEATURE (V8_5A)) /* AMUv1p1 */
+ SYSREG ("amevcntvoff12_el2", CPENC (3,4,13,10,2), 0, AARCH64_FEATURE (V8_5A)) /* AMUv1p1 */
+ SYSREG ("amevcntvoff13_el2", CPENC (3,4,13,10,3), 0, AARCH64_FEATURE (V8_5A)) /* AMUv1p1 */
+ SYSREG ("amevcntvoff14_el2", CPENC (3,4,13,10,4), 0, AARCH64_FEATURE (V8_5A)) /* AMUv1p1 */
+ SYSREG ("amevcntvoff15_el2", CPENC (3,4,13,10,5), 0, AARCH64_FEATURE (V8_5A)) /* AMUv1p1 */
+ SYSREG ("amevcntvoff16_el2", CPENC (3,4,13,10,6), 0, AARCH64_FEATURE (V8_5A)) /* AMUv1p1 */
+ SYSREG ("amevcntvoff17_el2", CPENC (3,4,13,10,7), 0, AARCH64_FEATURE (V8_5A)) /* AMUv1p1 */
+ SYSREG ("amevcntvoff18_el2", CPENC (3,4,13,11,0), 0, AARCH64_FEATURE (V8_5A)) /* AMUv1p1 */
+ SYSREG ("amevcntvoff19_el2", CPENC (3,4,13,11,1), 0, AARCH64_FEATURE (V8_5A)) /* AMUv1p1 */
+ SYSREG ("amevtyper00_el0", CPENC (3,3,13,6,0), F_REG_READ, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevtyper01_el0", CPENC (3,3,13,6,1), F_REG_READ, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevtyper02_el0", CPENC (3,3,13,6,2), F_REG_READ, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevtyper03_el0", CPENC (3,3,13,6,3), F_REG_READ, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevtyper10_el0", CPENC (3,3,13,14,0), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevtyper110_el0", CPENC (3,3,13,15,2), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevtyper111_el0", CPENC (3,3,13,15,3), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevtyper112_el0", CPENC (3,3,13,15,4), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevtyper113_el0", CPENC (3,3,13,15,5), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevtyper114_el0", CPENC (3,3,13,15,6), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevtyper115_el0", CPENC (3,3,13,15,7), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevtyper11_el0", CPENC (3,3,13,14,1), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevtyper12_el0", CPENC (3,3,13,14,2), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevtyper13_el0", CPENC (3,3,13,14,3), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevtyper14_el0", CPENC (3,3,13,14,4), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevtyper15_el0", CPENC (3,3,13,14,5), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevtyper16_el0", CPENC (3,3,13,14,6), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevtyper17_el0", CPENC (3,3,13,14,7), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevtyper18_el0", CPENC (3,3,13,15,0), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amevtyper19_el0", CPENC (3,3,13,15,1), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("amuserenr_el0", CPENC (3,3,13,2,3), 0, AARCH64_FEATURE (V8_3A)) /* AMUv1 */
+ SYSREG ("apdakeyhi_el1", CPENC (3,0,2,2,1), 0, AARCH64_FEATURE (PAUTH))
+ SYSREG ("apdakeylo_el1", CPENC (3,0,2,2,0), 0, AARCH64_FEATURE (PAUTH))
+ SYSREG ("apdbkeyhi_el1", CPENC (3,0,2,2,3), 0, AARCH64_FEATURE (PAUTH))
+ SYSREG ("apdbkeylo_el1", CPENC (3,0,2,2,2), 0, AARCH64_FEATURE (PAUTH))
+ SYSREG ("apgakeyhi_el1", CPENC (3,0,2,3,1), 0, AARCH64_FEATURE (PAUTH))
+ SYSREG ("apgakeylo_el1", CPENC (3,0,2,3,0), 0, AARCH64_FEATURE (PAUTH))
+ SYSREG ("apiakeyhi_el1", CPENC (3,0,2,1,1), 0, AARCH64_FEATURE (PAUTH))
+ SYSREG ("apiakeylo_el1", CPENC (3,0,2,1,0), 0, AARCH64_FEATURE (PAUTH))
+ SYSREG ("apibkeyhi_el1", CPENC (3,0,2,1,3), 0, AARCH64_FEATURE (PAUTH))
+ SYSREG ("apibkeylo_el1", CPENC (3,0,2,1,2), 0, AARCH64_FEATURE (PAUTH))
+ SYSREG ("brbcr_el1", CPENC (2,1,9,0,0), 0, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbcr_el12", CPENC (2,5,9,0,0), 0, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbcr_el2", CPENC (2,4,9,0,0), 0, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbfcr_el1", CPENC (2,1,9,0,1), 0, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbidr0_el1", CPENC (2,1,9,2,0), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbinf0_el1", CPENC (2,1,8,0,0), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbinf10_el1", CPENC (2,1,8,10,0), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbinf11_el1", CPENC (2,1,8,11,0), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbinf12_el1", CPENC (2,1,8,12,0), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbinf13_el1", CPENC (2,1,8,13,0), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbinf14_el1", CPENC (2,1,8,14,0), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbinf15_el1", CPENC (2,1,8,15,0), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbinf16_el1", CPENC (2,1,8,0,4), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbinf17_el1", CPENC (2,1,8,1,4), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbinf18_el1", CPENC (2,1,8,2,4), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbinf19_el1", CPENC (2,1,8,3,4), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbinf1_el1", CPENC (2,1,8,1,0), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbinf20_el1", CPENC (2,1,8,4,4), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbinf21_el1", CPENC (2,1,8,5,4), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbinf22_el1", CPENC (2,1,8,6,4), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbinf23_el1", CPENC (2,1,8,7,4), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbinf24_el1", CPENC (2,1,8,8,4), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbinf25_el1", CPENC (2,1,8,9,4), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbinf26_el1", CPENC (2,1,8,10,4), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbinf27_el1", CPENC (2,1,8,11,4), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbinf28_el1", CPENC (2,1,8,12,4), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbinf29_el1", CPENC (2,1,8,13,4), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbinf2_el1", CPENC (2,1,8,2,0), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbinf30_el1", CPENC (2,1,8,14,4), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbinf31_el1", CPENC (2,1,8,15,4), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbinf3_el1", CPENC (2,1,8,3,0), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbinf4_el1", CPENC (2,1,8,4,0), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbinf5_el1", CPENC (2,1,8,5,0), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbinf6_el1", CPENC (2,1,8,6,0), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbinf7_el1", CPENC (2,1,8,7,0), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbinf8_el1", CPENC (2,1,8,8,0), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbinf9_el1", CPENC (2,1,8,9,0), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbinfinj_el1", CPENC (2,1,9,1,0), 0, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbsrc0_el1", CPENC (2,1,8,0,1), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbsrc10_el1", CPENC (2,1,8,10,1), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbsrc11_el1", CPENC (2,1,8,11,1), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbsrc12_el1", CPENC (2,1,8,12,1), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbsrc13_el1", CPENC (2,1,8,13,1), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbsrc14_el1", CPENC (2,1,8,14,1), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbsrc15_el1", CPENC (2,1,8,15,1), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbsrc16_el1", CPENC (2,1,8,0,5), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbsrc17_el1", CPENC (2,1,8,1,5), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbsrc18_el1", CPENC (2,1,8,2,5), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbsrc19_el1", CPENC (2,1,8,3,5), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbsrc1_el1", CPENC (2,1,8,1,1), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbsrc20_el1", CPENC (2,1,8,4,5), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbsrc21_el1", CPENC (2,1,8,5,5), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbsrc22_el1", CPENC (2,1,8,6,5), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbsrc23_el1", CPENC (2,1,8,7,5), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbsrc24_el1", CPENC (2,1,8,8,5), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbsrc25_el1", CPENC (2,1,8,9,5), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbsrc26_el1", CPENC (2,1,8,10,5), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbsrc27_el1", CPENC (2,1,8,11,5), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbsrc28_el1", CPENC (2,1,8,12,5), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbsrc29_el1", CPENC (2,1,8,13,5), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbsrc2_el1", CPENC (2,1,8,2,1), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbsrc30_el1", CPENC (2,1,8,14,5), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbsrc31_el1", CPENC (2,1,8,15,5), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbsrc3_el1", CPENC (2,1,8,3,1), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbsrc4_el1", CPENC (2,1,8,4,1), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbsrc5_el1", CPENC (2,1,8,5,1), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbsrc6_el1", CPENC (2,1,8,6,1), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbsrc7_el1", CPENC (2,1,8,7,1), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbsrc8_el1", CPENC (2,1,8,8,1), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbsrc9_el1", CPENC (2,1,8,9,1), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbsrcinj_el1", CPENC (2,1,9,1,1), 0, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbtgt0_el1", CPENC (2,1,8,0,2), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbtgt10_el1", CPENC (2,1,8,10,2), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbtgt11_el1", CPENC (2,1,8,11,2), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbtgt12_el1", CPENC (2,1,8,12,2), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbtgt13_el1", CPENC (2,1,8,13,2), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbtgt14_el1", CPENC (2,1,8,14,2), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbtgt15_el1", CPENC (2,1,8,15,2), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbtgt16_el1", CPENC (2,1,8,0,6), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbtgt17_el1", CPENC (2,1,8,1,6), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbtgt18_el1", CPENC (2,1,8,2,6), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbtgt19_el1", CPENC (2,1,8,3,6), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbtgt1_el1", CPENC (2,1,8,1,2), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbtgt20_el1", CPENC (2,1,8,4,6), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbtgt21_el1", CPENC (2,1,8,5,6), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbtgt22_el1", CPENC (2,1,8,6,6), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbtgt23_el1", CPENC (2,1,8,7,6), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbtgt24_el1", CPENC (2,1,8,8,6), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbtgt25_el1", CPENC (2,1,8,9,6), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbtgt26_el1", CPENC (2,1,8,10,6), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbtgt27_el1", CPENC (2,1,8,11,6), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbtgt28_el1", CPENC (2,1,8,12,6), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbtgt29_el1", CPENC (2,1,8,13,6), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbtgt2_el1", CPENC (2,1,8,2,2), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbtgt30_el1", CPENC (2,1,8,14,6), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbtgt31_el1", CPENC (2,1,8,15,6), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbtgt3_el1", CPENC (2,1,8,3,2), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbtgt4_el1", CPENC (2,1,8,4,2), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbtgt5_el1", CPENC (2,1,8,5,2), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbtgt6_el1", CPENC (2,1,8,6,2), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbtgt7_el1", CPENC (2,1,8,7,2), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbtgt8_el1", CPENC (2,1,8,8,2), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbtgt9_el1", CPENC (2,1,8,9,2), F_REG_READ, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbtgtinj_el1", CPENC (2,1,9,1,2), 0, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("brbts_el1", CPENC (2,1,9,0,2), 0, AARCH64_FEATURE (V9_1A)) /* BRBE */
+ SYSREG ("ccsidr2_el1", CPENC (3,1,0,0,2), F_REG_READ, AARCH64_FEATURE (V8_2A)) /* CCIDX */
SYSREG ("ccsidr_el1", CPENC (3,1,0,0,0), F_REG_READ, AARCH64_NO_FEATURES)
SYSREG ("clidr_el1", CPENC (3,1,0,0,1), F_REG_READ, AARCH64_NO_FEATURES)
SYSREG ("cntfrq_el0", CPENC (3,3,14,0,0), 0, AARCH64_NO_FEATURES)
@@ -267,50 +267,50 @@
SYSREG ("cnthp_ctl_el2", CPENC (3,4,14,2,1), 0, AARCH64_NO_FEATURES)
SYSREG ("cnthp_cval_el2", CPENC (3,4,14,2,2), 0, AARCH64_NO_FEATURES)
SYSREG ("cnthp_tval_el2", CPENC (3,4,14,2,0), 0, AARCH64_NO_FEATURES)
- SYSREG ("cnthps_ctl_el2", CPENC (3,4,14,5,1), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("cnthps_cval_el2", CPENC (3,4,14,5,2), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("cnthps_tval_el2", CPENC (3,4,14,5,0), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("cnthv_ctl_el2", CPENC (3,4,14,3,1), 0, AARCH64_FEATURE (V8_1A))
- SYSREG ("cnthv_cval_el2", CPENC (3,4,14,3,2), 0, AARCH64_FEATURE (V8_1A))
- SYSREG ("cnthv_tval_el2", CPENC (3,4,14,3,0), 0, AARCH64_FEATURE (V8_1A))
- SYSREG ("cnthvs_ctl_el2", CPENC (3,4,14,4,1), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("cnthvs_cval_el2", CPENC (3,4,14,4,2), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("cnthvs_tval_el2", CPENC (3,4,14,4,0), 0, AARCH64_FEATURE (V8_4A))
+ SYSREG ("cnthps_ctl_el2", CPENC (3,4,14,5,1), 0, AARCH64_FEATURE (V8_3A)) /* SEL2 */
+ SYSREG ("cnthps_cval_el2", CPENC (3,4,14,5,2), 0, AARCH64_FEATURE (V8_3A)) /* SEL2 */
+ SYSREG ("cnthps_tval_el2", CPENC (3,4,14,5,0), 0, AARCH64_FEATURE (V8_3A)) /* SEL2 */
+ SYSREG ("cnthv_ctl_el2", CPENC (3,4,14,3,1), 0, AARCH64_NO_FEATURES)
+ SYSREG ("cnthv_cval_el2", CPENC (3,4,14,3,2), 0, AARCH64_NO_FEATURES)
+ SYSREG ("cnthv_tval_el2", CPENC (3,4,14,3,0), 0, AARCH64_NO_FEATURES)
+ SYSREG ("cnthvs_ctl_el2", CPENC (3,4,14,4,1), 0, AARCH64_FEATURE (V8_3A)) /* SEL2 */
+ SYSREG ("cnthvs_cval_el2", CPENC (3,4,14,4,2), 0, AARCH64_FEATURE (V8_3A)) /* SEL2 */
+ SYSREG ("cnthvs_tval_el2", CPENC (3,4,14,4,0), 0, AARCH64_FEATURE (V8_3A)) /* SEL2 */
SYSREG ("cntkctl_el1", CPENC (3,0,14,1,0), 0, AARCH64_NO_FEATURES)
- SYSREG ("cntkctl_el12", CPENC (3,5,14,1,0), 0, AARCH64_FEATURE (V8_1A))
+ SYSREG ("cntkctl_el12", CPENC (3,5,14,1,0), 0, AARCH64_NO_FEATURES)
SYSREG ("cntp_ctl_el0", CPENC (3,3,14,2,1), 0, AARCH64_NO_FEATURES)
- SYSREG ("cntp_ctl_el02", CPENC (3,5,14,2,1), 0, AARCH64_FEATURE (V8_1A))
+ SYSREG ("cntp_ctl_el02", CPENC (3,5,14,2,1), 0, AARCH64_NO_FEATURES)
SYSREG ("cntp_cval_el0", CPENC (3,3,14,2,2), 0, AARCH64_NO_FEATURES)
- SYSREG ("cntp_cval_el02", CPENC (3,5,14,2,2), 0, AARCH64_FEATURE (V8_1A))
+ SYSREG ("cntp_cval_el02", CPENC (3,5,14,2,2), 0, AARCH64_NO_FEATURES)
SYSREG ("cntp_tval_el0", CPENC (3,3,14,2,0), 0, AARCH64_NO_FEATURES)
- SYSREG ("cntp_tval_el02", CPENC (3,5,14,2,0), 0, AARCH64_FEATURE (V8_1A))
+ SYSREG ("cntp_tval_el02", CPENC (3,5,14,2,0), 0, AARCH64_NO_FEATURES)
SYSREG ("cntpct_el0", CPENC (3,3,14,0,1), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("cntpctss_el0", CPENC (3,3,14,0,5), F_REG_READ, AARCH64_FEATURE (V8_6A))
- SYSREG ("cntpoff_el2", CPENC (3,4,14,0,6), 0, AARCH64_FEATURE (V8_6A))
+ SYSREG ("cntpctss_el0", CPENC (3,3,14,0,5), F_REG_READ, AARCH64_FEATURE (V8_5A)) /* ECV */
+ SYSREG ("cntpoff_el2", CPENC (3,4,14,0,6), 0, AARCH64_FEATURE (V8_5A)) /* ECV_POFF */
SYSREG ("cntps_ctl_el1", CPENC (3,7,14,2,1), 0, AARCH64_NO_FEATURES)
SYSREG ("cntps_cval_el1", CPENC (3,7,14,2,2), 0, AARCH64_NO_FEATURES)
SYSREG ("cntps_tval_el1", CPENC (3,7,14,2,0), 0, AARCH64_NO_FEATURES)
SYSREG ("cntv_ctl_el0", CPENC (3,3,14,3,1), 0, AARCH64_NO_FEATURES)
- SYSREG ("cntv_ctl_el02", CPENC (3,5,14,3,1), 0, AARCH64_FEATURE (V8_1A))
+ SYSREG ("cntv_ctl_el02", CPENC (3,5,14,3,1), 0, AARCH64_NO_FEATURES)
SYSREG ("cntv_cval_el0", CPENC (3,3,14,3,2), 0, AARCH64_NO_FEATURES)
- SYSREG ("cntv_cval_el02", CPENC (3,5,14,3,2), 0, AARCH64_FEATURE (V8_1A))
+ SYSREG ("cntv_cval_el02", CPENC (3,5,14,3,2), 0, AARCH64_NO_FEATURES)
SYSREG ("cntv_tval_el0", CPENC (3,3,14,3,0), 0, AARCH64_NO_FEATURES)
- SYSREG ("cntv_tval_el02", CPENC (3,5,14,3,0), 0, AARCH64_FEATURE (V8_1A))
+ SYSREG ("cntv_tval_el02", CPENC (3,5,14,3,0), 0, AARCH64_NO_FEATURES)
SYSREG ("cntvct_el0", CPENC (3,3,14,0,2), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("cntvctss_el0", CPENC (3,3,14,0,6), F_REG_READ, AARCH64_FEATURE (V8_6A))
+ SYSREG ("cntvctss_el0", CPENC (3,3,14,0,6), F_REG_READ, AARCH64_FEATURE (V8_5A)) /* ECV */
SYSREG ("cntvoff_el2", CPENC (3,4,14,0,3), 0, AARCH64_NO_FEATURES)
SYSREG ("contextidr_el1", CPENC (3,0,13,0,1), 0, AARCH64_NO_FEATURES)
- SYSREG ("contextidr_el12", CPENC (3,5,13,0,1), 0, AARCH64_FEATURE (V8_1A))
- SYSREG ("contextidr_el2", CPENC (3,4,13,0,1), 0, AARCH64_FEATURE (V8_1A))
+ SYSREG ("contextidr_el12", CPENC (3,5,13,0,1), 0, AARCH64_NO_FEATURES)
+ SYSREG ("contextidr_el2", CPENC (3,4,13,0,1), 0, AARCH64_NO_FEATURES)
SYSREG ("cpacr_el1", CPENC (3,0,1,0,2), 0, AARCH64_NO_FEATURES)
- SYSREG ("cpacr_el12", CPENC (3,5,1,0,2), 0, AARCH64_FEATURE (V8_1A))
+ SYSREG ("cpacr_el12", CPENC (3,5,1,0,2), 0, AARCH64_NO_FEATURES)
SYSREG ("cpacralias_el1", CPENC (3,0,1,4,4), 0, AARCH64_FEATURE (V9_5A)) /* SRMASK */
SYSREG ("cpacrmask_el1", CPENC (3,0,1,4,2), 0, AARCH64_FEATURE (V9_5A)) /* SRMASK */
SYSREG ("cpacrmask_el12", CPENC (3,5,1,4,2), 0, AARCH64_FEATURE (V9_5A)) /* SRMASK */
SYSREG ("cptr_el2", CPENC (3,4,1,1,2), 0, AARCH64_NO_FEATURES)
SYSREG ("cptr_el3", CPENC (3,6,1,1,2), 0, AARCH64_NO_FEATURES)
SYSREG ("cptrmask_el2", CPENC (3,4,1,4,2), 0, AARCH64_FEATURE (V9_5A)) /* SRMASK */
- SYSREG ("csselr_el1", CPENC (3,2,0,0,0), 0, AARCH64_NO_FEATURES)
+ SYSREG ("csselr_el1", CPENC (3,2,0,0,0), 0, AARCH64_NO_FEATURES)
SYSREG ("ctr_el0", CPENC (3,3,0,0,1), F_REG_READ, AARCH64_NO_FEATURES)
SYSREG ("currentel", CPENC (3,0,4,2,2), F_REG_READ, AARCH64_NO_FEATURES)
SYSREG ("dacr32_el2", CPENC (3,4,3,0,0), 0, AARCH64_NO_FEATURES)
@@ -389,11 +389,11 @@
SYSREG ("dbgwvr9_el1", CPENC (2,0,0,9,6), 0, AARCH64_NO_FEATURES)
SYSREG ("dczid_el0", CPENC (3,3,0,0,7), F_REG_READ, AARCH64_NO_FEATURES)
SYSREG ("disr_el1", CPENC (3,0,12,1,1), 0, AARCH64_FEATURE (RAS))
- SYSREG ("dit", CPENC (3,3,4,2,5), 0, AARCH64_FEATURE (V8_4A))
+ SYSREG ("dit", CPENC (3,3,4,2,5), 0, AARCH64_FEATURE (V8_3A)) /* DIT */
SYSREG ("dlr_el0", CPENC (3,3,4,5,1), 0, AARCH64_NO_FEATURES)
SYSREG ("dspsr_el0", CPENC (3,3,4,5,0), 0, AARCH64_NO_FEATURES)
SYSREG ("elr_el1", CPENC (3,0,4,0,1), 0, AARCH64_NO_FEATURES)
- SYSREG ("elr_el12", CPENC (3,5,4,0,1), 0, AARCH64_FEATURE (V8_1A))
+ SYSREG ("elr_el12", CPENC (3,5,4,0,1), 0, AARCH64_NO_FEATURES)
SYSREG ("elr_el2", CPENC (3,4,4,0,1), 0, AARCH64_NO_FEATURES)
SYSREG ("elr_el3", CPENC (3,6,4,0,1), 0, AARCH64_NO_FEATURES)
SYSREG ("erridr_el1", CPENC (3,0,5,3,0), F_REG_READ, AARCH64_FEATURE (RAS))
@@ -404,18 +404,18 @@
SYSREG ("erxgsr_el1", CPENC (3,0,5,3,2), F_REG_READ, AARCH64_FEATURE (RASv2))
SYSREG ("erxmisc0_el1", CPENC (3,0,5,5,0), 0, AARCH64_FEATURE (RAS))
SYSREG ("erxmisc1_el1", CPENC (3,0,5,5,1), 0, AARCH64_FEATURE (RAS))
- SYSREG ("erxmisc2_el1", CPENC (3,0,5,5,2), 0, AARCH64_FEATURE (RAS))
- SYSREG ("erxmisc3_el1", CPENC (3,0,5,5,3), 0, AARCH64_FEATURE (RAS))
- SYSREG ("erxpfgcdn_el1", CPENC (3,0,5,4,6), 0, AARCH64_FEATURE (RAS))
- SYSREG ("erxpfgctl_el1", CPENC (3,0,5,4,5), 0, AARCH64_FEATURE (RAS))
- SYSREG ("erxpfgf_el1", CPENC (3,0,5,4,4), F_REG_READ, AARCH64_FEATURE (RAS))
+ SYSREG ("erxmisc2_el1", CPENC (3,0,5,5,2), 0, AARCH64_FEATURE (RAS)) /* RASv1p1 */
+ SYSREG ("erxmisc3_el1", CPENC (3,0,5,5,3), 0, AARCH64_FEATURE (RAS)) /* RASv1p1 */
+ SYSREG ("erxpfgcdn_el1", CPENC (3,0,5,4,6), 0, AARCH64_FEATURE (RAS)) /* RASv1p1 */
+ SYSREG ("erxpfgctl_el1", CPENC (3,0,5,4,5), 0, AARCH64_FEATURE (RAS)) /* RASv1p1 */
+ SYSREG ("erxpfgf_el1", CPENC (3,0,5,4,4), F_REG_READ, AARCH64_FEATURE (RAS)) /* RASv1p1 */
SYSREG ("erxstatus_el1", CPENC (3,0,5,4,2), 0, AARCH64_FEATURE (RAS))
SYSREG ("esr_el1", CPENC (3,0,5,2,0), 0, AARCH64_NO_FEATURES)
- SYSREG ("esr_el12", CPENC (3,5,5,2,0), 0, AARCH64_FEATURE (V8_1A))
+ SYSREG ("esr_el12", CPENC (3,5,5,2,0), 0, AARCH64_NO_FEATURES)
SYSREG ("esr_el2", CPENC (3,4,5,2,0), 0, AARCH64_NO_FEATURES)
SYSREG ("esr_el3", CPENC (3,6,5,2,0), 0, AARCH64_NO_FEATURES)
SYSREG ("far_el1", CPENC (3,0,6,0,0), 0, AARCH64_NO_FEATURES)
- SYSREG ("far_el12", CPENC (3,5,6,0,0), 0, AARCH64_FEATURE (V8_1A))
+ SYSREG ("far_el12", CPENC (3,5,6,0,0), 0, AARCH64_NO_FEATURES)
SYSREG ("far_el2", CPENC (3,4,6,0,0), 0, AARCH64_NO_FEATURES)
SYSREG ("far_el3", CPENC (3,6,6,0,0), 0, AARCH64_NO_FEATURES)
SYSREG ("fgwte3_el3", CPENC (3,6,1,1,5), 0, AARCH64_FEATURE (V9_4A)) /* FGWTE3 */
@@ -435,27 +435,27 @@
SYSREG ("gcspr_el2", CPENC (3,4,2,5,1), 0, AARCH64_FEATURE (GCS))
SYSREG ("gcspr_el3", CPENC (3,6,2,5,1), 0, AARCH64_FEATURE (GCS))
SYSREG ("gmid_el1", CPENC (3,1,0,0,4), F_REG_READ, AARCH64_FEATURE (MEMTAG))
- SYSREG ("gpcbw_el3", CPENC (3,6,2,1,5), 0, AARCH64_FEATURE (V9_5A))
- SYSREG ("gpccr_el3", CPENC (3,6,2,1,6), 0, AARCH64_NO_FEATURES)
- SYSREG ("gptbr_el3", CPENC (3,6,2,1,4), 0, AARCH64_NO_FEATURES)
+ SYSREG ("gpcbw_el3", CPENC (3,6,2,1,5), 0, AARCH64_FEATURE (V9_5A)) /* RME_GPC3 */
+ SYSREG ("gpccr_el3", CPENC (3,6,2,1,6), 0, AARCH64_FEATURE (V9_1A)) /* RME */
+ SYSREG ("gptbr_el3", CPENC (3,6,2,1,4), 0, AARCH64_FEATURE (V9_1A)) /* RME */
SYSREG ("hacdbsbr_el2", CPENC (3,4,2,3,4), 0, AARCH64_FEATURE (V9_4A)) /* HACDBS */
SYSREG ("hacdbscons_el2", CPENC (3,4,2,3,5), 0, AARCH64_FEATURE (V9_4A)) /* HACDBS */
SYSREG ("hacr_el2", CPENC (3,4,1,1,7), 0, AARCH64_NO_FEATURES)
- SYSREG ("hafgrtr_el2", CPENC (3,4,3,1,6), 0, AARCH64_FEATURE (V8_6A))
+ SYSREG ("hafgrtr_el2", CPENC (3,4,3,1,6), 0, AARCH64_FEATURE (V8_5A)) /* AMUv1 && FGT */
SYSREG ("hcr_el2", CPENC (3,4,1,1,0), 0, AARCH64_NO_FEATURES)
- SYSREG ("hcrx_el2", CPENC (3,4,1,2,2), 0, AARCH64_FEATURE (V8_7A))
+ SYSREG ("hcrx_el2", CPENC (3,4,1,2,2), 0, AARCH64_FEATURE (V8_6A)) /* HCX */
SYSREG ("hdbssbr_el2", CPENC (3,4,2,3,2), 0, AARCH64_FEATURE (V9_4A)) /* HDBSS */
SYSREG ("hdbssprod_el2", CPENC (3,4,2,3,3), 0, AARCH64_FEATURE (V9_4A)) /* HDBSS */
- SYSREG ("hdfgrtr_el2", CPENC (3,4,3,1,4), 0, AARCH64_FEATURE (V8_6A))
- SYSREG ("hdfgrtr2_el2", CPENC (3,4,3,1,0), 0, AARCH64_FEATURE (FGT2))
- SYSREG ("hdfgwtr_el2", CPENC (3,4,3,1,5), 0, AARCH64_FEATURE (V8_6A))
- SYSREG ("hdfgwtr2_el2", CPENC (3,4,3,1,1), 0, AARCH64_FEATURE (FGT2))
- SYSREG ("hfgitr_el2", CPENC (3,4,1,1,6), 0, AARCH64_FEATURE (V8_6A))
- SYSREG ("hfgitr2_el2", CPENC (3,4,3,1,7), 0, AARCH64_FEATURE (V8_8A))
- SYSREG ("hfgrtr_el2", CPENC (3,4,1,1,4), 0, AARCH64_FEATURE (V8_6A))
- SYSREG ("hfgrtr2_el2", CPENC (3,4,3,1,2), 0, AARCH64_FEATURE (FGT2))
- SYSREG ("hfgwtr_el2", CPENC (3,4,1,1,5), 0, AARCH64_FEATURE (V8_6A))
- SYSREG ("hfgwtr2_el2", CPENC (3,4,3,1,3), 0, AARCH64_FEATURE (FGT2))
+ SYSREG ("hdfgrtr_el2", CPENC (3,4,3,1,4), 0, AARCH64_FEATURE (V8_5A)) /* FGT */
+ SYSREG ("hdfgrtr2_el2", CPENC (3,4,3,1,0), 0, AARCH64_FEATURE (V8_8A)) /* FGT2 */
+ SYSREG ("hdfgwtr_el2", CPENC (3,4,3,1,5), 0, AARCH64_FEATURE (V8_5A)) /* FGT */
+ SYSREG ("hdfgwtr2_el2", CPENC (3,4,3,1,1), 0, AARCH64_FEATURE (V8_8A)) /* FGT2 */
+ SYSREG ("hfgitr_el2", CPENC (3,4,1,1,6), 0, AARCH64_FEATURE (V8_5A)) /* FGT */
+ SYSREG ("hfgitr2_el2", CPENC (3,4,3,1,7), 0, AARCH64_FEATURE (V8_8A)) /* FGT2 */
+ SYSREG ("hfgrtr_el2", CPENC (3,4,1,1,4), 0, AARCH64_FEATURE (V8_5A)) /* FGT */
+ SYSREG ("hfgrtr2_el2", CPENC (3,4,3,1,2), 0, AARCH64_FEATURE (V8_8A)) /* FGT2 */
+ SYSREG ("hfgwtr_el2", CPENC (3,4,1,1,5), 0, AARCH64_FEATURE (V8_5A)) /* FGT */
+ SYSREG ("hfgwtr2_el2", CPENC (3,4,3,1,3), 0, AARCH64_FEATURE (V8_8A)) /* FGT2 */
SYSREG ("hpfar_el2", CPENC (3,4,6,0,4), 0, AARCH64_NO_FEATURES)
SYSREG ("hstr_el2", CPENC (3,4,1,1,3), 0, AARCH64_NO_FEATURES)
SYSREG ("icc_ap0r0_el1", CPENC (3,0,12,8,4), 0, AARCH64_NO_FEATURES)
@@ -481,7 +481,7 @@
SYSREG ("icc_igrpen0_el1", CPENC (3,0,12,12,6), 0, AARCH64_NO_FEATURES)
SYSREG ("icc_igrpen1_el1", CPENC (3,0,12,12,7), 0, AARCH64_NO_FEATURES)
SYSREG ("icc_igrpen1_el3", CPENC (3,6,12,12,7), 0, AARCH64_NO_FEATURES)
- SYSREG ("icc_nmiar1_el1", CPENC (3,0,12,9,5), F_REG_READ, AARCH64_FEATURE (V8_8A))
+ SYSREG ("icc_nmiar1_el1", CPENC (3,0,12,9,5), F_REG_READ, AARCH64_FEATURE (V8_7A)) /* GICv3_NMI */
SYSREG ("icc_pmr_el1", CPENC (3,0,4,6,0), 0, AARCH64_NO_FEATURES)
SYSREG ("icc_rpr_el1", CPENC (3,0,12,11,3), F_REG_READ, AARCH64_NO_FEATURES)
SYSREG ("icc_sgi0r_el1", CPENC (3,0,12,11,7), F_REG_WRITE, AARCH64_NO_FEATURES)
@@ -537,8 +537,8 @@
SYSREG ("id_aa64pfr0_el1", CPENC (3,0,0,4,0), F_REG_READ, AARCH64_NO_FEATURES)
SYSREG ("id_aa64pfr1_el1", CPENC (3,0,0,4,1), F_REG_READ, AARCH64_NO_FEATURES)
SYSREG ("id_aa64pfr2_el1", CPENC (3,0,0,4,2), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("id_aa64smfr0_el1", CPENC (3,0,0,4,5), F_REG_READ, AARCH64_FEATURE (SME))
- SYSREG ("id_aa64zfr0_el1", CPENC (3,0,0,4,4), F_REG_READ, AARCH64_FEATURE (SVE))
+ SYSREG ("id_aa64smfr0_el1", CPENC (3,0,0,4,5), F_REG_READ, AARCH64_NO_FEATURES)
+ SYSREG ("id_aa64zfr0_el1", CPENC (3,0,0,4,4), F_REG_READ, AARCH64_NO_FEATURES)
SYSREG ("id_afr0_el1", CPENC (3,0,0,1,3), F_REG_READ, AARCH64_NO_FEATURES)
SYSREG ("id_dfr0_el1", CPENC (3,0,0,1,2), F_REG_READ, AARCH64_NO_FEATURES)
SYSREG ("id_dfr1_el1", CPENC (3,0,0,3,5), F_REG_READ, AARCH64_NO_FEATURES)
@@ -557,7 +557,7 @@
SYSREG ("id_mmfr5_el1", CPENC (3,0,0,3,6), F_REG_READ, AARCH64_NO_FEATURES)
SYSREG ("id_pfr0_el1", CPENC (3,0,0,1,0), F_REG_READ, AARCH64_NO_FEATURES)
SYSREG ("id_pfr1_el1", CPENC (3,0,0,1,1), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("id_pfr2_el1", CPENC (3,0,0,3,4), F_REG_READ, AARCH64_FEATURE (ID_PFR2))
+ SYSREG ("id_pfr2_el1", CPENC (3,0,0,3,4), F_REG_READ, AARCH64_NO_FEATURES)
SYSREG ("ifsr32_el2", CPENC (3,4,5,0,1), 0, AARCH64_NO_FEATURES)
SYSREG ("isr_el1", CPENC (3,0,12,1,0), F_REG_READ, AARCH64_NO_FEATURES)
SYSREG ("lorc_el1", CPENC (3,0,10,4,3), 0, AARCH64_FEATURE (LOR))
@@ -566,54 +566,54 @@
SYSREG ("lorn_el1", CPENC (3,0,10,4,2), 0, AARCH64_FEATURE (LOR))
SYSREG ("lorsa_el1", CPENC (3,0,10,4,0), 0, AARCH64_FEATURE (LOR))
SYSREG ("mair_el1", CPENC (3,0,10,2,0), 0, AARCH64_NO_FEATURES)
- SYSREG ("mair_el12", CPENC (3,5,10,2,0), 0, AARCH64_FEATURE (V8_1A))
+ SYSREG ("mair_el12", CPENC (3,5,10,2,0), 0, AARCH64_NO_FEATURES)
SYSREG ("mair_el2", CPENC (3,4,10,2,0), 0, AARCH64_NO_FEATURES)
SYSREG ("mair_el3", CPENC (3,6,10,2,0), 0, AARCH64_NO_FEATURES)
- SYSREG ("mair2_el1", CPENC (3,0,10,2,1), 0, AARCH64_FEATURE (AIE))
- SYSREG ("mair2_el12", CPENC (3,5,10,2,1), 0, AARCH64_FEATURE (AIE))
- SYSREG ("mair2_el2", CPENC (3,4,10,1,1), 0, AARCH64_FEATURE (AIE))
- SYSREG ("mair2_el3", CPENC (3,6,10,1,1), 0, AARCH64_FEATURE (AIE))
+ SYSREG ("mair2_el1", CPENC (3,0,10,2,1), 0, AARCH64_FEATURE (V8_8A)) /* AIE */
+ SYSREG ("mair2_el12", CPENC (3,5,10,2,1), 0, AARCH64_FEATURE (V8_8A)) /* AIE */
+ SYSREG ("mair2_el2", CPENC (3,4,10,1,1), 0, AARCH64_FEATURE (V8_8A)) /* AIE */
+ SYSREG ("mair2_el3", CPENC (3,6,10,1,1), 0, AARCH64_FEATURE (V8_8A)) /* AIE */
SYSREG ("mdccint_el1", CPENC (2,0,0,2,0), 0, AARCH64_NO_FEATURES)
SYSREG ("mdccsr_el0", CPENC (2,3,0,1,0), F_REG_READ, AARCH64_NO_FEATURES)
SYSREG ("mdcr_el2", CPENC (3,4,1,1,1), 0, AARCH64_NO_FEATURES)
SYSREG ("mdcr_el3", CPENC (3,6,1,3,1), 0, AARCH64_NO_FEATURES)
SYSREG ("mdrar_el1", CPENC (2,0,1,0,0), F_REG_READ, AARCH64_NO_FEATURES)
SYSREG ("mdscr_el1", CPENC (2,0,0,2,2), 0, AARCH64_NO_FEATURES)
- SYSREG ("mdselr_el1", CPENC (2,0,0,4,2), 0, AARCH64_FEATURE (DEBUGv8p9))
- SYSREG ("mdstepop_el1", CPENC (2,0,0,5,2), 0, AARCH64_FEATURE (STEP2))
- SYSREG ("mecid_a0_el2", CPENC (3,4,10,8,1), 0, AARCH64_FEATURE (V8_7A))
- SYSREG ("mecid_a1_el2", CPENC (3,4,10,8,3), 0, AARCH64_FEATURE (V8_7A))
- SYSREG ("mecid_p0_el2", CPENC (3,4,10,8,0), 0, AARCH64_FEATURE (V8_7A))
- SYSREG ("mecid_p1_el2", CPENC (3,4,10,8,2), 0, AARCH64_FEATURE (V8_7A))
- SYSREG ("mecid_rl_a_el3", CPENC (3,6,10,10,1), 0, AARCH64_FEATURE (V8_7A))
- SYSREG ("mecidr_el2", CPENC (3,4,10,8,7), F_REG_READ, AARCH64_FEATURE (V8_7A))
- SYSREG ("mfar_el3", CPENC (3,6,6,0,5), 0, AARCH64_NO_FEATURES)
+ SYSREG ("mdselr_el1", CPENC (2,0,0,4,2), 0, AARCH64_FEATURE (V8_8A)) /* Debugv8p9 */
+ SYSREG ("mdstepop_el1", CPENC (2,0,0,5,2), 0, AARCH64_FEATURE (V9_4A)) /* STEP2 */
+ SYSREG ("mecid_a0_el2", CPENC (3,4,10,8,1), 0, AARCH64_FEATURE (V9_2A)) /* MEC */
+ SYSREG ("mecid_a1_el2", CPENC (3,4,10,8,3), 0, AARCH64_FEATURE (V9_2A)) /* MEC */
+ SYSREG ("mecid_p0_el2", CPENC (3,4,10,8,0), 0, AARCH64_FEATURE (V9_2A)) /* MEC */
+ SYSREG ("mecid_p1_el2", CPENC (3,4,10,8,2), 0, AARCH64_FEATURE (V9_2A)) /* MEC */
+ SYSREG ("mecid_rl_a_el3", CPENC (3,6,10,10,1), 0, AARCH64_FEATURE (V9_2A)) /* MEC */
+ SYSREG ("mecidr_el2", CPENC (3,4,10,8,7), F_REG_READ, AARCH64_FEATURE (V9_2A)) /* MEC */
+ SYSREG ("mfar_el3", CPENC (3,6,6,0,5), 0, AARCH64_FEATURE (V8_6A)) /* PFAR=>8.8 || RME=>9.1 */
SYSREG ("midr_el1", CPENC (3,0,0,0,0), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("mpam0_el1", CPENC (3,0,10,5,1), 0, AARCH64_NO_FEATURES)
- SYSREG ("mpam1_el1", CPENC (3,0,10,5,0), 0, AARCH64_NO_FEATURES)
- SYSREG ("mpam1_el12", CPENC (3,5,10,5,0), 0, AARCH64_NO_FEATURES)
- SYSREG ("mpam2_el2", CPENC (3,4,10,5,0), 0, AARCH64_NO_FEATURES)
- SYSREG ("mpam3_el3", CPENC (3,6,10,5,0), 0, AARCH64_NO_FEATURES)
- SYSREG ("mpambw0_el1", CPENC (3,0,10,5,5), 0, AARCH64_FEATURE (V9_3A))
- SYSREG ("mpambw1_el1", CPENC (3,0,10,5,4), 0, AARCH64_FEATURE (V9_3A))
- SYSREG ("mpambw1_el12", CPENC (3,5,10,5,4), 0, AARCH64_FEATURE (V9_3A))
- SYSREG ("mpambw2_el2", CPENC (3,4,10,5,4), 0, AARCH64_FEATURE (V9_3A))
- SYSREG ("mpambw3_el3", CPENC (3,6,10,5,4), 0, AARCH64_FEATURE (V9_3A))
- SYSREG ("mpambwcap_el2", CPENC (3,4,10,5,6), 0, AARCH64_FEATURE (V9_3A))
- SYSREG ("mpambwidr_el1", CPENC (3,0,10,4,5), F_REG_READ, AARCH64_FEATURE (V9_3A))
- SYSREG ("mpambwsm_el1", CPENC (3,0,10,5,7), 0, AARCH64_FEATURES (2, SME, V9_3A))
- SYSREG ("mpamhcr_el2", CPENC (3,4,10,4,0), 0, AARCH64_NO_FEATURES)
- SYSREG ("mpamidr_el1", CPENC (3,0,10,4,4), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("mpamsm_el1", CPENC (3,0,10,5,3), 0, AARCH64_FEATURE (SME))
- SYSREG ("mpamvpm0_el2", CPENC (3,4,10,6,0), 0, AARCH64_NO_FEATURES)
- SYSREG ("mpamvpm1_el2", CPENC (3,4,10,6,1), 0, AARCH64_NO_FEATURES)
- SYSREG ("mpamvpm2_el2", CPENC (3,4,10,6,2), 0, AARCH64_NO_FEATURES)
- SYSREG ("mpamvpm3_el2", CPENC (3,4,10,6,3), 0, AARCH64_NO_FEATURES)
- SYSREG ("mpamvpm4_el2", CPENC (3,4,10,6,4), 0, AARCH64_NO_FEATURES)
- SYSREG ("mpamvpm5_el2", CPENC (3,4,10,6,5), 0, AARCH64_NO_FEATURES)
- SYSREG ("mpamvpm6_el2", CPENC (3,4,10,6,6), 0, AARCH64_NO_FEATURES)
- SYSREG ("mpamvpm7_el2", CPENC (3,4,10,6,7), 0, AARCH64_NO_FEATURES)
- SYSREG ("mpamvpmv_el2", CPENC (3,4,10,4,1), 0, AARCH64_NO_FEATURES)
+ SYSREG ("mpam0_el1", CPENC (3,0,10,5,1), 0, AARCH64_FEATURE (V8_2A)) /* MPAM */
+ SYSREG ("mpam1_el1", CPENC (3,0,10,5,0), 0, AARCH64_FEATURE (V8_2A)) /* MPAM */
+ SYSREG ("mpam1_el12", CPENC (3,5,10,5,0), 0, AARCH64_FEATURE (V8_2A)) /* MPAM */
+ SYSREG ("mpam2_el2", CPENC (3,4,10,5,0), 0, AARCH64_FEATURE (V8_2A)) /* MPAM */
+ SYSREG ("mpam3_el3", CPENC (3,6,10,5,0), 0, AARCH64_FEATURE (V8_2A)) /* MPAM */
+ SYSREG ("mpambw0_el1", CPENC (3,0,10,5,5), 0, AARCH64_FEATURE (V9_3A)) /* MPAM_PE_BW_CTRL */
+ SYSREG ("mpambw1_el1", CPENC (3,0,10,5,4), 0, AARCH64_FEATURE (V9_3A)) /* MPAM_PE_BW_CTRL */
+ SYSREG ("mpambw1_el12", CPENC (3,5,10,5,4), 0, AARCH64_FEATURE (V9_3A)) /* MPAM_PE_BW_CTRL */
+ SYSREG ("mpambw2_el2", CPENC (3,4,10,5,4), 0, AARCH64_FEATURE (V9_3A)) /* MPAM_PE_BW_CTRL */
+ SYSREG ("mpambw3_el3", CPENC (3,6,10,5,4), 0, AARCH64_FEATURE (V9_3A)) /* MPAM_PE_BW_CTRL */
+ SYSREG ("mpambwcap_el2", CPENC (3,4,10,5,6), 0, AARCH64_FEATURE (V9_3A)) /* MPAM_PE_BW_CTRL */
+ SYSREG ("mpambwidr_el1", CPENC (3,0,10,4,5), F_REG_READ, AARCH64_FEATURE (V9_3A)) /* MPAM_PE_BW_CTRL */
+ SYSREG ("mpambwsm_el1", CPENC (3,0,10,5,7), 0, AARCH64_FEATURES (2, SME, V9_3A)) /* SME && MPAM_PE_BW_CTRL */
+ SYSREG ("mpamhcr_el2", CPENC (3,4,10,4,0), 0, AARCH64_FEATURE (V8_2A)) /* MPAM */
+ SYSREG ("mpamidr_el1", CPENC (3,0,10,4,4), F_REG_READ, AARCH64_FEATURE (V8_2A)) /* MPAM */
+ SYSREG ("mpamsm_el1", CPENC (3,0,10,5,3), 0, AARCH64_FEATURES (2, SME, V8_2A)) /* SME && MPAM */
+ SYSREG ("mpamvpm0_el2", CPENC (3,4,10,6,0), 0, AARCH64_FEATURE (V8_2A)) /* MPAM */
+ SYSREG ("mpamvpm1_el2", CPENC (3,4,10,6,1), 0, AARCH64_FEATURE (V8_2A)) /* MPAM */
+ SYSREG ("mpamvpm2_el2", CPENC (3,4,10,6,2), 0, AARCH64_FEATURE (V8_2A)) /* MPAM */
+ SYSREG ("mpamvpm3_el2", CPENC (3,4,10,6,3), 0, AARCH64_FEATURE (V8_2A)) /* MPAM */
+ SYSREG ("mpamvpm4_el2", CPENC (3,4,10,6,4), 0, AARCH64_FEATURE (V8_2A)) /* MPAM */
+ SYSREG ("mpamvpm5_el2", CPENC (3,4,10,6,5), 0, AARCH64_FEATURE (V8_2A)) /* MPAM */
+ SYSREG ("mpamvpm6_el2", CPENC (3,4,10,6,6), 0, AARCH64_FEATURE (V8_2A)) /* MPAM */
+ SYSREG ("mpamvpm7_el2", CPENC (3,4,10,6,7), 0, AARCH64_FEATURE (V8_2A)) /* MPAM */
+ SYSREG ("mpamvpmv_el2", CPENC (3,4,10,4,1), 0, AARCH64_FEATURE (V8_2A)) /* MPAM */
SYSREG ("mpidr_el1", CPENC (3,0,0,0,5), F_REG_READ, AARCH64_NO_FEATURES)
SYSREG ("mpuir_el1", CPENC (3,0,0,0,4), F_REG_READ, AARCH64_FEATURE (V8R))
SYSREG ("mpuir_el2", CPENC (3,4,0,0,4), F_REG_READ, AARCH64_FEATURE (V8R))
@@ -629,34 +629,34 @@
SYSREG ("oslsr_el1", CPENC (2,0,1,1,4), F_REG_READ, AARCH64_NO_FEATURES)
SYSREG ("pan", CPENC (3,0,4,2,3), 0, AARCH64_FEATURE (PAN))
SYSREG ("par_el1", CPENC (3,0,7,4,0), F_REG_128, AARCH64_NO_FEATURES)
- SYSREG ("pfar_el1", CPENC (3,0,6,0,5), 0, AARCH64_FEATURE (PFAR))
- SYSREG ("pfar_el12", CPENC (3,5,6,0,5), 0, AARCH64_FEATURE (PFAR))
- SYSREG ("pfar_el2", CPENC (3,4,6,0,5), 0, AARCH64_FEATURE (PFAR))
- SYSREG ("pir_el1", CPENC (3,0,10,2,3), 0, AARCH64_FEATURE (S1PIE))
- SYSREG ("pir_el12", CPENC (3,5,10,2,3), 0, AARCH64_FEATURE (S1PIE))
- SYSREG ("pir_el2", CPENC (3,4,10,2,3), 0, AARCH64_FEATURE (S1PIE))
- SYSREG ("pir_el3", CPENC (3,6,10,2,3), 0, AARCH64_FEATURE (S1PIE))
- SYSREG ("pire0_el1", CPENC (3,0,10,2,2), 0, AARCH64_FEATURE (S1PIE))
- SYSREG ("pire0_el12", CPENC (3,5,10,2,2), 0, AARCH64_FEATURE (S1PIE))
- SYSREG ("pire0_el2", CPENC (3,4,10,2,2), 0, AARCH64_FEATURE (S1PIE))
+ SYSREG ("pfar_el1", CPENC (3,0,6,0,5), 0, AARCH64_FEATURE (V8_8A)) /* PFAR */
+ SYSREG ("pfar_el12", CPENC (3,5,6,0,5), 0, AARCH64_FEATURE (V8_8A)) /* PFAR */
+ SYSREG ("pfar_el2", CPENC (3,4,6,0,5), 0, AARCH64_FEATURE (V8_8A)) /* PFAR */
+ SYSREG ("pir_el1", CPENC (3,0,10,2,3), 0, AARCH64_FEATURE (V8_8A)) /* S1PIE */
+ SYSREG ("pir_el12", CPENC (3,5,10,2,3), 0, AARCH64_FEATURE (V8_8A)) /* S1PIE */
+ SYSREG ("pir_el2", CPENC (3,4,10,2,3), 0, AARCH64_FEATURE (V8_8A)) /* S1PIE */
+ SYSREG ("pir_el3", CPENC (3,6,10,2,3), 0, AARCH64_FEATURE (V8_8A)) /* S1PIE */
+ SYSREG ("pire0_el1", CPENC (3,0,10,2,2), 0, AARCH64_FEATURE (V8_8A)) /* S1PIE */
+ SYSREG ("pire0_el12", CPENC (3,5,10,2,2), 0, AARCH64_FEATURE (V8_8A)) /* S1PIE */
+ SYSREG ("pire0_el2", CPENC (3,4,10,2,2), 0, AARCH64_FEATURE (V8_8A)) /* S1PIE */
SYSREG ("pm", CPENC (3,0,4,3,1), 0, AARCH64_FEATURE (V9_3A)) /* EBEP */
SYSREG ("pmbidr_el1", CPENC (3,0,9,10,7), F_REG_READ, AARCH64_FEATURE (PROFILE))
SYSREG ("pmblimitr_el1", CPENC (3,0,9,10,0), 0, AARCH64_FEATURE (PROFILE))
- SYSREG ("pmbmar_el1", CPENC (3,0,9,10,5), 0, AARCH64_FEATURES (2, PROFILE, V9_5A))
+ SYSREG ("pmbmar_el1", CPENC (3,0,9,10,5), 0, AARCH64_FEATURES (2, PROFILE, V9_5A)) /* SPE_nVM */
SYSREG ("pmbptr_el1", CPENC (3,0,9,10,1), 0, AARCH64_FEATURE (PROFILE))
SYSREG ("pmbsr_el1", CPENC (3,0,9,10,3), 0, AARCH64_FEATURE (PROFILE))
- SYSREG ("pmbsr_el12", CPENC (3,5,9,10,3), 0, AARCH64_FEATURES (2, V9_5A, PROFILE))
- SYSREG ("pmbsr_el2", CPENC (3,4,9,10,3), 0, AARCH64_FEATURES (2, V9_5A, PROFILE))
- SYSREG ("pmbsr_el3", CPENC (3,6,9,10,3), 0, AARCH64_FEATURES (2, V9_5A, PROFILE))
+ SYSREG ("pmbsr_el12", CPENC (3,5,9,10,3), 0, AARCH64_FEATURES (2, V9_5A, PROFILE)) /* SPE_EXC */
+ SYSREG ("pmbsr_el2", CPENC (3,4,9,10,3), 0, AARCH64_FEATURES (2, V9_5A, PROFILE)) /* SPE_EXC */
+ SYSREG ("pmbsr_el3", CPENC (3,6,9,10,3), 0, AARCH64_FEATURES (2, V9_5A, PROFILE)) /* SPE_EXC */
SYSREG ("pmccfiltr_el0", CPENC (3,3,14,15,7), 0, AARCH64_NO_FEATURES)
SYSREG ("pmccntr_el0", CPENC (3,3,9,13,0), 0, AARCH64_NO_FEATURES)
- SYSREG ("pmccntsvr_el1", CPENC (2,0,14,11,7), F_REG_READ, AARCH64_FEATURE (PMUv3_SS))
+ SYSREG ("pmccntsvr_el1", CPENC (2,0,14,11,7), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* PMUv3_SS */
SYSREG ("pmceid0_el0", CPENC (3,3,9,12,6), F_REG_READ, AARCH64_NO_FEATURES)
SYSREG ("pmceid1_el0", CPENC (3,3,9,12,7), F_REG_READ, AARCH64_NO_FEATURES)
SYSREG ("pmcntenclr_el0", CPENC (3,3,9,12,2), 0, AARCH64_NO_FEATURES)
SYSREG ("pmcntenset_el0", CPENC (3,3,9,12,1), 0, AARCH64_NO_FEATURES)
SYSREG ("pmcr_el0", CPENC (3,3,9,12,0), 0, AARCH64_NO_FEATURES)
- SYSREG ("pmecr_el1", CPENC (3,0,9,14,5), 0, AARCH64_FEATURE (SEBEP))
+ SYSREG ("pmecr_el1", CPENC (3,0,9,14,5), 0, AARCH64_FEATURE (V8_8A)) /* EBEP || PMUv3_SS */
SYSREG ("pmevcntr0_el0", CPENC (3,3,14,8,0), 0, AARCH64_NO_FEATURES)
SYSREG ("pmevcntr10_el0", CPENC (3,3,14,9,2), 0, AARCH64_NO_FEATURES)
SYSREG ("pmevcntr11_el0", CPENC (3,3,14,9,3), 0, AARCH64_NO_FEATURES)
@@ -688,37 +688,37 @@
SYSREG ("pmevcntr7_el0", CPENC (3,3,14,8,7), 0, AARCH64_NO_FEATURES)
SYSREG ("pmevcntr8_el0", CPENC (3,3,14,9,0), 0, AARCH64_NO_FEATURES)
SYSREG ("pmevcntr9_el0", CPENC (3,3,14,9,1), 0, AARCH64_NO_FEATURES)
- SYSREG ("pmevcntsvr0_el1", CPENC (2,0,14,8,0), F_REG_READ, AARCH64_FEATURE (PMUv3_SS))
- SYSREG ("pmevcntsvr10_el1", CPENC (2,0,14,9,2), F_REG_READ, AARCH64_FEATURE (PMUv3_SS))
- SYSREG ("pmevcntsvr11_el1", CPENC (2,0,14,9,3), F_REG_READ, AARCH64_FEATURE (PMUv3_SS))
- SYSREG ("pmevcntsvr12_el1", CPENC (2,0,14,9,4), F_REG_READ, AARCH64_FEATURE (PMUv3_SS))
- SYSREG ("pmevcntsvr13_el1", CPENC (2,0,14,9,5), F_REG_READ, AARCH64_FEATURE (PMUv3_SS))
- SYSREG ("pmevcntsvr14_el1", CPENC (2,0,14,9,6), F_REG_READ, AARCH64_FEATURE (PMUv3_SS))
- SYSREG ("pmevcntsvr15_el1", CPENC (2,0,14,9,7), F_REG_READ, AARCH64_FEATURE (PMUv3_SS))
- SYSREG ("pmevcntsvr16_el1", CPENC (2,0,14,10,0), F_REG_READ, AARCH64_FEATURE (PMUv3_SS))
- SYSREG ("pmevcntsvr17_el1", CPENC (2,0,14,10,1), F_REG_READ, AARCH64_FEATURE (PMUv3_SS))
- SYSREG ("pmevcntsvr18_el1", CPENC (2,0,14,10,2), F_REG_READ, AARCH64_FEATURE (PMUv3_SS))
- SYSREG ("pmevcntsvr19_el1", CPENC (2,0,14,10,3), F_REG_READ, AARCH64_FEATURE (PMUv3_SS))
- SYSREG ("pmevcntsvr1_el1", CPENC (2,0,14,8,1), F_REG_READ, AARCH64_FEATURE (PMUv3_SS))
- SYSREG ("pmevcntsvr20_el1", CPENC (2,0,14,10,4), F_REG_READ, AARCH64_FEATURE (PMUv3_SS))
- SYSREG ("pmevcntsvr21_el1", CPENC (2,0,14,10,5), F_REG_READ, AARCH64_FEATURE (PMUv3_SS))
- SYSREG ("pmevcntsvr22_el1", CPENC (2,0,14,10,6), F_REG_READ, AARCH64_FEATURE (PMUv3_SS))
- SYSREG ("pmevcntsvr23_el1", CPENC (2,0,14,10,7), F_REG_READ, AARCH64_FEATURE (PMUv3_SS))
- SYSREG ("pmevcntsvr24_el1", CPENC (2,0,14,11,0), F_REG_READ, AARCH64_FEATURE (PMUv3_SS))
- SYSREG ("pmevcntsvr25_el1", CPENC (2,0,14,11,1), F_REG_READ, AARCH64_FEATURE (PMUv3_SS))
- SYSREG ("pmevcntsvr26_el1", CPENC (2,0,14,11,2), F_REG_READ, AARCH64_FEATURE (PMUv3_SS))
- SYSREG ("pmevcntsvr27_el1", CPENC (2,0,14,11,3), F_REG_READ, AARCH64_FEATURE (PMUv3_SS))
- SYSREG ("pmevcntsvr28_el1", CPENC (2,0,14,11,4), F_REG_READ, AARCH64_FEATURE (PMUv3_SS))
- SYSREG ("pmevcntsvr29_el1", CPENC (2,0,14,11,5), F_REG_READ, AARCH64_FEATURE (PMUv3_SS))
- SYSREG ("pmevcntsvr2_el1", CPENC (2,0,14,8,2), F_REG_READ, AARCH64_FEATURE (PMUv3_SS))
- SYSREG ("pmevcntsvr30_el1", CPENC (2,0,14,11,6), F_REG_READ, AARCH64_FEATURE (PMUv3_SS))
- SYSREG ("pmevcntsvr3_el1", CPENC (2,0,14,8,3), F_REG_READ, AARCH64_FEATURE (PMUv3_SS))
- SYSREG ("pmevcntsvr4_el1", CPENC (2,0,14,8,4), F_REG_READ, AARCH64_FEATURE (PMUv3_SS))
- SYSREG ("pmevcntsvr5_el1", CPENC (2,0,14,8,5), F_REG_READ, AARCH64_FEATURE (PMUv3_SS))
- SYSREG ("pmevcntsvr6_el1", CPENC (2,0,14,8,6), F_REG_READ, AARCH64_FEATURE (PMUv3_SS))
- SYSREG ("pmevcntsvr7_el1", CPENC (2,0,14,8,7), F_REG_READ, AARCH64_FEATURE (PMUv3_SS))
- SYSREG ("pmevcntsvr8_el1", CPENC (2,0,14,9,0), F_REG_READ, AARCH64_FEATURE (PMUv3_SS))
- SYSREG ("pmevcntsvr9_el1", CPENC (2,0,14,9,1), F_REG_READ, AARCH64_FEATURE (PMUv3_SS))
+ SYSREG ("pmevcntsvr0_el1", CPENC (2,0,14,8,0), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* PMUv3_SS */
+ SYSREG ("pmevcntsvr10_el1", CPENC (2,0,14,9,2), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* PMUv3_SS */
+ SYSREG ("pmevcntsvr11_el1", CPENC (2,0,14,9,3), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* PMUv3_SS */
+ SYSREG ("pmevcntsvr12_el1", CPENC (2,0,14,9,4), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* PMUv3_SS */
+ SYSREG ("pmevcntsvr13_el1", CPENC (2,0,14,9,5), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* PMUv3_SS */
+ SYSREG ("pmevcntsvr14_el1", CPENC (2,0,14,9,6), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* PMUv3_SS */
+ SYSREG ("pmevcntsvr15_el1", CPENC (2,0,14,9,7), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* PMUv3_SS */
+ SYSREG ("pmevcntsvr16_el1", CPENC (2,0,14,10,0), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* PMUv3_SS */
+ SYSREG ("pmevcntsvr17_el1", CPENC (2,0,14,10,1), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* PMUv3_SS */
+ SYSREG ("pmevcntsvr18_el1", CPENC (2,0,14,10,2), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* PMUv3_SS */
+ SYSREG ("pmevcntsvr19_el1", CPENC (2,0,14,10,3), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* PMUv3_SS */
+ SYSREG ("pmevcntsvr1_el1", CPENC (2,0,14,8,1), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* PMUv3_SS */
+ SYSREG ("pmevcntsvr20_el1", CPENC (2,0,14,10,4), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* PMUv3_SS */
+ SYSREG ("pmevcntsvr21_el1", CPENC (2,0,14,10,5), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* PMUv3_SS */
+ SYSREG ("pmevcntsvr22_el1", CPENC (2,0,14,10,6), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* PMUv3_SS */
+ SYSREG ("pmevcntsvr23_el1", CPENC (2,0,14,10,7), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* PMUv3_SS */
+ SYSREG ("pmevcntsvr24_el1", CPENC (2,0,14,11,0), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* PMUv3_SS */
+ SYSREG ("pmevcntsvr25_el1", CPENC (2,0,14,11,1), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* PMUv3_SS */
+ SYSREG ("pmevcntsvr26_el1", CPENC (2,0,14,11,2), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* PMUv3_SS */
+ SYSREG ("pmevcntsvr27_el1", CPENC (2,0,14,11,3), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* PMUv3_SS */
+ SYSREG ("pmevcntsvr28_el1", CPENC (2,0,14,11,4), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* PMUv3_SS */
+ SYSREG ("pmevcntsvr29_el1", CPENC (2,0,14,11,5), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* PMUv3_SS */
+ SYSREG ("pmevcntsvr2_el1", CPENC (2,0,14,8,2), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* PMUv3_SS */
+ SYSREG ("pmevcntsvr30_el1", CPENC (2,0,14,11,6), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* PMUv3_SS */
+ SYSREG ("pmevcntsvr3_el1", CPENC (2,0,14,8,3), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* PMUv3_SS */
+ SYSREG ("pmevcntsvr4_el1", CPENC (2,0,14,8,4), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* PMUv3_SS */
+ SYSREG ("pmevcntsvr5_el1", CPENC (2,0,14,8,5), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* PMUv3_SS */
+ SYSREG ("pmevcntsvr6_el1", CPENC (2,0,14,8,6), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* PMUv3_SS */
+ SYSREG ("pmevcntsvr7_el1", CPENC (2,0,14,8,7), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* PMUv3_SS */
+ SYSREG ("pmevcntsvr8_el1", CPENC (2,0,14,9,0), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* PMUv3_SS */
+ SYSREG ("pmevcntsvr9_el1", CPENC (2,0,14,9,1), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* PMUv3_SS */
SYSREG ("pmevtyper0_el0", CPENC (3,3,14,12,0), 0, AARCH64_NO_FEATURES)
SYSREG ("pmevtyper10_el0", CPENC (3,3,14,13,2), 0, AARCH64_NO_FEATURES)
SYSREG ("pmevtyper11_el0", CPENC (3,3,14,13,3), 0, AARCH64_NO_FEATURES)
@@ -750,19 +750,19 @@
SYSREG ("pmevtyper7_el0", CPENC (3,3,14,12,7), 0, AARCH64_NO_FEATURES)
SYSREG ("pmevtyper8_el0", CPENC (3,3,14,13,0), 0, AARCH64_NO_FEATURES)
SYSREG ("pmevtyper9_el0", CPENC (3,3,14,13,1), 0, AARCH64_NO_FEATURES)
- SYSREG ("pmiar_el1", CPENC (3,0,9,14,7), 0, AARCH64_FEATURE (SEBEP))
- SYSREG ("pmicfiltr_el0", CPENC (3,3,9,6,0), 0, AARCH64_FEATURE (PMUv3_ICNTR))
- SYSREG ("pmicntr_el0", CPENC (3,3,9,4,0), 0, AARCH64_FEATURE (PMUv3_ICNTR))
- SYSREG ("pmicntsvr_el1", CPENC (2,0,14,12,0), F_REG_READ, AARCH64_FEATURE (PMUv3_SS))
+ SYSREG ("pmiar_el1", CPENC (3,0,9,14,7), 0, AARCH64_FEATURE (V9_3A)) /* SEBEP */
+ SYSREG ("pmicfiltr_el0", CPENC (3,3,9,6,0), 0, AARCH64_FEATURE (V8_8A)) /* PMUv3_ICNTR */
+ SYSREG ("pmicntr_el0", CPENC (3,3,9,4,0), 0, AARCH64_FEATURE (V8_8A)) /* PMUv3_ICNTR */
+ SYSREG ("pmicntsvr_el1", CPENC (2,0,14,12,0), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* PMUv3_ICNTR && PMUv3_SS */
SYSREG ("pmintenclr_el1", CPENC (3,0,9,14,2), 0, AARCH64_NO_FEATURES)
SYSREG ("pmintenset_el1", CPENC (3,0,9,14,1), 0, AARCH64_NO_FEATURES)
- SYSREG ("pmmir_el1", CPENC (3,0,9,14,6), F_REG_READ, AARCH64_FEATURE (V8_4A))
+ SYSREG ("pmmir_el1", CPENC (3,0,9,14,6), F_REG_READ, AARCH64_FEATURE (V8_3A)) /* PMUv3p4 */
SYSREG ("pmovsclr_el0", CPENC (3,3,9,12,3), 0, AARCH64_NO_FEATURES)
SYSREG ("pmovsset_el0", CPENC (3,3,9,14,3), 0, AARCH64_NO_FEATURES)
SYSREG ("pmscr_el1", CPENC (3,0,9,9,0), 0, AARCH64_FEATURE (PROFILE))
SYSREG ("pmscr_el12", CPENC (3,5,9,9,0), 0, AARCH64_FEATURE (PROFILE))
SYSREG ("pmscr_el2", CPENC (3,4,9,9,0), 0, AARCH64_FEATURE (PROFILE))
- SYSREG ("pmsdsfr_el1", CPENC (3,0,9,10,4), 0, AARCH64_FEATURE (SPE_FDS))
+ SYSREG ("pmsdsfr_el1", CPENC (3,0,9,10,4), 0, AARCH64_FEATURES (2, PROFILE, V8_8A)) /* SPE_FDS */
SYSREG ("pmselr_el0", CPENC (3,3,9,12,5), 0, AARCH64_NO_FEATURES)
SYSREG ("pmsevfr_el1", CPENC (3,0,9,9,5), 0, AARCH64_FEATURE (PROFILE))
SYSREG ("pmsfcr_el1", CPENC (3,0,9,9,4), 0, AARCH64_FEATURE (PROFILE))
@@ -770,19 +770,19 @@
SYSREG ("pmsidr_el1", CPENC (3,0,9,9,7), F_REG_READ, AARCH64_FEATURE (PROFILE))
SYSREG ("pmsirr_el1", CPENC (3,0,9,9,3), 0, AARCH64_FEATURE (PROFILE))
SYSREG ("pmslatfr_el1", CPENC (3,0,9,9,6), 0, AARCH64_FEATURE (PROFILE))
- SYSREG ("pmsnevfr_el1", CPENC (3,0,9,9,1), 0, AARCH64_FEATURE (V8_7A))
- SYSREG ("pmsscr_el1", CPENC (3,0,9,13,3), 0, AARCH64_FEATURE (PMUv3_SS))
+ SYSREG ("pmsnevfr_el1", CPENC (3,0,9,9,1), 0, AARCH64_FEATURES (2, PROFILE, V8_6A)) /* SPE_FnE */
+ SYSREG ("pmsscr_el1", CPENC (3,0,9,13,3), 0, AARCH64_FEATURE (V8_8A)) /* PMUv3_SS */
SYSREG ("pmswinc_el0", CPENC (3,3,9,12,4), F_REG_WRITE, AARCH64_NO_FEATURES)
- SYSREG ("pmuacr_el1", CPENC (3,0,9,14,4), 0, AARCH64_FEATURE (PMUv3p9))
+ SYSREG ("pmuacr_el1", CPENC (3,0,9,14,4), 0, AARCH64_FEATURE (V8_8A)) /* PMUv3p9 */
SYSREG ("pmuserenr_el0", CPENC (3,3,9,14,0), 0, AARCH64_NO_FEATURES)
SYSREG ("pmxevcntr_el0", CPENC (3,3,9,13,2), 0, AARCH64_NO_FEATURES)
SYSREG ("pmxevtyper_el0", CPENC (3,3,9,13,1), 0, AARCH64_NO_FEATURES)
- SYSREG ("pmzr_el0", CPENC (3,3,9,13,4), F_REG_WRITE, AARCH64_FEATURE (PMUv3_ICNTR))
- SYSREG ("por_el0", CPENC (3,3,10,2,4), 0, AARCH64_FEATURE (S1POE))
- SYSREG ("por_el1", CPENC (3,0,10,2,4), 0, AARCH64_FEATURE (S1POE))
- SYSREG ("por_el12", CPENC (3,5,10,2,4), 0, AARCH64_FEATURE (S1POE))
- SYSREG ("por_el2", CPENC (3,4,10,2,4), 0, AARCH64_FEATURE (S1POE))
- SYSREG ("por_el3", CPENC (3,6,10,2,4), 0, AARCH64_FEATURE (S1POE))
+ SYSREG ("pmzr_el0", CPENC (3,3,9,13,4), F_REG_WRITE, AARCH64_FEATURE (V8_8A)) /* PMUv3p9 */
+ SYSREG ("por_el0", CPENC (3,3,10,2,4), 0, AARCH64_FEATURE (V8_8A)) /* S1POE */
+ SYSREG ("por_el1", CPENC (3,0,10,2,4), 0, AARCH64_FEATURE (V8_8A)) /* S1POE */
+ SYSREG ("por_el12", CPENC (3,5,10,2,4), 0, AARCH64_FEATURE (V8_8A)) /* S1POE */
+ SYSREG ("por_el2", CPENC (3,4,10,2,4), 0, AARCH64_FEATURE (V8_8A)) /* S1POE */
+ SYSREG ("por_el3", CPENC (3,6,10,2,4), 0, AARCH64_FEATURE (V8_8A)) /* S1POE */
SYSREG ("prbar10_el1", CPENC (3,0,6,13,0), 0, AARCH64_FEATURE (V8R))
SYSREG ("prbar10_el2", CPENC (3,4,6,13,0), 0, AARCH64_FEATURE (V8R))
SYSREG ("prbar11_el1", CPENC (3,0,6,13,4), 0, AARCH64_FEATURE (V8R))
@@ -863,17 +863,17 @@
SYSREG ("rvbar_el1", CPENC (3,0,12,0,1), F_REG_READ, AARCH64_NO_FEATURES)
SYSREG ("rvbar_el2", CPENC (3,4,12,0,1), F_REG_READ, AARCH64_NO_FEATURES)
SYSREG ("rvbar_el3", CPENC (3,6,12,0,1), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("s2pir_el2", CPENC (3,4,10,2,5), 0, AARCH64_FEATURE (S2PIE))
- SYSREG ("s2por_el1", CPENC (3,0,10,2,5), 0, AARCH64_FEATURE (S2POE))
+ SYSREG ("s2pir_el2", CPENC (3,4,10,2,5), 0, AARCH64_FEATURE (V8_8A)) /* S2PIE */
+ SYSREG ("s2por_el1", CPENC (3,0,10,2,5), 0, AARCH64_FEATURE (V8_8A)) /* S2POE */
SYSREG ("scr_el3", CPENC (3,6,1,1,0), 0, AARCH64_NO_FEATURES)
SYSREG ("sctlr_el1", CPENC (3,0,1,0,0), 0, AARCH64_NO_FEATURES)
- SYSREG ("sctlr_el12", CPENC (3,5,1,0,0), 0, AARCH64_FEATURE (V8_1A))
+ SYSREG ("sctlr_el12", CPENC (3,5,1,0,0), 0, AARCH64_NO_FEATURES)
SYSREG ("sctlr_el2", CPENC (3,4,1,0,0), 0, AARCH64_NO_FEATURES)
SYSREG ("sctlr_el3", CPENC (3,6,1,0,0), 0, AARCH64_NO_FEATURES)
- SYSREG ("sctlr2_el1", CPENC (3,0,1,0,3), 0, AARCH64_FEATURE (SCTLR2))
- SYSREG ("sctlr2_el12", CPENC (3,5,1,0,3), 0, AARCH64_FEATURE (SCTLR2))
- SYSREG ("sctlr2_el2", CPENC (3,4,1,0,3), 0, AARCH64_FEATURE (SCTLR2))
- SYSREG ("sctlr2_el3", CPENC (3,6,1,0,3), 0, AARCH64_FEATURE (SCTLR2))
+ SYSREG ("sctlr2_el1", CPENC (3,0,1,0,3), 0, AARCH64_NO_FEATURES)
+ SYSREG ("sctlr2_el12", CPENC (3,5,1,0,3), 0, AARCH64_NO_FEATURES)
+ SYSREG ("sctlr2_el2", CPENC (3,4,1,0,3), 0, AARCH64_NO_FEATURES)
+ SYSREG ("sctlr2_el3", CPENC (3,6,1,0,3), 0, AARCH64_NO_FEATURES)
SYSREG ("sctlr2alias_el1", CPENC (3,0,1,4,7), 0, AARCH64_FEATURE (V9_5A)) /* SRMASK */
SYSREG ("sctlr2mask_el1", CPENC (3,0,1,4,3), 0, AARCH64_FEATURE (V9_5A)) /* SRMASK */
SYSREG ("sctlr2mask_el12", CPENC (3,5,1,4,3), 0, AARCH64_FEATURE (V9_5A)) /* SRMASK */
@@ -882,12 +882,12 @@
SYSREG ("sctlrmask_el1", CPENC (3,0,1,4,0), 0, AARCH64_FEATURE (V9_5A)) /* SRMASK */
SYSREG ("sctlrmask_el12", CPENC (3,5,1,4,0), 0, AARCH64_FEATURE (V9_5A)) /* SRMASK */
SYSREG ("sctlrmask_el2", CPENC (3,4,1,4,0), 0, AARCH64_FEATURE (V9_5A)) /* SRMASK */
- SYSREG ("scxtnum_el0", CPENC (3,3,13,0,7), 0, AARCH64_FEATURE (SCXTNUM))
- SYSREG ("scxtnum_el1", CPENC (3,0,13,0,7), 0, AARCH64_FEATURE (SCXTNUM))
- SYSREG ("scxtnum_el12", CPENC (3,5,13,0,7), 0, AARCH64_FEATURE (SCXTNUM))
- SYSREG ("scxtnum_el2", CPENC (3,4,13,0,7), 0, AARCH64_FEATURE (SCXTNUM))
- SYSREG ("scxtnum_el3", CPENC (3,6,13,0,7), 0, AARCH64_FEATURE (SCXTNUM))
- SYSREG ("sder32_el2", CPENC (3,4,1,3,1), 0, AARCH64_FEATURE (V8_4A))
+ SYSREG ("scxtnum_el0", CPENC (3,3,13,0,7), 0, AARCH64_NO_FEATURES) /* CSV2_2 || CSV2_1p2 */
+ SYSREG ("scxtnum_el1", CPENC (3,0,13,0,7), 0, AARCH64_NO_FEATURES) /* CSV2_2 || CSV2_1p2 */
+ SYSREG ("scxtnum_el12", CPENC (3,5,13,0,7), 0, AARCH64_NO_FEATURES) /* CSV2_2 || CSV2_1p2 */
+ SYSREG ("scxtnum_el2", CPENC (3,4,13,0,7), 0, AARCH64_NO_FEATURES) /* CSV2_2 || CSV2_1p2 */
+ SYSREG ("scxtnum_el3", CPENC (3,6,13,0,7), 0, AARCH64_NO_FEATURES) /* CSV2_2 || CSV2_1p2 */
+ SYSREG ("sder32_el2", CPENC (3,4,1,3,1), 0, AARCH64_FEATURE (V8_3A)) /* SEL2 */
SYSREG ("sder32_el3", CPENC (3,6,1,1,1), 0, AARCH64_NO_FEATURES)
SYSREG ("smcr_el1", CPENC (3,0,1,2,6), 0, AARCH64_FEATURE (SME))
SYSREG ("smcr_el12", CPENC (3,5,1,2,6), 0, AARCH64_FEATURE (SME))
@@ -899,95 +899,95 @@
SYSREG ("sp_el0", CPENC (3,0,4,1,0), 0, AARCH64_NO_FEATURES)
SYSREG ("sp_el1", CPENC (3,4,4,1,0), 0, AARCH64_NO_FEATURES)
SYSREG ("sp_el2", CPENC (3,6,4,1,0), 0, AARCH64_NO_FEATURES)
- SYSREG ("spmaccessr_el1", CPENC (2,0,9,13,3), 0, AARCH64_FEATURE (SPMU))
+ SYSREG ("spmaccessr_el1", CPENC (2,0,9,13,3), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
SYSREG ("spmaccessr_el12", CPENC (2,5,9,13,3), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
- SYSREG ("spmaccessr_el2", CPENC (2,4,9,13,3), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmaccessr_el3", CPENC (2,6,9,13,3), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmcfgr_el1", CPENC (2,0,9,13,7), F_REG_READ, AARCH64_FEATURE (SPMU))
- SYSREG ("spmcgcr0_el1", CPENC (2,0,9,13,0), F_REG_READ, AARCH64_FEATURE (SPMU))
- SYSREG ("spmcgcr1_el1", CPENC (2,0,9,13,1), F_REG_READ, AARCH64_FEATURE (SPMU))
- SYSREG ("spmcntenclr_el0", CPENC (2,3,9,12,2), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmcntenset_el0", CPENC (2,3,9,12,1), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmcr_el0", CPENC (2,3,9,12,0), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmdevaff_el1", CPENC (2,0,9,13,6), F_REG_READ, AARCH64_FEATURE (SPMU))
- SYSREG ("spmdevarch_el1", CPENC (2,0,9,13,5), F_REG_READ, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevcntr0_el0", CPENC (2,3,14,0,0), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevcntr1_el0", CPENC (2,3,14,0,1), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevcntr2_el0", CPENC (2,3,14,0,2), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevcntr3_el0", CPENC (2,3,14,0,3), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevcntr4_el0", CPENC (2,3,14,0,4), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevcntr5_el0", CPENC (2,3,14,0,5), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevcntr6_el0", CPENC (2,3,14,0,6), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevcntr7_el0", CPENC (2,3,14,0,7), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevcntr8_el0", CPENC (2,3,14,1,0), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevcntr9_el0", CPENC (2,3,14,1,1), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevcntr10_el0", CPENC (2,3,14,1,2), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevcntr11_el0", CPENC (2,3,14,1,3), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevcntr12_el0", CPENC (2,3,14,1,4), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevcntr13_el0", CPENC (2,3,14,1,5), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevcntr14_el0", CPENC (2,3,14,1,6), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevcntr15_el0", CPENC (2,3,14,1,7), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevfilt2r0_el0", CPENC (2,3,14,6,0), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevfilt2r1_el0", CPENC (2,3,14,6,1), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevfilt2r2_el0", CPENC (2,3,14,6,2), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevfilt2r3_el0", CPENC (2,3,14,6,3), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevfilt2r4_el0", CPENC (2,3,14,6,4), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevfilt2r5_el0", CPENC (2,3,14,6,5), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevfilt2r6_el0", CPENC (2,3,14,6,6), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevfilt2r7_el0", CPENC (2,3,14,6,7), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevfilt2r8_el0", CPENC (2,3,14,7,0), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevfilt2r9_el0", CPENC (2,3,14,7,1), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevfilt2r10_el0", CPENC (2,3,14,7,2), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevfilt2r11_el0", CPENC (2,3,14,7,3), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevfilt2r12_el0", CPENC (2,3,14,7,4), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevfilt2r13_el0", CPENC (2,3,14,7,5), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevfilt2r14_el0", CPENC (2,3,14,7,6), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevfilt2r15_el0", CPENC (2,3,14,7,7), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevfiltr0_el0", CPENC (2,3,14,4,0), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevfiltr1_el0", CPENC (2,3,14,4,1), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevfiltr2_el0", CPENC (2,3,14,4,2), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevfiltr3_el0", CPENC (2,3,14,4,3), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevfiltr4_el0", CPENC (2,3,14,4,4), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevfiltr5_el0", CPENC (2,3,14,4,5), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevfiltr6_el0", CPENC (2,3,14,4,6), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevfiltr7_el0", CPENC (2,3,14,4,7), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevfiltr8_el0", CPENC (2,3,14,5,0), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevfiltr9_el0", CPENC (2,3,14,5,1), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevfiltr10_el0", CPENC (2,3,14,5,2), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevfiltr11_el0", CPENC (2,3,14,5,3), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevfiltr12_el0", CPENC (2,3,14,5,4), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevfiltr13_el0", CPENC (2,3,14,5,5), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevfiltr14_el0", CPENC (2,3,14,5,6), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevfiltr15_el0", CPENC (2,3,14,5,7), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevtyper0_el0", CPENC (2,3,14,2,0), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevtyper1_el0", CPENC (2,3,14,2,1), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevtyper2_el0", CPENC (2,3,14,2,2), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevtyper3_el0", CPENC (2,3,14,2,3), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevtyper4_el0", CPENC (2,3,14,2,4), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevtyper5_el0", CPENC (2,3,14,2,5), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevtyper6_el0", CPENC (2,3,14,2,6), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevtyper7_el0", CPENC (2,3,14,2,7), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevtyper8_el0", CPENC (2,3,14,3,0), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevtyper9_el0", CPENC (2,3,14,3,1), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevtyper10_el0", CPENC (2,3,14,3,2), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevtyper11_el0", CPENC (2,3,14,3,3), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevtyper12_el0", CPENC (2,3,14,3,4), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevtyper13_el0", CPENC (2,3,14,3,5), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevtyper14_el0", CPENC (2,3,14,3,6), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmevtyper15_el0", CPENC (2,3,14,3,7), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmiidr_el1", CPENC (2,0,9,13,4), F_REG_READ, AARCH64_FEATURE (SPMU))
- SYSREG ("spmintenclr_el1", CPENC (2,0,9,14,2), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmintenset_el1", CPENC (2,0,9,14,1), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmovsclr_el0", CPENC (2,3,9,12,3), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmovsset_el0", CPENC (2,3,9,14,3), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmrootcr_el3", CPENC (2,6,9,14,7), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmscr_el1", CPENC (2,7,9,14,7), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmselr_el0", CPENC (2,3,9,12,5), 0, AARCH64_FEATURE (SPMU))
- SYSREG ("spmzr_el0", CPENC (2,3,9,12,4), F_REG_WRITE, AARCH64_FEATURE (SPMU2))
+ SYSREG ("spmaccessr_el2", CPENC (2,4,9,13,3), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmaccessr_el3", CPENC (2,6,9,13,3), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmcfgr_el1", CPENC (2,0,9,13,7), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmcgcr0_el1", CPENC (2,0,9,13,0), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmcgcr1_el1", CPENC (2,0,9,13,1), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmcntenclr_el0", CPENC (2,3,9,12,2), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmcntenset_el0", CPENC (2,3,9,12,1), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmcr_el0", CPENC (2,3,9,12,0), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmdevaff_el1", CPENC (2,0,9,13,6), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmdevarch_el1", CPENC (2,0,9,13,5), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevcntr0_el0", CPENC (2,3,14,0,0), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevcntr1_el0", CPENC (2,3,14,0,1), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevcntr2_el0", CPENC (2,3,14,0,2), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevcntr3_el0", CPENC (2,3,14,0,3), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevcntr4_el0", CPENC (2,3,14,0,4), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevcntr5_el0", CPENC (2,3,14,0,5), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevcntr6_el0", CPENC (2,3,14,0,6), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevcntr7_el0", CPENC (2,3,14,0,7), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevcntr8_el0", CPENC (2,3,14,1,0), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevcntr9_el0", CPENC (2,3,14,1,1), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevcntr10_el0", CPENC (2,3,14,1,2), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevcntr11_el0", CPENC (2,3,14,1,3), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevcntr12_el0", CPENC (2,3,14,1,4), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevcntr13_el0", CPENC (2,3,14,1,5), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevcntr14_el0", CPENC (2,3,14,1,6), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevcntr15_el0", CPENC (2,3,14,1,7), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevfilt2r0_el0", CPENC (2,3,14,6,0), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevfilt2r1_el0", CPENC (2,3,14,6,1), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevfilt2r2_el0", CPENC (2,3,14,6,2), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevfilt2r3_el0", CPENC (2,3,14,6,3), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevfilt2r4_el0", CPENC (2,3,14,6,4), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevfilt2r5_el0", CPENC (2,3,14,6,5), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevfilt2r6_el0", CPENC (2,3,14,6,6), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevfilt2r7_el0", CPENC (2,3,14,6,7), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevfilt2r8_el0", CPENC (2,3,14,7,0), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevfilt2r9_el0", CPENC (2,3,14,7,1), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevfilt2r10_el0", CPENC (2,3,14,7,2), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevfilt2r11_el0", CPENC (2,3,14,7,3), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevfilt2r12_el0", CPENC (2,3,14,7,4), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevfilt2r13_el0", CPENC (2,3,14,7,5), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevfilt2r14_el0", CPENC (2,3,14,7,6), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevfilt2r15_el0", CPENC (2,3,14,7,7), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevfiltr0_el0", CPENC (2,3,14,4,0), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevfiltr1_el0", CPENC (2,3,14,4,1), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevfiltr2_el0", CPENC (2,3,14,4,2), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevfiltr3_el0", CPENC (2,3,14,4,3), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevfiltr4_el0", CPENC (2,3,14,4,4), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevfiltr5_el0", CPENC (2,3,14,4,5), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevfiltr6_el0", CPENC (2,3,14,4,6), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevfiltr7_el0", CPENC (2,3,14,4,7), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevfiltr8_el0", CPENC (2,3,14,5,0), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevfiltr9_el0", CPENC (2,3,14,5,1), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevfiltr10_el0", CPENC (2,3,14,5,2), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevfiltr11_el0", CPENC (2,3,14,5,3), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevfiltr12_el0", CPENC (2,3,14,5,4), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevfiltr13_el0", CPENC (2,3,14,5,5), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevfiltr14_el0", CPENC (2,3,14,5,6), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevfiltr15_el0", CPENC (2,3,14,5,7), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevtyper0_el0", CPENC (2,3,14,2,0), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevtyper1_el0", CPENC (2,3,14,2,1), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevtyper2_el0", CPENC (2,3,14,2,2), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevtyper3_el0", CPENC (2,3,14,2,3), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevtyper4_el0", CPENC (2,3,14,2,4), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevtyper5_el0", CPENC (2,3,14,2,5), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevtyper6_el0", CPENC (2,3,14,2,6), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevtyper7_el0", CPENC (2,3,14,2,7), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevtyper8_el0", CPENC (2,3,14,3,0), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevtyper9_el0", CPENC (2,3,14,3,1), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevtyper10_el0", CPENC (2,3,14,3,2), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevtyper11_el0", CPENC (2,3,14,3,3), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevtyper12_el0", CPENC (2,3,14,3,4), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevtyper13_el0", CPENC (2,3,14,3,5), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevtyper14_el0", CPENC (2,3,14,3,6), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmevtyper15_el0", CPENC (2,3,14,3,7), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmiidr_el1", CPENC (2,0,9,13,4), F_REG_READ, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmintenclr_el1", CPENC (2,0,9,14,2), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmintenset_el1", CPENC (2,0,9,14,1), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmovsclr_el0", CPENC (2,3,9,12,3), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmovsset_el0", CPENC (2,3,9,14,3), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmrootcr_el3", CPENC (2,6,9,14,7), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmscr_el1", CPENC (2,7,9,14,7), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmselr_el0", CPENC (2,3,9,12,5), 0, AARCH64_FEATURE (V8_8A)) /* SPMU */
+ SYSREG ("spmzr_el0", CPENC (2,3,9,12,4), F_REG_WRITE, AARCH64_FEATURE (V9_4A)) /* SPMU2 */
SYSREG ("spsel", CPENC (3,0,4,2,0), 0, AARCH64_NO_FEATURES)
SYSREG ("spsr_abt", CPENC (3,4,4,3,1), 0, AARCH64_NO_FEATURES)
SYSREG ("spsr_el1", CPENC (3,0,4,0,0), 0, AARCH64_NO_FEATURES)
- SYSREG ("spsr_el12", CPENC (3,5,4,0,0), 0, AARCH64_FEATURE (V8_1A))
+ SYSREG ("spsr_el12", CPENC (3,5,4,0,0), 0, AARCH64_NO_FEATURES)
SYSREG ("spsr_el2", CPENC (3,4,4,0,0), 0, AARCH64_NO_FEATURES)
SYSREG ("spsr_el3", CPENC (3,6,4,0,0), 0, AARCH64_NO_FEATURES)
SYSREG ("spsr_fiq", CPENC (3,4,4,3,3), 0, AARCH64_NO_FEATURES)
@@ -999,12 +999,12 @@
SYSREG ("svcr", CPENC (3,3,4,2,2), 0, AARCH64_FEATURE (SME))
SYSREG ("tco", CPENC (3,3,4,2,7), 0, AARCH64_FEATURE (MEMTAG))
SYSREG ("tcr_el1", CPENC (3,0,2,0,2), 0, AARCH64_NO_FEATURES)
- SYSREG ("tcr_el12", CPENC (3,5,2,0,2), 0, AARCH64_FEATURE (V8_1A))
+ SYSREG ("tcr_el12", CPENC (3,5,2,0,2), 0, AARCH64_NO_FEATURES)
SYSREG ("tcr_el2", CPENC (3,4,2,0,2), 0, AARCH64_NO_FEATURES)
SYSREG ("tcr_el3", CPENC (3,6,2,0,2), 0, AARCH64_NO_FEATURES)
- SYSREG ("tcr2_el1", CPENC (3,0,2,0,3), 0, AARCH64_FEATURE (TCR2))
- SYSREG ("tcr2_el12", CPENC (3,5,2,0,3), 0, AARCH64_FEATURE (TCR2))
- SYSREG ("tcr2_el2", CPENC (3,4,2,0,3), 0, AARCH64_FEATURE (TCR2))
+ SYSREG ("tcr2_el1", CPENC (3,0,2,0,3), 0, AARCH64_NO_FEATURES)
+ SYSREG ("tcr2_el12", CPENC (3,5,2,0,3), 0, AARCH64_NO_FEATURES)
+ SYSREG ("tcr2_el2", CPENC (3,4,2,0,3), 0, AARCH64_NO_FEATURES)
SYSREG ("tcr2alias_el1", CPENC (3,0,2,7,7), 0, AARCH64_FEATURE (V9_5A)) /* SRMASK */
SYSREG ("tcr2mask_el1", CPENC (3,0,2,7,3), 0, AARCH64_FEATURE (V9_5A)) /* SRMASK */
SYSREG ("tcr2mask_el12", CPENC (3,5,2,7,3), 0, AARCH64_FEATURE (V9_5A)) /* SRMASK */
@@ -1024,17 +1024,17 @@
SYSREG ("tpidr_el2", CPENC (3,4,13,0,2), 0, AARCH64_NO_FEATURES)
SYSREG ("tpidr_el3", CPENC (3,6,13,0,2), 0, AARCH64_NO_FEATURES)
SYSREG ("tpidrro_el0", CPENC (3,3,13,0,3), 0, AARCH64_NO_FEATURES)
- SYSREG ("trbbaser_el1", CPENC (3,0,9,11,2), 0, AARCH64_NO_FEATURES)
- SYSREG ("trbidr_el1", CPENC (3,0,9,11,7), F_REG_READ, AARCH64_NO_FEATURES)
- SYSREG ("trblimitr_el1", CPENC (3,0,9,11,0), 0, AARCH64_NO_FEATURES)
- SYSREG ("trbmar_el1", CPENC (3,0,9,11,4), 0, AARCH64_NO_FEATURES)
+ SYSREG ("trbbaser_el1", CPENC (3,0,9,11,2), 0, AARCH64_FEATURE (V9A)) /* TRBE */
+ SYSREG ("trbidr_el1", CPENC (3,0,9,11,7), F_REG_READ, AARCH64_FEATURE (V9A)) /* TRBE */
+ SYSREG ("trblimitr_el1", CPENC (3,0,9,11,0), 0, AARCH64_FEATURE (V9A)) /* TRBE */
+ SYSREG ("trbmar_el1", CPENC (3,0,9,11,4), 0, AARCH64_FEATURE (V9A)) /* TRBE */
SYSREG ("trbmpam_el1", CPENC (3,0,9,11,5), 0, AARCH64_FEATURE (V9_3A)) /* TRBE_MPAM */
- SYSREG ("trbptr_el1", CPENC (3,0,9,11,1), 0, AARCH64_NO_FEATURES)
- SYSREG ("trbsr_el1", CPENC (3,0,9,11,3), 0, AARCH64_NO_FEATURES)
- SYSREG ("trbsr_el12", CPENC (3,5,9,11,3), 0, AARCH64_FEATURE (V9_5A))
- SYSREG ("trbsr_el2", CPENC (3,4,9,11,3), 0, AARCH64_FEATURE (V9_5A))
- SYSREG ("trbsr_el3", CPENC (3,6,9,11,3), 0, AARCH64_FEATURE (V9_5A))
- SYSREG ("trbtrg_el1", CPENC (3,0,9,11,6), 0, AARCH64_NO_FEATURES)
+ SYSREG ("trbptr_el1", CPENC (3,0,9,11,1), 0, AARCH64_FEATURE (V9A)) /* TRBE */
+ SYSREG ("trbsr_el1", CPENC (3,0,9,11,3), 0, AARCH64_FEATURE (V9A)) /* TRBE */
+ SYSREG ("trbsr_el12", CPENC (3,5,9,11,3), 0, AARCH64_FEATURE (V9_5A)) /* TRBE_EXC */
+ SYSREG ("trbsr_el2", CPENC (3,4,9,11,3), 0, AARCH64_FEATURE (V9_5A)) /* TRBE_EXC */
+ SYSREG ("trbsr_el3", CPENC (3,6,9,11,3), 0, AARCH64_FEATURE (V9_5A)) /* TRBE_EXC */
+ SYSREG ("trbtrg_el1", CPENC (3,0,9,11,6), 0, AARCH64_FEATURE (V9A)) /* TRBE */
SYSREG ("trcacatr0", CPENC (2,1,2,0,2), 0, AARCH64_NO_FEATURES)
SYSREG ("trcacatr1", CPENC (2,1,2,2,2), 0, AARCH64_NO_FEATURES)
SYSREG ("trcacatr10", CPENC (2,1,2,4,3), 0, AARCH64_NO_FEATURES)
@@ -1254,33 +1254,33 @@
SYSREG ("trcvmidcvr5", CPENC (2,1,3,10,1), 0, AARCH64_NO_FEATURES)
SYSREG ("trcvmidcvr6", CPENC (2,1,3,12,1), 0, AARCH64_NO_FEATURES)
SYSREG ("trcvmidcvr7", CPENC (2,1,3,14,1), 0, AARCH64_NO_FEATURES)
- SYSREG ("trfcr_el1", CPENC (3,0,1,2,1), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("trfcr_el12", CPENC (3,5,1,2,1), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("trfcr_el2", CPENC (3,4,1,2,1), 0, AARCH64_FEATURE (V8_4A))
+ SYSREG ("trfcr_el1", CPENC (3,0,1,2,1), 0, AARCH64_FEATURE (V8_3A)) /* TRF */
+ SYSREG ("trfcr_el12", CPENC (3,5,1,2,1), 0, AARCH64_FEATURE (V8_3A)) /* TRF */
+ SYSREG ("trfcr_el2", CPENC (3,4,1,2,1), 0, AARCH64_FEATURE (V8_3A)) /* TRF */
SYSREG ("ttbr0_el1", CPENC (3,0,2,0,0), F_REG_128, AARCH64_NO_FEATURES)
- SYSREG ("ttbr0_el12", CPENC (3,5,2,0,0), F_REG_128, AARCH64_FEATURE (V8_1A))
+ SYSREG ("ttbr0_el12", CPENC (3,5,2,0,0), F_REG_128, AARCH64_NO_FEATURES)
SYSREG ("ttbr0_el2", CPENC (3,4,2,0,0), F_REG_128, AARCH64_FEATURE (V8A))
SYSREG ("ttbr0_el3", CPENC (3,6,2,0,0), 0, AARCH64_NO_FEATURES)
SYSREG ("ttbr1_el1", CPENC (3,0,2,0,1), F_REG_128, AARCH64_NO_FEATURES)
- SYSREG ("ttbr1_el12", CPENC (3,5,2,0,1), F_REG_128, AARCH64_FEATURE (V8_1A))
- SYSREG ("ttbr1_el2", CPENC (3,4,2,0,1), F_REG_128, AARCH64_FEATURES (2, V8A, V8_1A))
- SYSREG ("uao", CPENC (3,0,4,2,4), 0, AARCH64_FEATURE (V8_2A))
+ SYSREG ("ttbr1_el12", CPENC (3,5,2,0,1), F_REG_128, AARCH64_NO_FEATURES)
+ SYSREG ("ttbr1_el2", CPENC (3,4,2,0,1), F_REG_128, AARCH64_FEATURE (V8A))
+ SYSREG ("uao", CPENC (3,0,4,2,4), 0, AARCH64_FEATURE (V8_1A)) /* UAO */
SYSREG ("vbar_el1", CPENC (3,0,12,0,0), 0, AARCH64_NO_FEATURES)
- SYSREG ("vbar_el12", CPENC (3,5,12,0,0), 0, AARCH64_FEATURE (V8_1A))
+ SYSREG ("vbar_el12", CPENC (3,5,12,0,0), 0, AARCH64_NO_FEATURES)
SYSREG ("vbar_el2", CPENC (3,4,12,0,0), 0, AARCH64_NO_FEATURES)
SYSREG ("vbar_el3", CPENC (3,6,12,0,0), 0, AARCH64_NO_FEATURES)
SYSREG ("vdisr_el2", CPENC (3,4,12,1,1), 0, AARCH64_FEATURE (RAS))
- SYSREG ("vdisr_el3", CPENC (3,6,12,1,1), 0, AARCH64_FEATURE (E3DSE))
- SYSREG ("vmecid_a_el2", CPENC (3,4,10,9,1), 0, AARCH64_FEATURE (V8_7A))
- SYSREG ("vmecid_p_el2", CPENC (3,4,10,9,0), 0, AARCH64_FEATURE (V8_7A))
+ SYSREG ("vdisr_el3", CPENC (3,6,12,1,1), 0, AARCH64_FEATURE (V9_4A)) /* E3DSE */
+ SYSREG ("vmecid_a_el2", CPENC (3,4,10,9,1), 0, AARCH64_FEATURE (V9_2A)) /* MEC */
+ SYSREG ("vmecid_p_el2", CPENC (3,4,10,9,0), 0, AARCH64_FEATURE (V9_2A)) /* MEC */
SYSREG ("vmpidr_el2", CPENC (3,4,0,0,5), 0, AARCH64_NO_FEATURES)
- SYSREG ("vncr_el2", CPENC (3,4,2,2,0), 0, AARCH64_FEATURE (V8_4A))
+ SYSREG ("vncr_el2", CPENC (3,4,2,2,0), 0, AARCH64_FEATURE (V8_3A)) /* NV2 */
SYSREG ("vpidr_el2", CPENC (3,4,0,0,0), 0, AARCH64_NO_FEATURES)
SYSREG ("vsctlr_el2", CPENC (3,4,2,0,0), 0, AARCH64_FEATURE (V8R))
SYSREG ("vsesr_el2", CPENC (3,4,5,2,3), 0, AARCH64_FEATURE (RAS))
- SYSREG ("vsesr_el3", CPENC (3,6,5,2,3), 0, AARCH64_FEATURE (E3DSE))
- SYSREG ("vstcr_el2", CPENC (3,4,2,6,2), 0, AARCH64_FEATURE (V8_4A))
- SYSREG ("vsttbr_el2", CPENC (3,4,2,6,0), 0, AARCH64_FEATURES (2, V8A, V8_4A))
+ SYSREG ("vsesr_el3", CPENC (3,6,5,2,3), 0, AARCH64_FEATURE (V9_4A)) /* E3DSE */
+ SYSREG ("vstcr_el2", CPENC (3,4,2,6,2), 0, AARCH64_FEATURE (V8_3A)) /* SEL2 */
+ SYSREG ("vsttbr_el2", CPENC (3,4,2,6,0), 0, AARCH64_FEATURES (2, V8A, V8_3A)) /* SEL2 */
SYSREG ("vtcr_el2", CPENC (3,4,2,1,2), 0, AARCH64_NO_FEATURES)
SYSREG ("vttbr_el2", CPENC (3,4,2,1,0), F_REG_128, AARCH64_FEATURE (V8A))
SYSREG ("zcr_el1", CPENC (3,0,1,2,0), 0, AARCH64_FEATURE (SVE))