# SPDX-License-Identifier: GPL-2.0-only # # System register metadata # Each System register is described by a Sysreg block: # Sysreg # # ... # EndSysreg # Within a Sysreg block, each field can be described as one of: # Res0 [:] # Res1 [:] # Field [:] # Enum [:] # # ... # EndEnum # Alternatively if multiple registers share the same layout then # a SysregFields block can be used to describe the shared layout # SysregFields # # ... # EndSysregFields # and referenced from within the Sysreg: # Sysreg # Fields # EndSysreg # For ID registers we adopt a few conventions for translating the # language in the ARM into defines: # # NI - Not implemented # IMP - Implemented # # In general it is recommended that new enumeration items be named for the # feature that introduces them (eg, FEAT_LS64_ACCDATA introduces enumeration # item ACCDATA) though it may be more taseful to do something else. Sysreg ID_AA64ZFR0_EL1 3 0 0 4 4 Res0 63:60 Enum 59:56 F64MM 0b0000 NI 0b0001 IMP EndEnum Enum 55:52 F32MM 0b0000 NI 0b0001 IMP EndEnum Res0 51:48 Enum 47:44 I8MM 0b0000 NI 0b0001 IMP EndEnum Enum 43:40 SM4 0b0000 NI 0b0001 IMP EndEnum Res0 39:36 Enum 35:32 SHA3 0b0000 NI 0b0001 IMP EndEnum Res0 31:24 Enum 23:20 BF16 0b0000 NI 0b0001 IMP 0b0010 EBF16 EndEnum Enum 19:16 BitPerm 0b0000 NI 0b0001 IMP EndEnum Res0 15:8 Enum 7:4 AES 0b0000 NI 0b0001 IMP 0b0010 PMULL128 EndEnum Enum 3:0 SVEver 0b0000 IMP 0b0001 SVE2 EndEnum EndSysreg Sysreg ID_AA64SMFR0_EL1 3 0 0 4 5 Enum 63 FA64 0b0 NI 0b1 IMP EndEnum Res0 62:60 Field 59:56 SMEver Enum 55:52 I16I64 0b0000 NI 0b1111 IMP EndEnum Res0 51:49 Enum 48 F64F64 0b0 NI 0b1 IMP EndEnum Res0 47:40 Enum 39:36 I8I32 0b0000 NI 0b1111 IMP EndEnum Enum 35 F16F32 0b0 NI 0b1 IMP EndEnum Enum 34 B16F32 0b0 NI 0b1 IMP EndEnum Res0 33 Enum 32 F32F32 0b0 NI 0b1 IMP EndEnum Res0 31:0 EndSysreg Sysreg ID_AA64ISAR0_EL1 3 0 0 6 0 Enum 63:60 RNDR 0b0000 NI 0b0001 IMP EndEnum Enum 59:56 TLB 0b0000 NI 0b0001 OS 0b0010 RANGE EndEnum Enum 55:52 TS 0b0000 NI 0b0001 FLAGM 0b0010 FLAGM2 EndEnum Enum 51:48 FHM 0b0000 NI 0b0001 IMP EndEnum Enum 47:44 DP 0b0000 NI 0b0001 IMP EndEnum Enum 43:40 SM4 0b0000 NI 0b0001 IMP EndEnum Enum 39:36 SM3 0b0000 NI 0b0001 IMP EndEnum Enum 35:32 SHA3 0b0000 NI 0b0001 IMP EndEnum Enum 31:28 RDM 0b0000 NI 0b0001 IMP EndEnum Enum 27:24 TME 0b0000 NI 0b0001 IMP EndEnum Enum 23:20 ATOMIC 0b0000 NI 0b0010 IMP EndEnum Enum 19:16 CRC32 0b0000 NI 0b0001 IMP EndEnum Enum 15:12 SHA2 0b0000 NI 0b0001 SHA256 0b0010 SHA512 EndEnum Enum 11:8 SHA1 0b0000 NI 0b0001 IMP EndEnum Enum 7:4 AES 0b0000 NI 0b0001 AES 0b0010 PMULL EndEnum Res0 3:0 EndSysreg Sysreg ID_AA64ISAR1_EL1 3 0 0 6 1 Enum 63:60 LS64 0b0000 NI 0b0001 LS64 0b0010 LS64_V 0b0011 LS64_ACCDATA EndEnum Enum 59:56 XS 0b0000 NI 0b0001 IMP EndEnum Enum 55:52 I8MM 0b0000 NI 0b0001 IMP EndEnum Enum 51:48 DGH 0b0000 NI 0b0001 IMP EndEnum Enum 47:44 BF16 0b0000 NI 0b0001 IMP 0b0010 EBF16 EndEnum Enum 43:40 SPECRES 0b0000 NI 0b0001 IMP EndEnum Enum 39:36 SB 0b0000 NI 0b0001 IMP EndEnum Enum 35:32 FRINTTS 0b0000 NI 0b0001 IMP EndEnum Enum 31:28 GPI 0b0000 NI 0b0001 IMP EndEnum Enum 27:24 GPA 0b0000 NI 0b0001 IMP EndEnum Enum 23:20 LRCPC 0b0000 NI 0b0001 IMP 0b0010 LRCPC2 EndEnum Enum 19:16 FCMA 0b0000 NI 0b0001 IMP EndEnum Enum 15:12 JSCVT 0b0000 NI 0b0001 IMP EndEnum Enum 11:8 API 0b0000 NI 0b0001 PAuth 0b0010 EPAC 0b0011 PAuth2 0b0100 FPAC 0b0101 FPACCOMBINE EndEnum Enum 7:4 APA 0b0000 NI 0b0001 PAuth 0b0010 EPAC 0b0011 PAuth2 0b0100 FPAC 0b0101 FPACCOMBINE EndEnum Enum 3:0 DPB 0b0000 NI 0b0001 IMP 0b0010 DPB2 EndEnum EndSysreg Sysreg ID_AA64ISAR2_EL1 3 0 0 6 2 Res0 63:28 Enum 27:24 PAC_frac 0b0000 NI 0b0001 IMP EndEnum Enum 23:20 BC 0b0000 NI 0b0001 IMP EndEnum Enum 19:16 MOPS 0b0000 NI 0b0001 IMP EndEnum Enum 15:12 APA3 0b0000 NI 0b0001 PAuth 0b0010 EPAC 0b0011 PAuth2 0b0100 FPAC 0b0101 FPACCOMBINE EndEnum Enum 11:8 GPA3 0b0000 NI 0b0001 IMP EndEnum Enum 7:4 RPRES 0b0000 NI 0b0001 IMP EndEnum Enum 3:0 WFxT 0b0000 NI 0b0010 IMP EndEnum EndSysreg Sysreg SCTLR_EL1 3 0 1 0 0 Field 63 TIDCP Field 62 SPINMASK Field 61 NMI Field 60 EnTP2 Res0 59:58 Field 57 EPAN Field 56 EnALS Field 55 EnAS0 Field 54 EnASR Field 53 TME Field 52 TME0 Field 51 TMT Field 50 TMT0 Field 49:46 TWEDEL Field 45 TWEDEn Field 44 DSSBS Field 43 ATA Field 42 ATA0 Enum 41:40 TCF 0b00 NONE 0b01 SYNC 0b10 ASYNC 0b11 ASYMM EndEnum Enum 39:38 TCF0 0b00 NONE 0b01 SYNC 0b10 ASYNC 0b11 ASYMM EndEnum Field 37 ITFSB Field 36 BT1 Field 35 BT0 Res0 34 Field 33 MSCEn Field 32 CMOW Field 31 EnIA Field 30 EnIB Field 29 LSMAOE Field 28 nTLSMD Field 27 EnDA Field 26 UCI Field 25 EE Field 24 E0E Field 23 SPAN Field 22 EIS Field 21 IESB Field 20 TSCXT Field 19 WXN Field 18 nTWE Res0 17 Field 16 nTWI Field 15 UCT Field 14 DZE Field 13 EnDB Field 12 I Field 11 EOS Field 10 EnRCTX Field 9 UMA Field 8 SED Field 7 ITD Field 6 nAA Field 5 CP15BEN Field 4 SA0 Field 3 SA Field 2 C Field 1 A Field 0 M EndSysreg SysregFields CPACR_ELx Res0 63:29 Field 28 TTA Res0 27:26 Field 25:24 SMEN Res0 23:22 Field 21:20 FPEN Res0 19:18 Field 17:16 ZEN Res0 15:0 EndSysregFields Sysreg CPACR_EL1 3 0 1 0 2 Fields CPACR_ELx EndSysreg Sysreg SMPRI_EL1 3 0 1 2 4 Res0 63:4 Field 3:0 PRIORITY EndSysreg SysregFields ZCR_ELx Res0 63:9 Raz 8:4 Field 3:0 LEN EndSysregFields Sysreg ZCR_EL1 3 0 1 2 0 Fields ZCR_ELx EndSysreg SysregFields SMCR_ELx Res0 63:32 Field 31 FA64 Res0 30:9 Raz 8:4 Field 3:0 LEN EndSysregFields Sysreg SMCR_EL1 3 0 1 2 6 Fields SMCR_ELx EndSysreg Sysreg FAR_EL1 3 0 6 0 0 Field 63:0 ADDR EndSysreg SysregFields CONTEXTIDR_ELx Res0 63:32 Field 31:0 PROCID EndSysregFields Sysreg CONTEXTIDR_EL1 3 0 13 0 1 Fields CONTEXTIDR_ELx EndSysreg Sysreg CLIDR_EL1 3 1 0 0 1 Res0 63:47 Field 46:33 Ttypen Field 32:30 ICB Field 29:27 LoUU Field 26:24 LoC Field 23:21 LoUIS Field 20:18 Ctype7 Field 17:15 Ctype6 Field 14:12 Ctype5 Field 11:9 Ctype4 Field 8:6 Ctype3 Field 5:3 Ctype2 Field 2:0 Ctype1 EndSysreg Sysreg GMID_EL1 3 1 0 0 4 Res0 63:4 Field 3:0 BS EndSysreg Sysreg SMIDR_EL1 3 1 0 0 6 Res0 63:32 Field 31:24 IMPLEMENTER Field 23:16 REVISION Field 15 SMPS Res0 14:12 Field 11:0 AFFINITY EndSysreg Sysreg CSSELR_EL1 3 2 0 0 0 Res0 63:5 Field 4 TnD Field 3:1 Level Field 0 InD EndSysreg Sysreg CTR_EL0 3 3 0 0 1 Res0 63:38 Field 37:32 TminLine Res1 31 Res0 30 Field 29 DIC Field 28 IDC Field 27:24 CWG Field 23:20 ERG Field 19:16 DminLine Enum 15:14 L1Ip 0b00 VPIPT # This is named as AIVIVT in the ARM but documented as reserved 0b01 RESERVED 0b10 VIPT 0b11 PIPT EndEnum Res0 13:4 Field 3:0 IminLine EndSysreg Sysreg DCZID_EL0 3 3 0 0 7 Res0 63:5 Field 4 DZP Field 3:0 BS EndSysreg Sysreg SVCR 3 3 4 2 2 Res0 63:2 Field 1 ZA Field 0 SM EndSysreg Sysreg ZCR_EL2 3 4 1 2 0 Fields ZCR_ELx EndSysreg Sysreg SMPRIMAP_EL2 3 4 1 2 5 Field 63:60 P15 Field 59:56 P14 Field 55:52 P13 Field 51:48 P12 Field 47:44 P11 Field 43:40 P10 Field 39:36 F9 Field 35:32 P8 Field 31:28 P7 Field 27:24 P6 Field 23:20 P5 Field 19:16 P4 Field 15:12 P3 Field 11:8 P2 Field 7:4 P1 Field 3:0 P0 EndSysreg Sysreg SMCR_EL2 3 4 1 2 6 Fields SMCR_ELx EndSysreg Sysreg DACR32_EL2 3 4 3 0 0 Res0 63:32 Field 31:30 D15 Field 29:28 D14 Field 27:26 D13 Field 25:24 D12 Field 23:22 D11 Field 21:20 D10 Field 19:18 D9 Field 17:16 D8 Field 15:14 D7 Field 13:12 D6 Field 11:10 D5 Field 9:8 D4 Field 7:6 D3 Field 5:4 D2 Field 3:2 D1 Field 1:0 D0 EndSysreg Sysreg FAR_EL2 3 4 6 0 0 Field 63:0 ADDR EndSysreg Sysreg CONTEXTIDR_EL2 3 4 13 0 1 Fields CONTEXTIDR_ELx EndSysreg Sysreg CPACR_EL12 3 5 1 0 2 Fields CPACR_ELx EndSysreg Sysreg ZCR_EL12 3 5 1 2 0 Fields ZCR_ELx EndSysreg Sysreg SMCR_EL12 3 5 1 2 6 Fields SMCR_ELx EndSysreg Sysreg FAR_EL12 3 5 6 0 0 Field 63:0 ADDR EndSysreg Sysreg CONTEXTIDR_EL12 3 5 13 0 1 Fields CONTEXTIDR_ELx EndSysreg SysregFields TTBRx_EL1 Field 63:48 ASID Field 47:1 BADDR Field 0 CnP EndSysregFields Sysreg TTBR0_EL1 3 0 2 0 0 Fields TTBRx_EL1 EndSysreg Sysreg TTBR1_EL1 3 0 2 0 1 Fields TTBRx_EL1 EndSysreg Sysreg LORSA_EL1 3 0 10 4 0 Res0 63:52 Field 51:16 SA Res0 15:1 Field 0 Valid EndSysreg Sysreg LOREA_EL1 3 0 10 4 1 Res0 63:52 Field 51:48 EA_51_48 Field 47:16 EA_47_16 Res0 15:0 EndSysreg Sysreg LORN_EL1 3 0 10 4 2 Res0 63:8 Field 7:0 Num EndSysreg Sysreg LORC_EL1 3 0 10 4 3 Res0 63:10 Field 9:2 DS Res0 1 Field 0 EN EndSysreg Sysreg LORID_EL1 3 0 10 4 7 Res0 63:24 Field 23:16 LD Res0 15:8 Field 7:0 LR EndSysreg