1# SPDX-License-Identifier: GPL-2.0-only 2# 3# System register metadata 4 5# Each System register is described by a Sysreg block: 6 7# Sysreg <name> <op0> <op1> <crn> <crm> <op2> 8# <field> 9# ... 10# EndSysreg 11 12# Within a Sysreg block, each field can be described as one of: 13 14# Res0 <msb>[:<lsb>] 15 16# Res1 <msb>[:<lsb>] 17 18# Field <msb>[:<lsb>] <name> 19 20# Enum <msb>[:<lsb>] <name> 21# <enumval> <enumname> 22# ... 23# EndEnum 24 25# Alternatively if multiple registers share the same layout then 26# a SysregFields block can be used to describe the shared layout 27 28# SysregFields <fieldsname> 29# <field> 30# ... 31# EndSysregFields 32 33# and referenced from within the Sysreg: 34 35# Sysreg <name> <op0> <op1> <crn> <crm> <op2> 36# Fields <fieldsname> 37# EndSysreg 38 39# For ID registers we adopt a few conventions for translating the 40# language in the ARM into defines: 41# 42# NI - Not implemented 43# IMP - Implemented 44# 45# In general it is recommended that new enumeration items be named for the 46# feature that introduces them (eg, FEAT_LS64_ACCDATA introduces enumeration 47# item ACCDATA) though it may be more taseful to do something else. 48 49Sysreg ID_AA64ZFR0_EL1 3 0 0 4 4 50Res0 63:60 51Enum 59:56 F64MM 52 0b0000 NI 53 0b0001 IMP 54EndEnum 55Enum 55:52 F32MM 56 0b0000 NI 57 0b0001 IMP 58EndEnum 59Res0 51:48 60Enum 47:44 I8MM 61 0b0000 NI 62 0b0001 IMP 63EndEnum 64Enum 43:40 SM4 65 0b0000 NI 66 0b0001 IMP 67EndEnum 68Res0 39:36 69Enum 35:32 SHA3 70 0b0000 NI 71 0b0001 IMP 72EndEnum 73Res0 31:24 74Enum 23:20 BF16 75 0b0000 NI 76 0b0001 IMP 77 0b0010 EBF16 78EndEnum 79Enum 19:16 BitPerm 80 0b0000 NI 81 0b0001 IMP 82EndEnum 83Res0 15:8 84Enum 7:4 AES 85 0b0000 NI 86 0b0001 IMP 87 0b0010 PMULL128 88EndEnum 89Enum 3:0 SVEver 90 0b0000 IMP 91 0b0001 SVE2 92EndEnum 93EndSysreg 94 95Sysreg ID_AA64SMFR0_EL1 3 0 0 4 5 96Enum 63 FA64 97 0b0 NI 98 0b1 IMP 99EndEnum 100Res0 62:60 101Field 59:56 SMEver 102Enum 55:52 I16I64 103 0b0000 NI 104 0b1111 IMP 105EndEnum 106Res0 51:49 107Enum 48 F64F64 108 0b0 NI 109 0b1 IMP 110EndEnum 111Res0 47:40 112Enum 39:36 I8I32 113 0b0000 NI 114 0b1111 IMP 115EndEnum 116Enum 35 F16F32 117 0b0 NI 118 0b1 IMP 119EndEnum 120Enum 34 B16F32 121 0b0 NI 122 0b1 IMP 123EndEnum 124Res0 33 125Enum 32 F32F32 126 0b0 NI 127 0b1 IMP 128EndEnum 129Res0 31:0 130EndSysreg 131 132Sysreg ID_AA64ISAR0_EL1 3 0 0 6 0 133Enum 63:60 RNDR 134 0b0000 NI 135 0b0001 IMP 136EndEnum 137Enum 59:56 TLB 138 0b0000 NI 139 0b0001 OS 140 0b0010 RANGE 141EndEnum 142Enum 55:52 TS 143 0b0000 NI 144 0b0001 FLAGM 145 0b0010 FLAGM2 146EndEnum 147Enum 51:48 FHM 148 0b0000 NI 149 0b0001 IMP 150EndEnum 151Enum 47:44 DP 152 0b0000 NI 153 0b0001 IMP 154EndEnum 155Enum 43:40 SM4 156 0b0000 NI 157 0b0001 IMP 158EndEnum 159Enum 39:36 SM3 160 0b0000 NI 161 0b0001 IMP 162EndEnum 163Enum 35:32 SHA3 164 0b0000 NI 165 0b0001 IMP 166EndEnum 167Enum 31:28 RDM 168 0b0000 NI 169 0b0001 IMP 170EndEnum 171Enum 27:24 TME 172 0b0000 NI 173 0b0001 IMP 174EndEnum 175Enum 23:20 ATOMIC 176 0b0000 NI 177 0b0010 IMP 178EndEnum 179Enum 19:16 CRC32 180 0b0000 NI 181 0b0001 IMP 182EndEnum 183Enum 15:12 SHA2 184 0b0000 NI 185 0b0001 SHA256 186 0b0010 SHA512 187EndEnum 188Enum 11:8 SHA1 189 0b0000 NI 190 0b0001 IMP 191EndEnum 192Enum 7:4 AES 193 0b0000 NI 194 0b0001 AES 195 0b0010 PMULL 196EndEnum 197Res0 3:0 198EndSysreg 199 200Sysreg ID_AA64ISAR1_EL1 3 0 0 6 1 201Enum 63:60 LS64 202 0b0000 NI 203 0b0001 LS64 204 0b0010 LS64_V 205 0b0011 LS64_ACCDATA 206EndEnum 207Enum 59:56 XS 208 0b0000 NI 209 0b0001 IMP 210EndEnum 211Enum 55:52 I8MM 212 0b0000 NI 213 0b0001 IMP 214EndEnum 215Enum 51:48 DGH 216 0b0000 NI 217 0b0001 IMP 218EndEnum 219Enum 47:44 BF16 220 0b0000 NI 221 0b0001 IMP 222 0b0010 EBF16 223EndEnum 224Enum 43:40 SPECRES 225 0b0000 NI 226 0b0001 IMP 227EndEnum 228Enum 39:36 SB 229 0b0000 NI 230 0b0001 IMP 231EndEnum 232Enum 35:32 FRINTTS 233 0b0000 NI 234 0b0001 IMP 235EndEnum 236Enum 31:28 GPI 237 0b0000 NI 238 0b0001 IMP 239EndEnum 240Enum 27:24 GPA 241 0b0000 NI 242 0b0001 IMP 243EndEnum 244Enum 23:20 LRCPC 245 0b0000 NI 246 0b0001 IMP 247 0b0010 LRCPC2 248EndEnum 249Enum 19:16 FCMA 250 0b0000 NI 251 0b0001 IMP 252EndEnum 253Enum 15:12 JSCVT 254 0b0000 NI 255 0b0001 IMP 256EndEnum 257Enum 11:8 API 258 0b0000 NI 259 0b0001 PAuth 260 0b0010 EPAC 261 0b0011 PAuth2 262 0b0100 FPAC 263 0b0101 FPACCOMBINE 264EndEnum 265Enum 7:4 APA 266 0b0000 NI 267 0b0001 PAuth 268 0b0010 EPAC 269 0b0011 PAuth2 270 0b0100 FPAC 271 0b0101 FPACCOMBINE 272EndEnum 273Enum 3:0 DPB 274 0b0000 NI 275 0b0001 IMP 276 0b0010 DPB2 277EndEnum 278EndSysreg 279 280Sysreg ID_AA64ISAR2_EL1 3 0 0 6 2 281Res0 63:28 282Enum 27:24 PAC_frac 283 0b0000 NI 284 0b0001 IMP 285EndEnum 286Enum 23:20 BC 287 0b0000 NI 288 0b0001 IMP 289EndEnum 290Enum 19:16 MOPS 291 0b0000 NI 292 0b0001 IMP 293EndEnum 294Enum 15:12 APA3 295 0b0000 NI 296 0b0001 PAuth 297 0b0010 EPAC 298 0b0011 PAuth2 299 0b0100 FPAC 300 0b0101 FPACCOMBINE 301EndEnum 302Enum 11:8 GPA3 303 0b0000 NI 304 0b0001 IMP 305EndEnum 306Enum 7:4 RPRES 307 0b0000 NI 308 0b0001 IMP 309EndEnum 310Enum 3:0 WFxT 311 0b0000 NI 312 0b0010 IMP 313EndEnum 314EndSysreg 315 316Sysreg SCTLR_EL1 3 0 1 0 0 317Field 63 TIDCP 318Field 62 SPINMASK 319Field 61 NMI 320Field 60 EnTP2 321Res0 59:58 322Field 57 EPAN 323Field 56 EnALS 324Field 55 EnAS0 325Field 54 EnASR 326Field 53 TME 327Field 52 TME0 328Field 51 TMT 329Field 50 TMT0 330Field 49:46 TWEDEL 331Field 45 TWEDEn 332Field 44 DSSBS 333Field 43 ATA 334Field 42 ATA0 335Enum 41:40 TCF 336 0b00 NONE 337 0b01 SYNC 338 0b10 ASYNC 339 0b11 ASYMM 340EndEnum 341Enum 39:38 TCF0 342 0b00 NONE 343 0b01 SYNC 344 0b10 ASYNC 345 0b11 ASYMM 346EndEnum 347Field 37 ITFSB 348Field 36 BT1 349Field 35 BT0 350Res0 34 351Field 33 MSCEn 352Field 32 CMOW 353Field 31 EnIA 354Field 30 EnIB 355Field 29 LSMAOE 356Field 28 nTLSMD 357Field 27 EnDA 358Field 26 UCI 359Field 25 EE 360Field 24 E0E 361Field 23 SPAN 362Field 22 EIS 363Field 21 IESB 364Field 20 TSCXT 365Field 19 WXN 366Field 18 nTWE 367Res0 17 368Field 16 nTWI 369Field 15 UCT 370Field 14 DZE 371Field 13 EnDB 372Field 12 I 373Field 11 EOS 374Field 10 EnRCTX 375Field 9 UMA 376Field 8 SED 377Field 7 ITD 378Field 6 nAA 379Field 5 CP15BEN 380Field 4 SA0 381Field 3 SA 382Field 2 C 383Field 1 A 384Field 0 M 385EndSysreg 386 387SysregFields CPACR_ELx 388Res0 63:29 389Field 28 TTA 390Res0 27:26 391Field 25:24 SMEN 392Res0 23:22 393Field 21:20 FPEN 394Res0 19:18 395Field 17:16 ZEN 396Res0 15:0 397EndSysregFields 398 399Sysreg CPACR_EL1 3 0 1 0 2 400Fields CPACR_ELx 401EndSysreg 402 403Sysreg SMPRI_EL1 3 0 1 2 4 404Res0 63:4 405Field 3:0 PRIORITY 406EndSysreg 407 408SysregFields ZCR_ELx 409Res0 63:9 410Raz 8:4 411Field 3:0 LEN 412EndSysregFields 413 414Sysreg ZCR_EL1 3 0 1 2 0 415Fields ZCR_ELx 416EndSysreg 417 418SysregFields SMCR_ELx 419Res0 63:32 420Field 31 FA64 421Res0 30:9 422Raz 8:4 423Field 3:0 LEN 424EndSysregFields 425 426Sysreg SMCR_EL1 3 0 1 2 6 427Fields SMCR_ELx 428EndSysreg 429 430Sysreg FAR_EL1 3 0 6 0 0 431Field 63:0 ADDR 432EndSysreg 433 434SysregFields CONTEXTIDR_ELx 435Res0 63:32 436Field 31:0 PROCID 437EndSysregFields 438 439Sysreg CONTEXTIDR_EL1 3 0 13 0 1 440Fields CONTEXTIDR_ELx 441EndSysreg 442 443Sysreg CLIDR_EL1 3 1 0 0 1 444Res0 63:47 445Field 46:33 Ttypen 446Field 32:30 ICB 447Field 29:27 LoUU 448Field 26:24 LoC 449Field 23:21 LoUIS 450Field 20:18 Ctype7 451Field 17:15 Ctype6 452Field 14:12 Ctype5 453Field 11:9 Ctype4 454Field 8:6 Ctype3 455Field 5:3 Ctype2 456Field 2:0 Ctype1 457EndSysreg 458 459Sysreg GMID_EL1 3 1 0 0 4 460Res0 63:4 461Field 3:0 BS 462EndSysreg 463 464Sysreg SMIDR_EL1 3 1 0 0 6 465Res0 63:32 466Field 31:24 IMPLEMENTER 467Field 23:16 REVISION 468Field 15 SMPS 469Res0 14:12 470Field 11:0 AFFINITY 471EndSysreg 472 473Sysreg CSSELR_EL1 3 2 0 0 0 474Res0 63:5 475Field 4 TnD 476Field 3:1 Level 477Field 0 InD 478EndSysreg 479 480Sysreg CTR_EL0 3 3 0 0 1 481Res0 63:38 482Field 37:32 TminLine 483Res1 31 484Res0 30 485Field 29 DIC 486Field 28 IDC 487Field 27:24 CWG 488Field 23:20 ERG 489Field 19:16 DminLine 490Enum 15:14 L1Ip 491 0b00 VPIPT 492 # This is named as AIVIVT in the ARM but documented as reserved 493 0b01 RESERVED 494 0b10 VIPT 495 0b11 PIPT 496EndEnum 497Res0 13:4 498Field 3:0 IminLine 499EndSysreg 500 501Sysreg DCZID_EL0 3 3 0 0 7 502Res0 63:5 503Field 4 DZP 504Field 3:0 BS 505EndSysreg 506 507Sysreg SVCR 3 3 4 2 2 508Res0 63:2 509Field 1 ZA 510Field 0 SM 511EndSysreg 512 513Sysreg ZCR_EL2 3 4 1 2 0 514Fields ZCR_ELx 515EndSysreg 516 517Sysreg SMPRIMAP_EL2 3 4 1 2 5 518Field 63:60 P15 519Field 59:56 P14 520Field 55:52 P13 521Field 51:48 P12 522Field 47:44 P11 523Field 43:40 P10 524Field 39:36 F9 525Field 35:32 P8 526Field 31:28 P7 527Field 27:24 P6 528Field 23:20 P5 529Field 19:16 P4 530Field 15:12 P3 531Field 11:8 P2 532Field 7:4 P1 533Field 3:0 P0 534EndSysreg 535 536Sysreg SMCR_EL2 3 4 1 2 6 537Fields SMCR_ELx 538EndSysreg 539 540Sysreg DACR32_EL2 3 4 3 0 0 541Res0 63:32 542Field 31:30 D15 543Field 29:28 D14 544Field 27:26 D13 545Field 25:24 D12 546Field 23:22 D11 547Field 21:20 D10 548Field 19:18 D9 549Field 17:16 D8 550Field 15:14 D7 551Field 13:12 D6 552Field 11:10 D5 553Field 9:8 D4 554Field 7:6 D3 555Field 5:4 D2 556Field 3:2 D1 557Field 1:0 D0 558EndSysreg 559 560Sysreg FAR_EL2 3 4 6 0 0 561Field 63:0 ADDR 562EndSysreg 563 564Sysreg CONTEXTIDR_EL2 3 4 13 0 1 565Fields CONTEXTIDR_ELx 566EndSysreg 567 568Sysreg CPACR_EL12 3 5 1 0 2 569Fields CPACR_ELx 570EndSysreg 571 572Sysreg ZCR_EL12 3 5 1 2 0 573Fields ZCR_ELx 574EndSysreg 575 576Sysreg SMCR_EL12 3 5 1 2 6 577Fields SMCR_ELx 578EndSysreg 579 580Sysreg FAR_EL12 3 5 6 0 0 581Field 63:0 ADDR 582EndSysreg 583 584Sysreg CONTEXTIDR_EL12 3 5 13 0 1 585Fields CONTEXTIDR_ELx 586EndSysreg 587 588SysregFields TTBRx_EL1 589Field 63:48 ASID 590Field 47:1 BADDR 591Field 0 CnP 592EndSysregFields 593 594Sysreg TTBR0_EL1 3 0 2 0 0 595Fields TTBRx_EL1 596EndSysreg 597 598Sysreg TTBR1_EL1 3 0 2 0 1 599Fields TTBRx_EL1 600EndSysreg 601 602Sysreg LORSA_EL1 3 0 10 4 0 603Res0 63:52 604Field 51:16 SA 605Res0 15:1 606Field 0 Valid 607EndSysreg 608 609Sysreg LOREA_EL1 3 0 10 4 1 610Res0 63:52 611Field 51:48 EA_51_48 612Field 47:16 EA_47_16 613Res0 15:0 614EndSysreg 615 616Sysreg LORN_EL1 3 0 10 4 2 617Res0 63:8 618Field 7:0 Num 619EndSysreg 620 621Sysreg LORC_EL1 3 0 10 4 3 622Res0 63:10 623Field 9:2 DS 624Res0 1 625Field 0 EN 626EndSysreg 627 628Sysreg LORID_EL1 3 0 10 4 7 629Res0 63:24 630Field 23:16 LD 631Res0 15:8 632Field 7:0 LR 633EndSysreg 634