1 # SPDX-License-Identifier: GPL-2.0-only
3 # System register metadata
5 # Each System register is described by a Sysreg block:
7 # Sysreg <name> <op0> <op1> <crn> <crm> <op2>
12 # Within a Sysreg block, each field can be described as one of:
20 # Field <msb>[:<lsb>] <name>
22 # Enum <msb>[:<lsb>] <name>
23 # <enumval> <enumname>
27 # Alternatively if multiple registers share the same layout then
28 # a SysregFields block can be used to describe the shared layout
30 # SysregFields <fieldsname>
35 # and referenced from within the Sysreg:
37 # Sysreg <name> <op0> <op1> <crn> <crm> <op2>
41 # For ID registers we adopt a few conventions for translating the
42 # language in the ARM into defines:
44 # NI - Not implemented
47 # In general it is recommended that new enumeration items be named for the
48 # feature that introduces them (eg, FEAT_LS64_ACCDATA introduces enumeration
49 # item ACCDATA) though it may be more taseful to do something else.
51 Sysreg OSDTRRX_EL1 2 0 0 0 2
56 Sysreg MDCCINT_EL1 2 0 0 2 0
63 Sysreg MDSCR_EL1 2 0 0 2 2
91 Sysreg OSDTRTX_EL1 2 0 0 3 2
96 Sysreg OSECCR_EL1 2 0 0 6 2
101 Sysreg OSLAR_EL1 2 0 1 0 4
106 Sysreg ID_PFR0_EL1 3 0 0 1 0
108 UnsignedEnum 31:28 RAS
113 UnsignedEnum 27:24 DIT
117 UnsignedEnum 23:20 AMU
122 UnsignedEnum 19:16 CSV2
127 UnsignedEnum 15:12 State3
136 UnsignedEnum 7:4 State1
141 UnsignedEnum 3:0 State0
147 Sysreg ID_PFR1_EL1 3 0 0 1 1
149 UnsignedEnum 31:28 GIC
154 UnsignedEnum 27:24 Virt_frac
163 UnsignedEnum 19:16 GenTimer
168 UnsignedEnum 15:12 Virtualization
172 UnsignedEnum 11:8 MProgMod
181 UnsignedEnum 3:0 ProgMod
187 Sysreg ID_DFR0_EL1 3 0 0 1 2
189 UnsignedEnum 31:28 TraceFilt
193 UnsignedEnum 27:24 PerfMon
237 Sysreg ID_AFR0_EL1 3 0 0 1 3
245 Sysreg ID_MMFR0_EL1 3 0 0 1 4
252 UnsignedEnum 27:24 FCSE
292 Sysreg ID_MMFR1_EL1 3 0 0 1 5
309 0b0010 CLEAN_AND_INVALIDATE
313 0b0001 INVALIDATE_ISIDE_ONLY
315 0b0011 CLEAN_AND_INVALIDATE
320 0b0010 CLEAN_AND_INVALIDATE
325 0b0001 CLEAN_AND_INVALIDATE
326 0b0010 INVALIDATE_DSIDE_ONLY
331 0b0001 CLEAN_AND_INVALIDATE
336 0b0001 CLEAN_AND_INVALIDATE
341 Sysreg ID_MMFR2_EL1 3 0 0 1 6
382 Sysreg ID_MMFR3_EL1 3 0 0 1 7
422 Sysreg ID_ISAR0_EL1 3 0 0 2 0
429 UnsignedEnum 23:20 Debug
440 UnsignedEnum 15:12 CmpBranch
444 UnsignedEnum 11:8 BitField
448 UnsignedEnum 7:4 BitCount
452 UnsignedEnum 3:0 Swap
458 Sysreg ID_ISAR1_EL1 3 0 0 2 1
497 Sysreg ID_ISAR2_EL1 3 0 0 2 2
524 Enum 11:8 MultiAccessInt
543 Sysreg ID_ISAR3_EL1 3 0 0 2 3
581 Sysreg ID_ISAR4_EL1 3 0 0 2 4
591 Enum 23:20 SynchPrim_frac
616 0b0010 SIGNED_HALFWORD
620 Sysreg ID_ISAR5_EL1 3 0 0 2 5
622 UnsignedEnum 31:28 VCMA
626 UnsignedEnum 27:24 RDM
631 UnsignedEnum 19:16 CRC32
635 UnsignedEnum 15:12 SHA2
639 UnsignedEnum 11:8 SHA1
648 UnsignedEnum 3:0 SEVL
654 Sysreg ID_ISAR6_EL1 3 0 0 2 7
656 UnsignedEnum 27:24 I8MM
660 UnsignedEnum 23:20 BF16
664 UnsignedEnum 19:16 SPECRES
668 UnsignedEnum 15:12 SB
672 UnsignedEnum 11:8 FHM
680 UnsignedEnum 3:0 JSCVT
686 Sysreg ID_MMFR4_EL1 3 0 0 2 6
688 UnsignedEnum 31:28 EVT
693 UnsignedEnum 27:24 CCIDX
697 UnsignedEnum 23:20 LSM
701 UnsignedEnum 19:16 HPDS
706 UnsignedEnum 15:12 CnP
710 UnsignedEnum 11:8 XNX
718 UnsignedEnum 3:0 SpecSEI
724 Sysreg MVFR0_EL1 3 0 0 3 0
726 UnsignedEnum 31:28 FPRound
730 UnsignedEnum 27:24 FPShVec
734 UnsignedEnum 23:20 FPSqrt
738 UnsignedEnum 19:16 FPDivide
742 UnsignedEnum 15:12 FPTrap
746 UnsignedEnum 11:8 FPDP
751 UnsignedEnum 7:4 FPSP
763 Sysreg MVFR1_EL1 3 0 0 3 1
765 UnsignedEnum 31:28 SIMDFMAC
769 UnsignedEnum 27:24 FPHP
775 UnsignedEnum 23:20 SIMDHP
780 UnsignedEnum 19:16 SIMDSP
784 UnsignedEnum 15:12 SIMDInt
788 UnsignedEnum 11:8 SIMDLS
792 UnsignedEnum 7:4 FPDNaN
796 UnsignedEnum 3:0 FPFtZ
802 Sysreg MVFR2_EL1 3 0 0 3 2
807 0b0010 FP_DIRECTED_ROUNDING
813 0b0001 SIMD_DIRECTED_ROUNDING
819 Sysreg ID_PFR2_EL1 3 0 0 3 4
821 UnsignedEnum 11:8 RAS_frac
825 UnsignedEnum 7:4 SSBS
829 UnsignedEnum 3:0 CSV3
835 Sysreg ID_DFR1_EL1 3 0 0 3 5
837 UnsignedEnum 7:4 HPMN0
848 Sysreg ID_MMFR5_EL1 3 0 0 3 6
850 UnsignedEnum 7:4 nTLBPA
860 Sysreg ID_AA64PFR0_EL1 3 0 0 4 0
861 UnsignedEnum 63:60 CSV3
865 UnsignedEnum 59:56 CSV2
871 UnsignedEnum 55:52 RME
875 UnsignedEnum 51:48 DIT
879 UnsignedEnum 47:44 AMU
884 UnsignedEnum 43:40 MPAM
888 UnsignedEnum 39:36 SEL2
892 UnsignedEnum 35:32 SVE
896 UnsignedEnum 31:28 RAS
901 UnsignedEnum 27:24 GIC
906 SignedEnum 23:20 AdvSIMD
916 UnsignedEnum 15:12 EL3
921 UnsignedEnum 11:8 EL2
936 Sysreg ID_AA64PFR1_EL1 3 0 0 4 1
937 UnsignedEnum 63:60 PFAR
941 UnsignedEnum 59:56 DF2
945 UnsignedEnum 55:52 MTEX
949 UnsignedEnum 51:48 THE
953 UnsignedEnum 47:44 GCS
961 UnsignedEnum 39:36 NMI
965 UnsignedEnum 35:32 CSV2_frac
970 UnsignedEnum 31:28 RNDR_trap
974 UnsignedEnum 27:24 SME
980 UnsignedEnum 19:16 MPAM_frac
984 UnsignedEnum 15:12 RAS_frac
988 UnsignedEnum 11:8 MTE
994 UnsignedEnum 7:4 SSBS
1005 Sysreg ID_AA64ZFR0_EL1 3 0 0 4 4
1007 UnsignedEnum 59:56 F64MM
1011 UnsignedEnum 55:52 F32MM
1016 UnsignedEnum 47:44 I8MM
1020 UnsignedEnum 43:40 SM4
1025 UnsignedEnum 35:32 SHA3
1030 UnsignedEnum 23:20 BF16
1035 UnsignedEnum 19:16 BitPerm
1040 UnsignedEnum 7:4 AES
1045 UnsignedEnum 3:0 SVEver
1052 Sysreg ID_AA64SMFR0_EL1 3 0 0 4 5
1053 UnsignedEnum 63 FA64
1058 UnsignedEnum 59:56 SMEver
1064 UnsignedEnum 55:52 I16I64
1069 UnsignedEnum 48 F64F64
1073 UnsignedEnum 47:44 I16I32
1077 UnsignedEnum 43 B16B16
1081 UnsignedEnum 42 F16F16
1086 UnsignedEnum 39:36 I8I32
1090 UnsignedEnum 35 F16F32
1094 UnsignedEnum 34 B16F32
1098 UnsignedEnum 33 BI32I32
1102 UnsignedEnum 32 F32F32
1109 Sysreg ID_AA64DFR0_EL1 3 0 0 5 0
1111 0b0000 UNPREDICTABLE
1115 UnsignedEnum 55:52 BRBE
1125 UnsignedEnum 47:44 TraceBuffer
1129 UnsignedEnum 43:40 TraceFilt
1133 UnsignedEnum 39:36 DoubleLock
1137 UnsignedEnum 35:32 PMSVer
1144 Field 31:28 CTX_CMPs
1149 UnsignedEnum 11:8 PMUVer
1159 UnsignedEnum 7:4 TraceVer
1163 UnsignedEnum 3:0 DebugVer
1172 Sysreg ID_AA64DFR1_EL1 3 0 0 5 1
1176 Sysreg ID_AA64AFR0_EL1 3 0 0 5 4
1188 Sysreg ID_AA64AFR1_EL1 3 0 0 5 5
1192 Sysreg ID_AA64ISAR0_EL1 3 0 0 6 0
1193 UnsignedEnum 63:60 RNDR
1197 UnsignedEnum 59:56 TLB
1202 UnsignedEnum 55:52 TS
1207 UnsignedEnum 51:48 FHM
1211 UnsignedEnum 47:44 DP
1215 UnsignedEnum 43:40 SM4
1219 UnsignedEnum 39:36 SM3
1223 UnsignedEnum 35:32 SHA3
1227 UnsignedEnum 31:28 RDM
1231 UnsignedEnum 27:24 TME
1235 UnsignedEnum 23:20 ATOMIC
1239 UnsignedEnum 19:16 CRC32
1243 UnsignedEnum 15:12 SHA2
1248 UnsignedEnum 11:8 SHA1
1252 UnsignedEnum 7:4 AES
1260 Sysreg ID_AA64ISAR1_EL1 3 0 0 6 1
1261 UnsignedEnum 63:60 LS64
1267 UnsignedEnum 59:56 XS
1271 UnsignedEnum 55:52 I8MM
1275 UnsignedEnum 51:48 DGH
1279 UnsignedEnum 47:44 BF16
1284 UnsignedEnum 43:40 SPECRES
1288 UnsignedEnum 39:36 SB
1292 UnsignedEnum 35:32 FRINTTS
1296 UnsignedEnum 31:28 GPI
1300 UnsignedEnum 27:24 GPA
1304 UnsignedEnum 23:20 LRCPC
1309 UnsignedEnum 19:16 FCMA
1313 UnsignedEnum 15:12 JSCVT
1317 UnsignedEnum 11:8 API
1325 UnsignedEnum 7:4 APA
1333 UnsignedEnum 3:0 DPB
1340 Sysreg ID_AA64ISAR2_EL1 3 0 0 6 2
1342 UnsignedEnum 55:52 CSSC
1346 UnsignedEnum 51:48 RPRFM
1351 UnsignedEnum 27:24 PAC_frac
1355 UnsignedEnum 23:20 BC
1359 UnsignedEnum 19:16 MOPS
1363 UnsignedEnum 15:12 APA3
1371 UnsignedEnum 11:8 GPA3
1375 UnsignedEnum 7:4 RPRES
1379 UnsignedEnum 3:0 WFxT
1385 Sysreg ID_AA64MMFR0_EL1 3 0 0 7 0
1386 UnsignedEnum 63:60 ECV
1391 UnsignedEnum 59:56 FGT
1396 UnsignedEnum 47:44 EXS
1406 Enum 39:36 TGRAN64_2
1411 Enum 35:32 TGRAN16_2
1431 UnsignedEnum 19:16 BIGENDEL0
1435 UnsignedEnum 15:12 SNSMEM
1439 UnsignedEnum 11:8 BIGEND
1458 Sysreg ID_AA64MMFR1_EL1 3 0 0 7 1
1459 UnsignedEnum 63:60 ECBHB
1463 UnsignedEnum 59:56 CMOW
1467 UnsignedEnum 55:52 TIDCP1
1471 UnsignedEnum 51:48 nTLBPA
1475 UnsignedEnum 47:44 AFP
1479 UnsignedEnum 43:40 HCX
1483 UnsignedEnum 39:36 ETS
1487 UnsignedEnum 35:32 TWED
1491 UnsignedEnum 31:28 XNX
1495 UnsignedEnum 27:24 SpecSEI
1499 UnsignedEnum 23:20 PAN
1505 UnsignedEnum 19:16 LO
1509 UnsignedEnum 15:12 HPDS
1514 UnsignedEnum 11:8 VH
1522 UnsignedEnum 3:0 HAFDBS
1529 Sysreg ID_AA64MMFR2_EL1 3 0 0 7 2
1530 UnsignedEnum 63:60 E0PD
1534 UnsignedEnum 59:56 EVT
1539 UnsignedEnum 55:52 BBM
1544 UnsignedEnum 51:48 TTL
1549 UnsignedEnum 43:40 FWB
1557 UnsignedEnum 35:32 AT
1565 UnsignedEnum 27:24 NV
1578 UnsignedEnum 15:12 IESB
1582 UnsignedEnum 11:8 LSM
1586 UnsignedEnum 7:4 UAO
1590 UnsignedEnum 3:0 CnP
1596 Sysreg ID_AA64MMFR3_EL1 3 0 0 7 3
1597 UnsignedEnum 63:60 Spec_FPACC
1601 UnsignedEnum 59:56 ADERR
1605 0b0011 FEAT_ADERR_IND
1607 UnsignedEnum 55:52 SDERR
1611 0b0011 FEAT_ADERR_IND
1614 UnsignedEnum 47:44 ANERR
1618 0b0011 FEAT_ANERR_IND
1620 UnsignedEnum 43:40 SNERR
1624 0b0011 FEAT_ANERR_IND
1626 UnsignedEnum 39:36 D128_2
1630 UnsignedEnum 35:32 D128
1634 UnsignedEnum 31:28 MEC
1638 UnsignedEnum 27:24 AIE
1642 UnsignedEnum 23:20 S2POE
1646 UnsignedEnum 19:16 S1POE
1650 UnsignedEnum 15:12 S2PIE
1654 UnsignedEnum 11:8 S1PIE
1658 UnsignedEnum 7:4 SCTLRX
1662 UnsignedEnum 3:0 TCRX
1668 Sysreg SCTLR_EL1 3 0 1 0 0
1739 SysregFields CPACR_ELx
1751 Sysreg CPACR_EL1 3 0 1 0 2
1755 Sysreg SMPRI_EL1 3 0 1 2 4
1760 SysregFields ZCR_ELx
1766 Sysreg ZCR_EL1 3 0 1 2 0
1770 SysregFields SMCR_ELx
1779 Sysreg SMCR_EL1 3 0 1 2 6
1783 Sysreg ALLINT 3 0 4 3 0
1789 Sysreg FAR_EL1 3 0 6 0 0
1793 Sysreg PMSCR_EL1 3 0 9 9 0
1804 Sysreg PMSNEVFR_EL1 3 0 9 9 1
1808 Sysreg PMSICR_EL1 3 0 9 9 2
1814 Sysreg PMSIRR_EL1 3 0 9 9 3
1821 Sysreg PMSFCR_EL1 3 0 9 9 4
1833 Sysreg PMSEVFR_EL1 3 0 9 9 5
1837 Sysreg PMSLATFR_EL1 3 0 9 9 6
1842 Sysreg PMSIDR_EL1 3 0 9 9 7
1846 Enum 19:16 COUNTSIZE
1871 Sysreg PMBLIMITR_EL1 3 0 9 10 0
1883 Sysreg PMBPTR_EL1 3 0 9 10 1
1887 Sysreg PMBSR_EL1 3 0 9 10 3
1904 Sysreg PMBIDR_EL1 3 0 9 10 7
1917 SysregFields CONTEXTIDR_ELx
1922 Sysreg CONTEXTIDR_EL1 3 0 13 0 1
1923 Fields CONTEXTIDR_ELx
1926 Sysreg TPIDR_EL1 3 0 13 0 4
1930 Sysreg SCXTNUM_EL1 3 0 13 0 7
1931 Field 63:0 SoftwareContextNumber
1934 # The bit layout for CCSIDR_EL1 depends on whether FEAT_CCIDX is implemented.
1935 # The following is for case when FEAT_CCIDX is not implemented.
1936 Sysreg CCSIDR_EL1 3 1 0 0 0
1940 Field 12:3 Associativity
1944 Sysreg CLIDR_EL1 3 1 0 0 1
1960 Sysreg CCSIDR2_EL1 3 1 0 0 2
1965 Sysreg GMID_EL1 3 1 0 0 4
1970 Sysreg SMIDR_EL1 3 1 0 0 6
1972 Field 31:24 IMPLEMENTER
1973 Field 23:16 REVISION
1979 Sysreg CSSELR_EL1 3 2 0 0 0
1986 Sysreg CTR_EL0 3 3 0 0 1
1988 Field 37:32 TminLine
1995 Field 19:16 DminLine
1998 # This is named as AIVIVT in the ARM but documented as reserved
2007 Sysreg DCZID_EL0 3 3 0 0 7
2013 Sysreg SVCR 3 3 4 2 2
2019 SysregFields HFGxTR_EL2
2020 Field 63 nAMAIR2_EL1
2027 Field 56 nRCWMASK_EL1
2028 Field 55 nTPIDR2_EL0
2033 Field 50 nACCDATA_EL1
2034 Field 49 ERXADDR_EL1
2035 Field 48 ERXPFGCDN_EL1
2036 Field 47 ERXPFGCTL_EL1
2037 Field 46 ERXPFGF_EL1
2038 Field 45 ERXMISCn_EL1
2039 Field 44 ERXSTATUS_EL1
2040 Field 43 ERXCTLR_EL1
2042 Field 41 ERRSELR_EL1
2044 Field 39 ICC_IGRPENn_EL1
2049 Field 34 TPIDRRO_EL0
2052 Field 31 SCXTNUM_EL0
2053 Field 30 SCXTNUM_EL1
2072 Field 11 CONTEXTIDR_EL1
2086 Sysreg HFGRTR_EL2 3 4 1 1 4
2090 Sysreg HFGWTR_EL2 3 4 1 1 5
2094 Sysreg HFGITR_EL2 3 4 1 1 6
2098 Field 58 nGCSSTR_EL1
2099 Field 57 nGCSPUSHM_EL1
2114 Field 42 TLBIVMALLE1
2115 Field 41 TLBIRVAALE1
2119 Field 37 TLBIRVAALE1IS
2120 Field 36 TLBIRVALE1IS
2121 Field 35 TLBIRVAAE1IS
2122 Field 34 TLBIRVAE1IS
2123 Field 33 TLBIVAALE1IS
2124 Field 32 TLBIVALE1IS
2125 Field 31 TLBIVAAE1IS
2126 Field 30 TLBIASIDE1IS
2128 Field 28 TLBIVMALLE1IS
2129 Field 27 TLBIRVAALE1OS
2130 Field 26 TLBIRVALE1OS
2131 Field 25 TLBIRVAAE1OS
2132 Field 24 TLBIRVAE1OS
2133 Field 23 TLBIVAALE1OS
2134 Field 22 TLBIVALE1OS
2135 Field 21 TLBIVAAE1OS
2136 Field 20 TLBIASIDE1OS
2138 Field 18 TLBIVMALLE1OS
2159 Sysreg ZCR_EL2 3 4 1 2 0
2163 Sysreg HCRX_EL2 3 4 1 2 2
2189 Sysreg SMPRIMAP_EL2 3 4 1 2 5
2208 Sysreg SMCR_EL2 3 4 1 2 6
2212 Sysreg DACR32_EL2 3 4 3 0 0
2232 Sysreg FAR_EL2 3 4 6 0 0
2236 Sysreg PMSCR_EL2 3 4 9 9 0
2251 Sysreg CONTEXTIDR_EL2 3 4 13 0 1
2252 Fields CONTEXTIDR_ELx
2255 Sysreg CNTPOFF_EL2 3 4 14 0 6
2256 Field 63:0 PhysicalOffset
2259 Sysreg CPACR_EL12 3 5 1 0 2
2263 Sysreg ZCR_EL12 3 5 1 2 0
2267 Sysreg SMCR_EL12 3 5 1 2 6
2271 Sysreg FAR_EL12 3 5 6 0 0
2275 Sysreg CONTEXTIDR_EL12 3 5 13 0 1
2276 Fields CONTEXTIDR_ELx
2279 SysregFields TTBRx_EL1
2285 Sysreg TTBR0_EL1 3 0 2 0 0
2289 Sysreg TTBR1_EL1 3 0 2 0 1
2293 SysregFields TCR2_EL1x
2309 Sysreg TCR2_EL1 3 0 2 0 3
2313 Sysreg TCR2_EL12 3 5 2 0 3
2317 Sysreg TCR2_EL2 3 4 2 0 3
2335 SysregFields PIRx_ELx
2354 Sysreg PIRE0_EL1 3 0 10 2 2
2358 Sysreg PIRE0_EL12 3 5 10 2 2
2362 Sysreg PIR_EL1 3 0 10 2 3
2366 Sysreg PIR_EL12 3 5 10 2 3
2370 Sysreg PIR_EL2 3 4 10 2 3
2374 Sysreg LORSA_EL1 3 0 10 4 0
2381 Sysreg LOREA_EL1 3 0 10 4 1
2383 Field 51:48 EA_51_48
2384 Field 47:16 EA_47_16
2388 Sysreg LORN_EL1 3 0 10 4 2
2393 Sysreg LORC_EL1 3 0 10 4 3
2400 Sysreg LORID_EL1 3 0 10 4 7
2407 Sysreg ISR_EL1 3 0 12 1 0
2417 Sysreg ICC_NMIAR1_EL1 3 0 12 9 5
2422 Sysreg TRBLIMITR_EL1 3 0 9 11 0
2440 Sysreg TRBPTR_EL1 3 0 9 11 1
2444 Sysreg TRBBASER_EL1 3 0 9 11 2
2449 Sysreg TRBSR_EL1 3 0 9 11 3
2465 Sysreg TRBMAR_EL1 3 0 9 11 4
2475 0b10 OUTER_SHAREABLE
2476 0b11 INNER_SHAREABLE
2481 Sysreg TRBTRG_EL1 3 0 9 11 6
2486 Sysreg TRBIDR_EL1 3 0 9 11 7