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 101Enum 59:56 SMEver 102 0b0000 IMP 103EndEnum 104Enum 55:52 I16I64 105 0b0000 NI 106 0b1111 IMP 107EndEnum 108Res0 51:49 109Enum 48 F64F64 110 0b0 NI 111 0b1 IMP 112EndEnum 113Res0 47:40 114Enum 39:36 I8I32 115 0b0000 NI 116 0b1111 IMP 117EndEnum 118Enum 35 F16F32 119 0b0 NI 120 0b1 IMP 121EndEnum 122Enum 34 B16F32 123 0b0 NI 124 0b1 IMP 125EndEnum 126Res0 33 127Enum 32 F32F32 128 0b0 NI 129 0b1 IMP 130EndEnum 131Res0 31:0 132EndSysreg 133 134Sysreg ID_AA64ISAR0_EL1 3 0 0 6 0 135Enum 63:60 RNDR 136 0b0000 NI 137 0b0001 IMP 138EndEnum 139Enum 59:56 TLB 140 0b0000 NI 141 0b0001 OS 142 0b0010 RANGE 143EndEnum 144Enum 55:52 TS 145 0b0000 NI 146 0b0001 FLAGM 147 0b0010 FLAGM2 148EndEnum 149Enum 51:48 FHM 150 0b0000 NI 151 0b0001 IMP 152EndEnum 153Enum 47:44 DP 154 0b0000 NI 155 0b0001 IMP 156EndEnum 157Enum 43:40 SM4 158 0b0000 NI 159 0b0001 IMP 160EndEnum 161Enum 39:36 SM3 162 0b0000 NI 163 0b0001 IMP 164EndEnum 165Enum 35:32 SHA3 166 0b0000 NI 167 0b0001 IMP 168EndEnum 169Enum 31:28 RDM 170 0b0000 NI 171 0b0001 IMP 172EndEnum 173Enum 27:24 TME 174 0b0000 NI 175 0b0001 IMP 176EndEnum 177Enum 23:20 ATOMIC 178 0b0000 NI 179 0b0010 IMP 180EndEnum 181Enum 19:16 CRC32 182 0b0000 NI 183 0b0001 IMP 184EndEnum 185Enum 15:12 SHA2 186 0b0000 NI 187 0b0001 SHA256 188 0b0010 SHA512 189EndEnum 190Enum 11:8 SHA1 191 0b0000 NI 192 0b0001 IMP 193EndEnum 194Enum 7:4 AES 195 0b0000 NI 196 0b0001 AES 197 0b0010 PMULL 198EndEnum 199Res0 3:0 200EndSysreg 201 202Sysreg ID_AA64ISAR1_EL1 3 0 0 6 1 203Enum 63:60 LS64 204 0b0000 NI 205 0b0001 LS64 206 0b0010 LS64_V 207 0b0011 LS64_ACCDATA 208EndEnum 209Enum 59:56 XS 210 0b0000 NI 211 0b0001 IMP 212EndEnum 213Enum 55:52 I8MM 214 0b0000 NI 215 0b0001 IMP 216EndEnum 217Enum 51:48 DGH 218 0b0000 NI 219 0b0001 IMP 220EndEnum 221Enum 47:44 BF16 222 0b0000 NI 223 0b0001 IMP 224 0b0010 EBF16 225EndEnum 226Enum 43:40 SPECRES 227 0b0000 NI 228 0b0001 IMP 229EndEnum 230Enum 39:36 SB 231 0b0000 NI 232 0b0001 IMP 233EndEnum 234Enum 35:32 FRINTTS 235 0b0000 NI 236 0b0001 IMP 237EndEnum 238Enum 31:28 GPI 239 0b0000 NI 240 0b0001 IMP 241EndEnum 242Enum 27:24 GPA 243 0b0000 NI 244 0b0001 IMP 245EndEnum 246Enum 23:20 LRCPC 247 0b0000 NI 248 0b0001 IMP 249 0b0010 LRCPC2 250EndEnum 251Enum 19:16 FCMA 252 0b0000 NI 253 0b0001 IMP 254EndEnum 255Enum 15:12 JSCVT 256 0b0000 NI 257 0b0001 IMP 258EndEnum 259Enum 11:8 API 260 0b0000 NI 261 0b0001 PAuth 262 0b0010 EPAC 263 0b0011 PAuth2 264 0b0100 FPAC 265 0b0101 FPACCOMBINE 266EndEnum 267Enum 7:4 APA 268 0b0000 NI 269 0b0001 PAuth 270 0b0010 EPAC 271 0b0011 PAuth2 272 0b0100 FPAC 273 0b0101 FPACCOMBINE 274EndEnum 275Enum 3:0 DPB 276 0b0000 NI 277 0b0001 IMP 278 0b0010 DPB2 279EndEnum 280EndSysreg 281 282Sysreg ID_AA64ISAR2_EL1 3 0 0 6 2 283Res0 63:28 284Enum 27:24 PAC_frac 285 0b0000 NI 286 0b0001 IMP 287EndEnum 288Enum 23:20 BC 289 0b0000 NI 290 0b0001 IMP 291EndEnum 292Enum 19:16 MOPS 293 0b0000 NI 294 0b0001 IMP 295EndEnum 296Enum 15:12 APA3 297 0b0000 NI 298 0b0001 PAuth 299 0b0010 EPAC 300 0b0011 PAuth2 301 0b0100 FPAC 302 0b0101 FPACCOMBINE 303EndEnum 304Enum 11:8 GPA3 305 0b0000 NI 306 0b0001 IMP 307EndEnum 308Enum 7:4 RPRES 309 0b0000 NI 310 0b0001 IMP 311EndEnum 312Enum 3:0 WFxT 313 0b0000 NI 314 0b0010 IMP 315EndEnum 316EndSysreg 317 318Sysreg ID_AA64MMFR0_EL1 3 0 0 7 0 319Enum 63:60 ECV 320 0b0000 NI 321 0b0001 IMP 322 0b0010 CNTPOFF 323EndEnum 324Enum 59:56 FGT 325 0b0000 NI 326 0b0001 IMP 327EndEnum 328Res0 55:48 329Enum 47:44 EXS 330 0b0000 NI 331 0b0001 IMP 332EndEnum 333Enum 43:40 TGRAN4_2 334 0b0000 TGRAN4 335 0b0001 NI 336 0b0010 IMP 337 0b0011 52_BIT 338EndEnum 339Enum 39:36 TGRAN64_2 340 0b0000 TGRAN64 341 0b0001 NI 342 0b0010 IMP 343EndEnum 344Enum 35:32 TGRAN16_2 345 0b0000 TGRAN16 346 0b0001 NI 347 0b0010 IMP 348 0b0011 52_BIT 349EndEnum 350Enum 31:28 TGRAN4 351 0b0000 IMP 352 0b0001 52_BIT 353 0b1111 NI 354EndEnum 355Enum 27:24 TGRAN64 356 0b0000 IMP 357 0b1111 NI 358EndEnum 359Enum 23:20 TGRAN16 360 0b0000 NI 361 0b0001 IMP 362 0b0010 52_BIT 363EndEnum 364Enum 19:16 BIGENDEL0 365 0b0000 NI 366 0b0001 IMP 367EndEnum 368Enum 15:12 SNSMEM 369 0b0000 NI 370 0b0001 IMP 371EndEnum 372Enum 11:8 BIGEND 373 0b0000 NI 374 0b0001 IMP 375EndEnum 376Enum 7:4 ASIDBITS 377 0b0000 8 378 0b0010 16 379EndEnum 380Enum 3:0 PARANGE 381 0b0000 32 382 0b0001 36 383 0b0010 40 384 0b0011 42 385 0b0100 44 386 0b0101 48 387 0b0110 52 388EndEnum 389EndSysreg 390 391Sysreg ID_AA64MMFR1_EL1 3 0 0 7 1 392Enum 63:60 ECBHB 393 0b0000 NI 394 0b0001 IMP 395EndEnum 396Enum 59:56 CMOW 397 0b0000 NI 398 0b0001 IMP 399EndEnum 400Enum 55:52 TIDCP1 401 0b0000 NI 402 0b0001 IMP 403EndEnum 404Enum 51:48 nTLBPA 405 0b0000 NI 406 0b0001 IMP 407EndEnum 408Enum 47:44 AFP 409 0b0000 NI 410 0b0001 IMP 411EndEnum 412Enum 43:40 HCX 413 0b0000 NI 414 0b0001 IMP 415EndEnum 416Enum 39:36 ETS 417 0b0000 NI 418 0b0001 IMP 419EndEnum 420Enum 35:32 TWED 421 0b0000 NI 422 0b0001 IMP 423EndEnum 424Enum 31:28 XNX 425 0b0000 NI 426 0b0001 IMP 427EndEnum 428Enum 27:24 SpecSEI 429 0b0000 NI 430 0b0001 IMP 431EndEnum 432Enum 23:20 PAN 433 0b0000 NI 434 0b0001 IMP 435 0b0010 PAN2 436 0b0011 PAN3 437EndEnum 438Enum 19:16 LO 439 0b0000 NI 440 0b0001 IMP 441EndEnum 442Enum 15:12 HPDS 443 0b0000 NI 444 0b0001 IMP 445 0b0010 HPDS2 446EndEnum 447Enum 11:8 VH 448 0b0000 NI 449 0b0001 IMP 450EndEnum 451Enum 7:4 VMIDBits 452 0b0000 8 453 0b0010 16 454EndEnum 455Enum 3:0 HAFDBS 456 0b0000 NI 457 0b0001 AF 458 0b0010 DBM 459EndEnum 460EndSysreg 461 462Sysreg ID_AA64MMFR2_EL1 3 0 0 7 2 463Enum 63:60 E0PD 464 0b0000 NI 465 0b0001 IMP 466EndEnum 467Enum 59:56 EVT 468 0b0000 NI 469 0b0001 IMP 470 0b0010 TTLBxS 471EndEnum 472Enum 55:52 BBM 473 0b0000 0 474 0b0001 1 475 0b0010 2 476EndEnum 477Enum 51:48 TTL 478 0b0000 NI 479 0b0001 IMP 480EndEnum 481Res0 47:44 482Enum 43:40 FWB 483 0b0000 NI 484 0b0001 IMP 485EndEnum 486Enum 39:36 IDS 487 0b0000 0x0 488 0b0001 0x18 489EndEnum 490Enum 35:32 AT 491 0b0000 NI 492 0b0001 IMP 493EndEnum 494Enum 31:28 ST 495 0b0000 39 496 0b0001 48_47 497EndEnum 498Enum 27:24 NV 499 0b0000 NI 500 0b0001 IMP 501 0b0010 NV2 502EndEnum 503Enum 23:20 CCIDX 504 0b0000 32 505 0b0001 64 506EndEnum 507Enum 19:16 VARange 508 0b0000 48 509 0b0001 52 510EndEnum 511Enum 15:12 IESB 512 0b0000 NI 513 0b0001 IMP 514EndEnum 515Enum 11:8 LSM 516 0b0000 NI 517 0b0001 IMP 518EndEnum 519Enum 7:4 UAO 520 0b0000 NI 521 0b0001 IMP 522EndEnum 523Enum 3:0 CnP 524 0b0000 NI 525 0b0001 IMP 526EndEnum 527EndSysreg 528 529Sysreg SCTLR_EL1 3 0 1 0 0 530Field 63 TIDCP 531Field 62 SPINMASK 532Field 61 NMI 533Field 60 EnTP2 534Res0 59:58 535Field 57 EPAN 536Field 56 EnALS 537Field 55 EnAS0 538Field 54 EnASR 539Field 53 TME 540Field 52 TME0 541Field 51 TMT 542Field 50 TMT0 543Field 49:46 TWEDEL 544Field 45 TWEDEn 545Field 44 DSSBS 546Field 43 ATA 547Field 42 ATA0 548Enum 41:40 TCF 549 0b00 NONE 550 0b01 SYNC 551 0b10 ASYNC 552 0b11 ASYMM 553EndEnum 554Enum 39:38 TCF0 555 0b00 NONE 556 0b01 SYNC 557 0b10 ASYNC 558 0b11 ASYMM 559EndEnum 560Field 37 ITFSB 561Field 36 BT1 562Field 35 BT0 563Res0 34 564Field 33 MSCEn 565Field 32 CMOW 566Field 31 EnIA 567Field 30 EnIB 568Field 29 LSMAOE 569Field 28 nTLSMD 570Field 27 EnDA 571Field 26 UCI 572Field 25 EE 573Field 24 E0E 574Field 23 SPAN 575Field 22 EIS 576Field 21 IESB 577Field 20 TSCXT 578Field 19 WXN 579Field 18 nTWE 580Res0 17 581Field 16 nTWI 582Field 15 UCT 583Field 14 DZE 584Field 13 EnDB 585Field 12 I 586Field 11 EOS 587Field 10 EnRCTX 588Field 9 UMA 589Field 8 SED 590Field 7 ITD 591Field 6 nAA 592Field 5 CP15BEN 593Field 4 SA0 594Field 3 SA 595Field 2 C 596Field 1 A 597Field 0 M 598EndSysreg 599 600SysregFields CPACR_ELx 601Res0 63:29 602Field 28 TTA 603Res0 27:26 604Field 25:24 SMEN 605Res0 23:22 606Field 21:20 FPEN 607Res0 19:18 608Field 17:16 ZEN 609Res0 15:0 610EndSysregFields 611 612Sysreg CPACR_EL1 3 0 1 0 2 613Fields CPACR_ELx 614EndSysreg 615 616Sysreg SMPRI_EL1 3 0 1 2 4 617Res0 63:4 618Field 3:0 PRIORITY 619EndSysreg 620 621SysregFields ZCR_ELx 622Res0 63:9 623Raz 8:4 624Field 3:0 LEN 625EndSysregFields 626 627Sysreg ZCR_EL1 3 0 1 2 0 628Fields ZCR_ELx 629EndSysreg 630 631SysregFields SMCR_ELx 632Res0 63:32 633Field 31 FA64 634Res0 30:9 635Raz 8:4 636Field 3:0 LEN 637EndSysregFields 638 639Sysreg SMCR_EL1 3 0 1 2 6 640Fields SMCR_ELx 641EndSysreg 642 643Sysreg FAR_EL1 3 0 6 0 0 644Field 63:0 ADDR 645EndSysreg 646 647SysregFields CONTEXTIDR_ELx 648Res0 63:32 649Field 31:0 PROCID 650EndSysregFields 651 652Sysreg CONTEXTIDR_EL1 3 0 13 0 1 653Fields CONTEXTIDR_ELx 654EndSysreg 655 656Sysreg CLIDR_EL1 3 1 0 0 1 657Res0 63:47 658Field 46:33 Ttypen 659Field 32:30 ICB 660Field 29:27 LoUU 661Field 26:24 LoC 662Field 23:21 LoUIS 663Field 20:18 Ctype7 664Field 17:15 Ctype6 665Field 14:12 Ctype5 666Field 11:9 Ctype4 667Field 8:6 Ctype3 668Field 5:3 Ctype2 669Field 2:0 Ctype1 670EndSysreg 671 672Sysreg GMID_EL1 3 1 0 0 4 673Res0 63:4 674Field 3:0 BS 675EndSysreg 676 677Sysreg SMIDR_EL1 3 1 0 0 6 678Res0 63:32 679Field 31:24 IMPLEMENTER 680Field 23:16 REVISION 681Field 15 SMPS 682Res0 14:12 683Field 11:0 AFFINITY 684EndSysreg 685 686Sysreg CSSELR_EL1 3 2 0 0 0 687Res0 63:5 688Field 4 TnD 689Field 3:1 Level 690Field 0 InD 691EndSysreg 692 693Sysreg CTR_EL0 3 3 0 0 1 694Res0 63:38 695Field 37:32 TminLine 696Res1 31 697Res0 30 698Field 29 DIC 699Field 28 IDC 700Field 27:24 CWG 701Field 23:20 ERG 702Field 19:16 DminLine 703Enum 15:14 L1Ip 704 0b00 VPIPT 705 # This is named as AIVIVT in the ARM but documented as reserved 706 0b01 RESERVED 707 0b10 VIPT 708 0b11 PIPT 709EndEnum 710Res0 13:4 711Field 3:0 IminLine 712EndSysreg 713 714Sysreg DCZID_EL0 3 3 0 0 7 715Res0 63:5 716Field 4 DZP 717Field 3:0 BS 718EndSysreg 719 720Sysreg SVCR 3 3 4 2 2 721Res0 63:2 722Field 1 ZA 723Field 0 SM 724EndSysreg 725 726Sysreg ZCR_EL2 3 4 1 2 0 727Fields ZCR_ELx 728EndSysreg 729 730Sysreg HCRX_EL2 3 4 1 2 2 731Res0 63:12 732Field 11 MSCEn 733Field 10 MCE2 734Field 9 CMOW 735Field 8 VFNMI 736Field 7 VINMI 737Field 6 TALLINT 738Field 5 SMPME 739Field 4 FGTnXS 740Field 3 FnXS 741Field 2 EnASR 742Field 1 EnALS 743Field 0 EnAS0 744EndSysreg 745 746Sysreg SMPRIMAP_EL2 3 4 1 2 5 747Field 63:60 P15 748Field 59:56 P14 749Field 55:52 P13 750Field 51:48 P12 751Field 47:44 P11 752Field 43:40 P10 753Field 39:36 F9 754Field 35:32 P8 755Field 31:28 P7 756Field 27:24 P6 757Field 23:20 P5 758Field 19:16 P4 759Field 15:12 P3 760Field 11:8 P2 761Field 7:4 P1 762Field 3:0 P0 763EndSysreg 764 765Sysreg SMCR_EL2 3 4 1 2 6 766Fields SMCR_ELx 767EndSysreg 768 769Sysreg DACR32_EL2 3 4 3 0 0 770Res0 63:32 771Field 31:30 D15 772Field 29:28 D14 773Field 27:26 D13 774Field 25:24 D12 775Field 23:22 D11 776Field 21:20 D10 777Field 19:18 D9 778Field 17:16 D8 779Field 15:14 D7 780Field 13:12 D6 781Field 11:10 D5 782Field 9:8 D4 783Field 7:6 D3 784Field 5:4 D2 785Field 3:2 D1 786Field 1:0 D0 787EndSysreg 788 789Sysreg FAR_EL2 3 4 6 0 0 790Field 63:0 ADDR 791EndSysreg 792 793Sysreg CONTEXTIDR_EL2 3 4 13 0 1 794Fields CONTEXTIDR_ELx 795EndSysreg 796 797Sysreg CPACR_EL12 3 5 1 0 2 798Fields CPACR_ELx 799EndSysreg 800 801Sysreg ZCR_EL12 3 5 1 2 0 802Fields ZCR_ELx 803EndSysreg 804 805Sysreg SMCR_EL12 3 5 1 2 6 806Fields SMCR_ELx 807EndSysreg 808 809Sysreg FAR_EL12 3 5 6 0 0 810Field 63:0 ADDR 811EndSysreg 812 813Sysreg CONTEXTIDR_EL12 3 5 13 0 1 814Fields CONTEXTIDR_ELx 815EndSysreg 816 817SysregFields TTBRx_EL1 818Field 63:48 ASID 819Field 47:1 BADDR 820Field 0 CnP 821EndSysregFields 822 823Sysreg TTBR0_EL1 3 0 2 0 0 824Fields TTBRx_EL1 825EndSysreg 826 827Sysreg TTBR1_EL1 3 0 2 0 1 828Fields TTBRx_EL1 829EndSysreg 830 831Sysreg LORSA_EL1 3 0 10 4 0 832Res0 63:52 833Field 51:16 SA 834Res0 15:1 835Field 0 Valid 836EndSysreg 837 838Sysreg LOREA_EL1 3 0 10 4 1 839Res0 63:52 840Field 51:48 EA_51_48 841Field 47:16 EA_47_16 842Res0 15:0 843EndSysreg 844 845Sysreg LORN_EL1 3 0 10 4 2 846Res0 63:8 847Field 7:0 Num 848EndSysreg 849 850Sysreg LORC_EL1 3 0 10 4 3 851Res0 63:10 852Field 9:2 DS 853Res0 1 854Field 0 EN 855EndSysreg 856 857Sysreg LORID_EL1 3 0 10 4 7 858Res0 63:24 859Field 23:16 LD 860Res0 15:8 861Field 7:0 LR 862EndSysreg 863