166847e06SMark Rutland# SPDX-License-Identifier: GPL-2.0-only 266847e06SMark Rutland# 366847e06SMark Rutland# System register metadata 466847e06SMark Rutland 566847e06SMark Rutland# Each System register is described by a Sysreg block: 666847e06SMark Rutland 766847e06SMark Rutland# Sysreg <name> <op0> <op1> <crn> <crm> <op2> 866847e06SMark Rutland# <field> 966847e06SMark Rutland# ... 1066847e06SMark Rutland# EndSysreg 1166847e06SMark Rutland 1266847e06SMark Rutland# Within a Sysreg block, each field can be described as one of: 1366847e06SMark Rutland 1466847e06SMark Rutland# Res0 <msb>[:<lsb>] 1566847e06SMark Rutland 1666847e06SMark Rutland# Res1 <msb>[:<lsb>] 1766847e06SMark Rutland 1866847e06SMark Rutland# Field <msb>[:<lsb>] <name> 1966847e06SMark Rutland 2066847e06SMark Rutland# Enum <msb>[:<lsb>] <name> 2166847e06SMark Rutland# <enumval> <enumname> 2266847e06SMark Rutland# ... 2366847e06SMark Rutland# EndEnum 2466847e06SMark Rutland 2566847e06SMark Rutland# Alternatively if multiple registers share the same layout then 2666847e06SMark Rutland# a SysregFields block can be used to describe the shared layout 2766847e06SMark Rutland 2866847e06SMark Rutland# SysregFields <fieldsname> 2966847e06SMark Rutland# <field> 3066847e06SMark Rutland# ... 3166847e06SMark Rutland# EndSysregFields 3266847e06SMark Rutland 3366847e06SMark Rutland# and referenced from within the Sysreg: 3466847e06SMark Rutland 3566847e06SMark Rutland# Sysreg <name> <op0> <op1> <crn> <crm> <op2> 3666847e06SMark Rutland# Fields <fieldsname> 3766847e06SMark Rutland# EndSysreg 3866847e06SMark Rutland 3966847e06SMark Rutland# For ID registers we adopt a few conventions for translating the 4066847e06SMark Rutland# language in the ARM into defines: 4166847e06SMark Rutland# 4266847e06SMark Rutland# NI - Not implemented 4366847e06SMark Rutland# IMP - Implemented 4466847e06SMark Rutland# 4566847e06SMark Rutland# In general it is recommended that new enumeration items be named for the 4666847e06SMark Rutland# feature that introduces them (eg, FEAT_LS64_ACCDATA introduces enumeration 4766847e06SMark Rutland# item ACCDATA) though it may be more taseful to do something else. 4866847e06SMark Rutland 49e33bb646SMark BrownSysreg ID_AA64ISAR0_EL1 3 0 0 6 0 50e33bb646SMark BrownEnum 63:60 RNDR 51e33bb646SMark Brown 0b0000 NI 52e33bb646SMark Brown 0b0001 IMP 53e33bb646SMark BrownEndEnum 54e33bb646SMark BrownEnum 59:56 TLB 55e33bb646SMark Brown 0b0000 NI 56e33bb646SMark Brown 0b0001 OS 57e33bb646SMark Brown 0b0010 RANGE 58e33bb646SMark BrownEndEnum 59e33bb646SMark BrownEnum 55:52 TS 60e33bb646SMark Brown 0b0000 NI 61e33bb646SMark Brown 0b0001 FLAGM 62e33bb646SMark Brown 0b0010 FLAGM2 63e33bb646SMark BrownEndEnum 64e33bb646SMark BrownEnum 51:48 FHM 65e33bb646SMark Brown 0b0000 NI 66e33bb646SMark Brown 0b0001 IMP 67e33bb646SMark BrownEndEnum 68e33bb646SMark BrownEnum 47:44 DP 69e33bb646SMark Brown 0b0000 NI 70e33bb646SMark Brown 0b0001 IMP 71e33bb646SMark BrownEndEnum 72e33bb646SMark BrownEnum 43:40 SM4 73e33bb646SMark Brown 0b0000 NI 74e33bb646SMark Brown 0b0001 IMP 75e33bb646SMark BrownEndEnum 76e33bb646SMark BrownEnum 39:36 SM3 77e33bb646SMark Brown 0b0000 NI 78e33bb646SMark Brown 0b0001 IMP 79e33bb646SMark BrownEndEnum 80e33bb646SMark BrownEnum 35:32 SHA3 81e33bb646SMark Brown 0b0000 NI 82e33bb646SMark Brown 0b0001 IMP 83e33bb646SMark BrownEndEnum 84e33bb646SMark BrownEnum 31:28 RDM 85e33bb646SMark Brown 0b0000 NI 86e33bb646SMark Brown 0b0001 IMP 87e33bb646SMark BrownEndEnum 88e33bb646SMark BrownEnum 27:24 TME 89e33bb646SMark Brown 0b0000 NI 90e33bb646SMark Brown 0b0001 IMP 91e33bb646SMark BrownEndEnum 92e33bb646SMark BrownEnum 23:20 ATOMIC 93e33bb646SMark Brown 0b0000 NI 94e33bb646SMark Brown 0b0010 IMP 95e33bb646SMark BrownEndEnum 96e33bb646SMark BrownEnum 19:16 CRC32 97e33bb646SMark Brown 0b0000 NI 98e33bb646SMark Brown 0b0001 IMP 99e33bb646SMark BrownEndEnum 100e33bb646SMark BrownEnum 15:12 SHA2 101e33bb646SMark Brown 0b0000 NI 102e33bb646SMark Brown 0b0001 SHA256 103e33bb646SMark Brown 0b0010 SHA512 104e33bb646SMark BrownEndEnum 105e33bb646SMark BrownEnum 11:8 SHA1 106e33bb646SMark Brown 0b0000 NI 107e33bb646SMark Brown 0b0001 IMP 108e33bb646SMark BrownEndEnum 109e33bb646SMark BrownEnum 7:4 AES 110e33bb646SMark Brown 0b0000 NI 111e33bb646SMark Brown 0b0001 AES 112e33bb646SMark Brown 0b0010 PMULL 113e33bb646SMark BrownEndEnum 114e33bb646SMark BrownRes0 3:0 115e33bb646SMark BrownEndSysreg 11641fde735SMark Brown 1177a41a97bSMark BrownSysreg SCTLR_EL1 3 0 1 0 0 1187a41a97bSMark BrownField 63 TIDCP 1197a41a97bSMark BrownField 62 SPINMASK 1207a41a97bSMark BrownField 61 NMI 1217a41a97bSMark BrownField 60 EnTP2 1227a41a97bSMark BrownRes0 59:58 1237a41a97bSMark BrownField 57 EPAN 1247a41a97bSMark BrownField 56 EnALS 1257a41a97bSMark BrownField 55 EnAS0 1267a41a97bSMark BrownField 54 EnASR 1277a41a97bSMark BrownField 53 TME 1287a41a97bSMark BrownField 52 TME0 1297a41a97bSMark BrownField 51 TMT 1307a41a97bSMark BrownField 50 TMT0 1317a41a97bSMark BrownField 49:46 TWEDEL 1327a41a97bSMark BrownField 45 TWEDEn 1337a41a97bSMark BrownField 44 DSSBS 1347a41a97bSMark BrownField 43 ATA 1357a41a97bSMark BrownField 42 ATA0 1367a41a97bSMark BrownEnum 41:40 TCF 1377a41a97bSMark Brown 0b00 NONE 1387a41a97bSMark Brown 0b01 SYNC 1397a41a97bSMark Brown 0b10 ASYNC 1407a41a97bSMark Brown 0b11 ASYMM 1417a41a97bSMark BrownEndEnum 1427a41a97bSMark BrownEnum 39:38 TCF0 1437a41a97bSMark Brown 0b00 NONE 1447a41a97bSMark Brown 0b01 SYNC 1457a41a97bSMark Brown 0b10 ASYNC 1467a41a97bSMark Brown 0b11 ASYMM 1477a41a97bSMark BrownEndEnum 1487a41a97bSMark BrownField 37 ITFSB 1497a41a97bSMark BrownField 36 BT1 1507a41a97bSMark BrownField 35 BT0 1517a41a97bSMark BrownRes0 34 1527a41a97bSMark BrownField 33 MSCEn 1537a41a97bSMark BrownField 32 CMOW 1547a41a97bSMark BrownField 31 EnIA 1557a41a97bSMark BrownField 30 EnIB 1567a41a97bSMark BrownField 29 LSMAOE 1577a41a97bSMark BrownField 28 nTLSMD 1587a41a97bSMark BrownField 27 EnDA 1597a41a97bSMark BrownField 26 UCI 1607a41a97bSMark BrownField 25 EE 1617a41a97bSMark BrownField 24 E0E 1627a41a97bSMark BrownField 23 SPAN 1637a41a97bSMark BrownField 22 EIS 1647a41a97bSMark BrownField 21 IESB 1657a41a97bSMark BrownField 20 TSCXT 1667a41a97bSMark BrownField 19 WXN 1677a41a97bSMark BrownField 18 nTWE 1687a41a97bSMark BrownRes0 17 1697a41a97bSMark BrownField 16 nTWI 1707a41a97bSMark BrownField 15 UCT 1717a41a97bSMark BrownField 14 DZE 1727a41a97bSMark BrownField 13 EnDB 1737a41a97bSMark BrownField 12 I 1747a41a97bSMark BrownField 11 EOS 1757a41a97bSMark BrownField 10 EnRCTX 1767a41a97bSMark BrownField 9 UMA 1777a41a97bSMark BrownField 8 SED 1787a41a97bSMark BrownField 7 ITD 1797a41a97bSMark BrownField 6 nAA 1807a41a97bSMark BrownField 5 CP15BEN 1817a41a97bSMark BrownField 4 SA0 1827a41a97bSMark BrownField 3 SA 1837a41a97bSMark BrownField 2 C 1847a41a97bSMark BrownField 1 A 1857a41a97bSMark BrownField 0 M 1867a41a97bSMark BrownEndSysreg 1877a41a97bSMark Brown 188b5c0f105SMark BrownSysregFields CPACR_ELx 189b5c0f105SMark BrownRes0 63:29 190b5c0f105SMark BrownField 28 TTA 191b5c0f105SMark BrownRes0 27:26 192b5c0f105SMark BrownField 25:24 SMEN 193b5c0f105SMark BrownRes0 23:22 194b5c0f105SMark BrownField 21:20 FPEN 195b5c0f105SMark BrownRes0 19:18 196b5c0f105SMark BrownField 17:16 ZEN 197b5c0f105SMark BrownRes0 15:0 198b5c0f105SMark BrownEndSysregFields 199b5c0f105SMark Brown 200b5c0f105SMark BrownSysreg CPACR_EL1 3 0 1 0 2 201b5c0f105SMark BrownFields CPACR_ELx 202b5c0f105SMark BrownEndSysreg 203b5c0f105SMark Brown 2049321f049SMark BrownSysreg SMPRI_EL1 3 0 1 2 4 2059321f049SMark BrownRes0 63:4 2069321f049SMark BrownField 3:0 PRIORITY 2079321f049SMark BrownEndSysreg 2089321f049SMark Brown 20989e9fb32SMark BrownSysregFields ZCR_ELx 21089e9fb32SMark BrownRes0 63:9 21189e9fb32SMark BrownRaz 8:4 21289e9fb32SMark BrownField 3:0 LEN 21389e9fb32SMark BrownEndSysregFields 21489e9fb32SMark Brown 21589e9fb32SMark BrownSysreg ZCR_EL1 3 0 1 2 0 21689e9fb32SMark BrownFields ZCR_ELx 21789e9fb32SMark BrownEndSysreg 21889e9fb32SMark Brown 2190d1322e7SMark BrownSysregFields SMCR_ELx 2200d1322e7SMark BrownRes0 63:32 2210d1322e7SMark BrownField 31 FA64 2220d1322e7SMark BrownRes0 30:9 2230d1322e7SMark BrownRaz 8:4 2240d1322e7SMark BrownField 3:0 LEN 2250d1322e7SMark BrownEndSysregFields 2260d1322e7SMark Brown 2270d1322e7SMark BrownSysreg SMCR_EL1 3 0 1 2 6 2280d1322e7SMark BrownFields SMCR_ELx 2290d1322e7SMark BrownEndSysreg 2300d1322e7SMark Brown 231dffdeadeSMark BrownSysreg FAR_EL1 3 0 6 0 0 232dffdeadeSMark BrownField 63:0 ADDR 233dffdeadeSMark BrownEndSysreg 234dffdeadeSMark Brown 2358c12e22cSMark BrownSysregFields CONTEXTIDR_ELx 2368c12e22cSMark BrownRes0 63:32 2378c12e22cSMark BrownField 31:0 PROCID 2388c12e22cSMark BrownEndSysregFields 2398c12e22cSMark Brown 2408c12e22cSMark BrownSysreg CONTEXTIDR_EL1 3 0 13 0 1 2418c12e22cSMark BrownFields CONTEXTIDR_ELx 2428c12e22cSMark BrownEndSysreg 2438c12e22cSMark Brown 244af65ea97SMark BrownSysreg CLIDR_EL1 3 1 0 0 1 245af65ea97SMark BrownRes0 63:47 246af65ea97SMark BrownField 46:33 Ttypen 247af65ea97SMark BrownField 32:30 ICB 248af65ea97SMark BrownField 29:27 LoUU 249af65ea97SMark BrownField 26:24 LoC 250af65ea97SMark BrownField 23:21 LoUIS 251af65ea97SMark BrownField 20:18 Ctype7 252af65ea97SMark BrownField 17:15 Ctype6 253af65ea97SMark BrownField 14:12 Ctype5 254af65ea97SMark BrownField 11:9 Ctype4 255af65ea97SMark BrownField 8:6 Ctype3 256af65ea97SMark BrownField 5:3 Ctype2 257af65ea97SMark BrownField 2:0 Ctype1 258af65ea97SMark BrownEndSysreg 259af65ea97SMark Brown 260*d1b60bedSMark BrownSysreg GMID_EL1 3 1 0 0 4 261*d1b60bedSMark BrownRes0 63:4 262*d1b60bedSMark BrownField 3:0 BS 263*d1b60bedSMark BrownEndSysreg 264*d1b60bedSMark Brown 265c37b8700SMark BrownSysreg SMIDR_EL1 3 1 0 0 6 266c37b8700SMark BrownRes0 63:32 267c37b8700SMark BrownField 31:24 IMPLEMENTER 268c37b8700SMark BrownField 23:16 REVISION 269c37b8700SMark BrownField 15 SMPS 270c37b8700SMark BrownRes0 14:12 271c37b8700SMark BrownField 11:0 AFFINITY 272c37b8700SMark BrownEndSysreg 273c37b8700SMark Brown 2748bd354b3SMark BrownSysreg CSSELR_EL1 3 2 0 0 0 2758bd354b3SMark BrownRes0 63:5 2768bd354b3SMark BrownField 4 TnD 2778bd354b3SMark BrownField 3:1 Level 2788bd354b3SMark BrownField 0 InD 2798bd354b3SMark BrownEndSysreg 2808bd354b3SMark Brown 2819a3634d0SMark BrownSysreg CTR_EL0 3 3 0 0 1 2829a3634d0SMark BrownRes0 63:38 2839a3634d0SMark BrownField 37:32 TminLine 2849a3634d0SMark BrownRes1 31 2859a3634d0SMark BrownRes0 30 2869a3634d0SMark BrownField 29 DIC 2879a3634d0SMark BrownField 28 IDC 2889a3634d0SMark BrownField 27:24 CWG 2899a3634d0SMark BrownField 23:20 ERG 2909a3634d0SMark BrownField 19:16 DminLine 2919a3634d0SMark BrownEnum 15:14 L1Ip 2929a3634d0SMark Brown 0b00 VPIPT 2939a3634d0SMark Brown # This is named as AIVIVT in the ARM but documented as reserved 2949a3634d0SMark Brown 0b01 RESERVED 2959a3634d0SMark Brown 0b10 VIPT 2969a3634d0SMark Brown 0b11 PIPT 2979a3634d0SMark BrownEndEnum 2989a3634d0SMark BrownRes0 13:4 2999a3634d0SMark BrownField 3:0 IminLine 3009a3634d0SMark BrownEndSysreg 3019a3634d0SMark Brown 3025589083dSMark BrownSysreg DCZID_EL0 3 3 0 0 7 3035589083dSMark BrownRes0 63:5 3045589083dSMark BrownField 4 DZP 3055589083dSMark BrownField 3:0 BS 3065589083dSMark BrownEndSysreg 3075589083dSMark Brown 30811e12a91SMark BrownSysreg SVCR 3 3 4 2 2 30911e12a91SMark BrownRes0 63:2 31011e12a91SMark BrownField 1 ZA 31111e12a91SMark BrownField 0 SM 31211e12a91SMark BrownEndSysreg 31311e12a91SMark Brown 31489e9fb32SMark BrownSysreg ZCR_EL2 3 4 1 2 0 31589e9fb32SMark BrownFields ZCR_ELx 31689e9fb32SMark BrownEndSysreg 31789e9fb32SMark Brown 3188e053810SMark BrownSysreg SMPRIMAP_EL2 3 4 1 2 5 3198e053810SMark BrownField 63:60 P15 3208e053810SMark BrownField 59:56 P14 3218e053810SMark BrownField 55:52 P13 3228e053810SMark BrownField 51:48 P12 3238e053810SMark BrownField 47:44 P11 3248e053810SMark BrownField 43:40 P10 3258e053810SMark BrownField 39:36 F9 3268e053810SMark BrownField 35:32 P8 3278e053810SMark BrownField 31:28 P7 3288e053810SMark BrownField 27:24 P6 3298e053810SMark BrownField 23:20 P5 3308e053810SMark BrownField 19:16 P4 3318e053810SMark BrownField 15:12 P3 3328e053810SMark BrownField 11:8 P2 3338e053810SMark BrownField 7:4 P1 3348e053810SMark BrownField 3:0 P0 3358e053810SMark BrownEndSysreg 3368e053810SMark Brown 3370d1322e7SMark BrownSysreg SMCR_EL2 3 4 1 2 6 3380d1322e7SMark BrownFields SMCR_ELx 3390d1322e7SMark BrownEndSysreg 3400d1322e7SMark Brown 34101baa57aSMark BrownSysreg DACR32_EL2 3 4 3 0 0 34201baa57aSMark BrownRes0 63:32 34301baa57aSMark BrownField 31:30 D15 34401baa57aSMark BrownField 29:28 D14 34501baa57aSMark BrownField 27:26 D13 34601baa57aSMark BrownField 25:24 D12 34701baa57aSMark BrownField 23:22 D11 34801baa57aSMark BrownField 21:20 D10 34901baa57aSMark BrownField 19:18 D9 35001baa57aSMark BrownField 17:16 D8 35101baa57aSMark BrownField 15:14 D7 35201baa57aSMark BrownField 13:12 D6 35301baa57aSMark BrownField 11:10 D5 35401baa57aSMark BrownField 9:8 D4 35501baa57aSMark BrownField 7:6 D3 35601baa57aSMark BrownField 5:4 D2 35701baa57aSMark BrownField 3:2 D1 35801baa57aSMark BrownField 1:0 D0 35901baa57aSMark BrownEndSysreg 36001baa57aSMark Brown 361dffdeadeSMark BrownSysreg FAR_EL2 3 4 6 0 0 362dffdeadeSMark BrownField 63:0 ADDR 363dffdeadeSMark BrownEndSysreg 364dffdeadeSMark Brown 3658c12e22cSMark BrownSysreg CONTEXTIDR_EL2 3 4 13 0 1 3668c12e22cSMark BrownFields CONTEXTIDR_ELx 3678c12e22cSMark BrownEndSysreg 3688c12e22cSMark Brown 369b5c0f105SMark BrownSysreg CPACR_EL12 3 5 1 0 2 370b5c0f105SMark BrownFields CPACR_ELx 371b5c0f105SMark BrownEndSysreg 372b5c0f105SMark Brown 37389e9fb32SMark BrownSysreg ZCR_EL12 3 5 1 2 0 37489e9fb32SMark BrownFields ZCR_ELx 37589e9fb32SMark BrownEndSysreg 37689e9fb32SMark Brown 3770d1322e7SMark BrownSysreg SMCR_EL12 3 5 1 2 6 3780d1322e7SMark BrownFields SMCR_ELx 3790d1322e7SMark BrownEndSysreg 3800d1322e7SMark Brown 381dffdeadeSMark BrownSysreg FAR_EL12 3 5 6 0 0 382dffdeadeSMark BrownField 63:0 ADDR 383dffdeadeSMark BrownEndSysreg 384dffdeadeSMark Brown 3858c12e22cSMark BrownSysreg CONTEXTIDR_EL12 3 5 13 0 1 3868c12e22cSMark BrownFields CONTEXTIDR_ELx 3878c12e22cSMark BrownEndSysreg 3888c12e22cSMark Brown 38941fde735SMark BrownSysregFields TTBRx_EL1 39041fde735SMark BrownField 63:48 ASID 39141fde735SMark BrownField 47:1 BADDR 39241fde735SMark BrownField 0 CnP 39341fde735SMark BrownEndSysregFields 39441fde735SMark Brown 39541fde735SMark BrownSysreg TTBR0_EL1 3 0 2 0 0 39641fde735SMark BrownFields TTBRx_EL1 39741fde735SMark BrownEndSysreg 39841fde735SMark Brown 39941fde735SMark BrownSysreg TTBR1_EL1 3 0 2 0 1 40041fde735SMark BrownFields TTBRx_EL1 40141fde735SMark BrownEndSysreg 402