Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0-only
0002 #
0003 # System register metadata
0004 
0005 # Each System register is described by a Sysreg block:
0006 
0007 # Sysreg        <name>  <op0>   <op1>   <crn>   <crm>   <op2>
0008 # <field>
0009 # ...
0010 # EndSysreg
0011 
0012 # Within a Sysreg block, each field can be described as one of:
0013 
0014 # Res0  <msb>[:<lsb>]
0015 
0016 # Res1  <msb>[:<lsb>]
0017 
0018 # Field <msb>[:<lsb>]   <name>
0019 
0020 # Enum  <msb>[:<lsb>]   <name>
0021 #       <enumval>       <enumname>
0022 #       ...
0023 # EndEnum
0024 
0025 # Alternatively if multiple registers share the same layout then
0026 # a SysregFields block can be used to describe the shared layout
0027 
0028 # SysregFields  <fieldsname>
0029 # <field>
0030 # ...
0031 # EndSysregFields
0032 
0033 # and referenced from within the Sysreg:
0034 
0035 # Sysreg        <name>  <op0>   <op1>   <crn>   <crm>   <op2>
0036 # Fields        <fieldsname>
0037 # EndSysreg
0038 
0039 # For ID registers we adopt a few conventions for translating the
0040 # language in the ARM into defines:
0041 #
0042 # NI  - Not implemented
0043 # IMP - Implemented
0044 #
0045 # In general it is recommended that new enumeration items be named for the
0046 # feature that introduces them (eg, FEAT_LS64_ACCDATA introduces enumeration
0047 # item ACCDATA) though it may be more taseful to do something else.
0048 
0049 Sysreg  ID_AA64ZFR0_EL1 3       0       0       4       4
0050 Res0    63:60
0051 Enum    59:56   F64MM
0052         0b0000  NI
0053         0b0001  IMP
0054 EndEnum
0055 Enum    55:52   F32MM
0056         0b0000  NI
0057         0b0001  IMP
0058 EndEnum
0059 Res0    51:48
0060 Enum    47:44   I8MM
0061         0b0000  NI
0062         0b0001  IMP
0063 EndEnum
0064 Enum    43:40   SM4
0065         0b0000  NI
0066         0b0001  IMP
0067 EndEnum
0068 Res0    39:36
0069 Enum    35:32   SHA3
0070         0b0000  NI
0071         0b0001  IMP
0072 EndEnum
0073 Res0    31:24
0074 Enum    23:20   BF16
0075         0b0000  NI
0076         0b0001  IMP
0077         0b0010  EBF16
0078 EndEnum
0079 Enum    19:16   BitPerm
0080         0b0000  NI
0081         0b0001  IMP
0082 EndEnum
0083 Res0    15:8
0084 Enum    7:4     AES
0085         0b0000  NI
0086         0b0001  IMP
0087         0b0010  PMULL128
0088 EndEnum
0089 Enum    3:0     SVEver
0090         0b0000  IMP
0091         0b0001  SVE2
0092 EndEnum
0093 EndSysreg
0094 
0095 Sysreg  ID_AA64SMFR0_EL1        3       0       0       4       5
0096 Enum    63      FA64
0097         0b0     NI
0098         0b1     IMP
0099 EndEnum
0100 Res0    62:60
0101 Field   59:56   SMEver
0102 Enum    55:52   I16I64
0103         0b0000  NI
0104         0b1111  IMP
0105 EndEnum
0106 Res0    51:49
0107 Enum    48      F64F64
0108         0b0     NI
0109         0b1     IMP
0110 EndEnum
0111 Res0    47:40
0112 Enum    39:36   I8I32
0113         0b0000  NI
0114         0b1111  IMP
0115 EndEnum
0116 Enum    35      F16F32
0117         0b0     NI
0118         0b1     IMP
0119 EndEnum
0120 Enum    34      B16F32
0121         0b0     NI
0122         0b1     IMP
0123 EndEnum
0124 Res0    33
0125 Enum    32      F32F32
0126         0b0     NI
0127         0b1     IMP
0128 EndEnum
0129 Res0    31:0
0130 EndSysreg
0131 
0132 Sysreg  ID_AA64ISAR0_EL1        3       0       0       6       0
0133 Enum    63:60   RNDR
0134         0b0000  NI
0135         0b0001  IMP
0136 EndEnum
0137 Enum    59:56   TLB
0138         0b0000  NI
0139         0b0001  OS
0140         0b0010  RANGE
0141 EndEnum
0142 Enum    55:52   TS
0143         0b0000  NI
0144         0b0001  FLAGM
0145         0b0010  FLAGM2
0146 EndEnum
0147 Enum    51:48   FHM
0148         0b0000  NI
0149         0b0001  IMP
0150 EndEnum
0151 Enum    47:44   DP
0152         0b0000  NI
0153         0b0001  IMP
0154 EndEnum
0155 Enum    43:40   SM4
0156         0b0000  NI
0157         0b0001  IMP
0158 EndEnum
0159 Enum    39:36   SM3
0160         0b0000  NI
0161         0b0001  IMP
0162 EndEnum
0163 Enum    35:32   SHA3
0164         0b0000  NI
0165         0b0001  IMP
0166 EndEnum
0167 Enum    31:28   RDM
0168         0b0000  NI
0169         0b0001  IMP
0170 EndEnum
0171 Enum    27:24   TME
0172         0b0000  NI
0173         0b0001  IMP
0174 EndEnum
0175 Enum    23:20   ATOMIC
0176         0b0000  NI
0177         0b0010  IMP
0178 EndEnum
0179 Enum    19:16   CRC32
0180         0b0000  NI
0181         0b0001  IMP
0182 EndEnum
0183 Enum    15:12   SHA2
0184         0b0000  NI
0185         0b0001  SHA256
0186         0b0010  SHA512
0187 EndEnum
0188 Enum    11:8    SHA1
0189         0b0000  NI
0190         0b0001  IMP
0191 EndEnum
0192 Enum    7:4     AES
0193         0b0000  NI
0194         0b0001  AES
0195         0b0010  PMULL
0196 EndEnum
0197 Res0    3:0
0198 EndSysreg
0199 
0200 Sysreg  ID_AA64ISAR1_EL1        3       0       0       6       1
0201 Enum    63:60   LS64
0202         0b0000  NI
0203         0b0001  LS64
0204         0b0010  LS64_V
0205         0b0011  LS64_ACCDATA
0206 EndEnum
0207 Enum    59:56   XS
0208         0b0000  NI
0209         0b0001  IMP
0210 EndEnum
0211 Enum    55:52   I8MM
0212         0b0000  NI
0213         0b0001  IMP
0214 EndEnum
0215 Enum    51:48   DGH
0216         0b0000  NI
0217         0b0001  IMP
0218 EndEnum
0219 Enum    47:44   BF16
0220         0b0000  NI
0221         0b0001  IMP
0222         0b0010  EBF16
0223 EndEnum
0224 Enum    43:40   SPECRES
0225         0b0000  NI
0226         0b0001  IMP
0227 EndEnum
0228 Enum    39:36   SB
0229         0b0000  NI
0230         0b0001  IMP
0231 EndEnum
0232 Enum    35:32   FRINTTS
0233         0b0000  NI
0234         0b0001  IMP
0235 EndEnum
0236 Enum    31:28   GPI
0237         0b0000  NI
0238         0b0001  IMP
0239 EndEnum
0240 Enum    27:24   GPA
0241         0b0000  NI
0242         0b0001  IMP
0243 EndEnum
0244 Enum    23:20   LRCPC
0245         0b0000  NI
0246         0b0001  IMP
0247         0b0010  LRCPC2
0248 EndEnum
0249 Enum    19:16   FCMA
0250         0b0000  NI
0251         0b0001  IMP
0252 EndEnum
0253 Enum    15:12   JSCVT
0254         0b0000  NI
0255         0b0001  IMP
0256 EndEnum
0257 Enum    11:8    API
0258         0b0000  NI
0259         0b0001  PAuth
0260         0b0010  EPAC
0261         0b0011  PAuth2
0262         0b0100  FPAC
0263         0b0101  FPACCOMBINE
0264 EndEnum
0265 Enum    7:4     APA
0266         0b0000  NI
0267         0b0001  PAuth
0268         0b0010  EPAC
0269         0b0011  PAuth2
0270         0b0100  FPAC
0271         0b0101  FPACCOMBINE
0272 EndEnum
0273 Enum    3:0     DPB
0274         0b0000  NI
0275         0b0001  IMP
0276         0b0010  DPB2
0277 EndEnum
0278 EndSysreg
0279 
0280 Sysreg  ID_AA64ISAR2_EL1        3       0       0       6       2
0281 Res0    63:28
0282 Enum    27:24   PAC_frac
0283         0b0000  NI
0284         0b0001  IMP
0285 EndEnum
0286 Enum    23:20   BC
0287         0b0000  NI
0288         0b0001  IMP
0289 EndEnum
0290 Enum    19:16   MOPS
0291         0b0000  NI
0292         0b0001  IMP
0293 EndEnum
0294 Enum    15:12   APA3
0295         0b0000  NI
0296         0b0001  PAuth
0297         0b0010  EPAC
0298         0b0011  PAuth2
0299         0b0100  FPAC
0300         0b0101  FPACCOMBINE
0301 EndEnum
0302 Enum    11:8    GPA3
0303         0b0000  NI
0304         0b0001  IMP
0305 EndEnum
0306 Enum    7:4     RPRES
0307         0b0000  NI
0308         0b0001  IMP
0309 EndEnum
0310 Enum    3:0     WFxT
0311         0b0000  NI
0312         0b0010  IMP
0313 EndEnum
0314 EndSysreg
0315 
0316 Sysreg  SCTLR_EL1       3       0       1       0       0
0317 Field   63      TIDCP
0318 Field   62      SPINMASK
0319 Field   61      NMI
0320 Field   60      EnTP2
0321 Res0    59:58
0322 Field   57      EPAN
0323 Field   56      EnALS
0324 Field   55      EnAS0
0325 Field   54      EnASR
0326 Field   53      TME
0327 Field   52      TME0
0328 Field   51      TMT
0329 Field   50      TMT0
0330 Field   49:46   TWEDEL
0331 Field   45      TWEDEn
0332 Field   44      DSSBS
0333 Field   43      ATA
0334 Field   42      ATA0
0335 Enum    41:40   TCF
0336         0b00    NONE
0337         0b01    SYNC
0338         0b10    ASYNC
0339         0b11    ASYMM
0340 EndEnum
0341 Enum    39:38   TCF0
0342         0b00    NONE
0343         0b01    SYNC
0344         0b10    ASYNC
0345         0b11    ASYMM
0346 EndEnum
0347 Field   37      ITFSB
0348 Field   36      BT1
0349 Field   35      BT0
0350 Res0    34
0351 Field   33      MSCEn
0352 Field   32      CMOW
0353 Field   31      EnIA
0354 Field   30      EnIB
0355 Field   29      LSMAOE
0356 Field   28      nTLSMD
0357 Field   27      EnDA
0358 Field   26      UCI
0359 Field   25      EE
0360 Field   24      E0E
0361 Field   23      SPAN
0362 Field   22      EIS
0363 Field   21      IESB
0364 Field   20      TSCXT
0365 Field   19      WXN
0366 Field   18      nTWE
0367 Res0    17
0368 Field   16      nTWI
0369 Field   15      UCT
0370 Field   14      DZE
0371 Field   13      EnDB
0372 Field   12      I
0373 Field   11      EOS
0374 Field   10      EnRCTX
0375 Field   9       UMA
0376 Field   8       SED
0377 Field   7       ITD
0378 Field   6       nAA
0379 Field   5       CP15BEN
0380 Field   4       SA0
0381 Field   3       SA
0382 Field   2       C
0383 Field   1       A
0384 Field   0       M
0385 EndSysreg
0386 
0387 SysregFields    CPACR_ELx
0388 Res0    63:29
0389 Field   28      TTA
0390 Res0    27:26
0391 Field   25:24   SMEN
0392 Res0    23:22
0393 Field   21:20   FPEN
0394 Res0    19:18
0395 Field   17:16   ZEN
0396 Res0    15:0
0397 EndSysregFields
0398 
0399 Sysreg  CPACR_EL1       3       0       1       0       2
0400 Fields  CPACR_ELx
0401 EndSysreg
0402 
0403 Sysreg  SMPRI_EL1       3       0       1       2       4
0404 Res0    63:4
0405 Field   3:0     PRIORITY
0406 EndSysreg
0407 
0408 SysregFields    ZCR_ELx
0409 Res0    63:9
0410 Raz     8:4
0411 Field   3:0     LEN
0412 EndSysregFields
0413 
0414 Sysreg ZCR_EL1  3       0       1       2       0
0415 Fields ZCR_ELx
0416 EndSysreg
0417 
0418 SysregFields    SMCR_ELx
0419 Res0    63:32
0420 Field   31      FA64
0421 Res0    30:9
0422 Raz     8:4
0423 Field   3:0     LEN
0424 EndSysregFields
0425 
0426 Sysreg  SMCR_EL1        3       0       1       2       6
0427 Fields  SMCR_ELx
0428 EndSysreg
0429 
0430 Sysreg  FAR_EL1 3       0       6       0       0
0431 Field   63:0    ADDR
0432 EndSysreg
0433 
0434 SysregFields    CONTEXTIDR_ELx
0435 Res0    63:32
0436 Field   31:0    PROCID
0437 EndSysregFields
0438 
0439 Sysreg  CONTEXTIDR_EL1  3       0       13      0       1
0440 Fields  CONTEXTIDR_ELx
0441 EndSysreg
0442 
0443 Sysreg  CLIDR_EL1       3       1       0       0       1
0444 Res0    63:47
0445 Field   46:33   Ttypen
0446 Field   32:30   ICB
0447 Field   29:27   LoUU
0448 Field   26:24   LoC
0449 Field   23:21   LoUIS
0450 Field   20:18   Ctype7
0451 Field   17:15   Ctype6
0452 Field   14:12   Ctype5
0453 Field   11:9    Ctype4
0454 Field   8:6     Ctype3
0455 Field   5:3     Ctype2
0456 Field   2:0     Ctype1
0457 EndSysreg
0458 
0459 Sysreg  GMID_EL1        3       1       0       0       4
0460 Res0    63:4
0461 Field   3:0     BS
0462 EndSysreg
0463 
0464 Sysreg  SMIDR_EL1       3       1       0       0       6
0465 Res0    63:32
0466 Field   31:24   IMPLEMENTER
0467 Field   23:16   REVISION
0468 Field   15      SMPS
0469 Res0    14:12
0470 Field   11:0    AFFINITY
0471 EndSysreg
0472 
0473 Sysreg  CSSELR_EL1      3       2       0       0       0
0474 Res0    63:5
0475 Field   4       TnD
0476 Field   3:1     Level
0477 Field   0       InD
0478 EndSysreg
0479 
0480 Sysreg  CTR_EL0 3       3       0       0       1
0481 Res0    63:38
0482 Field   37:32   TminLine
0483 Res1    31
0484 Res0    30
0485 Field   29      DIC
0486 Field   28      IDC
0487 Field   27:24   CWG
0488 Field   23:20   ERG
0489 Field   19:16   DminLine
0490 Enum    15:14   L1Ip
0491         0b00    VPIPT
0492         # This is named as AIVIVT in the ARM but documented as reserved
0493         0b01    RESERVED
0494         0b10    VIPT
0495         0b11    PIPT
0496 EndEnum
0497 Res0    13:4
0498 Field   3:0     IminLine
0499 EndSysreg
0500 
0501 Sysreg  DCZID_EL0       3       3       0       0       7
0502 Res0    63:5
0503 Field   4       DZP
0504 Field   3:0     BS
0505 EndSysreg
0506 
0507 Sysreg  SVCR    3       3       4       2       2
0508 Res0    63:2
0509 Field   1       ZA
0510 Field   0       SM
0511 EndSysreg
0512 
0513 Sysreg  ZCR_EL2 3       4       1       2       0
0514 Fields  ZCR_ELx
0515 EndSysreg
0516 
0517 Sysreg  SMPRIMAP_EL2    3       4       1       2       5
0518 Field   63:60   P15
0519 Field   59:56   P14
0520 Field   55:52   P13
0521 Field   51:48   P12
0522 Field   47:44   P11
0523 Field   43:40   P10
0524 Field   39:36   F9
0525 Field   35:32   P8
0526 Field   31:28   P7
0527 Field   27:24   P6
0528 Field   23:20   P5
0529 Field   19:16   P4
0530 Field   15:12   P3
0531 Field   11:8    P2
0532 Field   7:4     P1
0533 Field   3:0     P0
0534 EndSysreg
0535 
0536 Sysreg  SMCR_EL2        3       4       1       2       6
0537 Fields  SMCR_ELx
0538 EndSysreg
0539 
0540 Sysreg  DACR32_EL2      3       4       3       0       0
0541 Res0    63:32
0542 Field   31:30   D15
0543 Field   29:28   D14
0544 Field   27:26   D13
0545 Field   25:24   D12
0546 Field   23:22   D11
0547 Field   21:20   D10
0548 Field   19:18   D9
0549 Field   17:16   D8
0550 Field   15:14   D7
0551 Field   13:12   D6
0552 Field   11:10   D5
0553 Field   9:8     D4
0554 Field   7:6     D3
0555 Field   5:4     D2
0556 Field   3:2     D1
0557 Field   1:0     D0
0558 EndSysreg
0559 
0560 Sysreg  FAR_EL2 3       4       6       0       0
0561 Field   63:0    ADDR
0562 EndSysreg
0563 
0564 Sysreg  CONTEXTIDR_EL2  3       4       13      0       1
0565 Fields  CONTEXTIDR_ELx
0566 EndSysreg
0567 
0568 Sysreg  CPACR_EL12      3       5       1       0       2
0569 Fields  CPACR_ELx
0570 EndSysreg
0571 
0572 Sysreg  ZCR_EL12        3       5       1       2       0
0573 Fields  ZCR_ELx
0574 EndSysreg
0575 
0576 Sysreg  SMCR_EL12       3       5       1       2       6
0577 Fields  SMCR_ELx
0578 EndSysreg
0579 
0580 Sysreg  FAR_EL12        3       5       6       0       0
0581 Field   63:0    ADDR
0582 EndSysreg
0583 
0584 Sysreg  CONTEXTIDR_EL12 3       5       13      0       1
0585 Fields  CONTEXTIDR_ELx
0586 EndSysreg
0587 
0588 SysregFields TTBRx_EL1
0589 Field   63:48   ASID
0590 Field   47:1    BADDR
0591 Field   0       CnP
0592 EndSysregFields
0593 
0594 Sysreg  TTBR0_EL1       3       0       2       0       0
0595 Fields  TTBRx_EL1
0596 EndSysreg
0597 
0598 Sysreg  TTBR1_EL1       3       0       2       0       1
0599 Fields  TTBRx_EL1
0600 EndSysreg
0601 
0602 Sysreg  LORSA_EL1       3       0       10      4       0
0603 Res0    63:52
0604 Field   51:16   SA
0605 Res0    15:1
0606 Field   0       Valid
0607 EndSysreg
0608 
0609 Sysreg  LOREA_EL1       3       0       10      4       1
0610 Res0    63:52
0611 Field   51:48   EA_51_48
0612 Field   47:16   EA_47_16
0613 Res0    15:0
0614 EndSysreg
0615 
0616 Sysreg  LORN_EL1        3       0       10      4       2
0617 Res0    63:8
0618 Field   7:0     Num
0619 EndSysreg
0620 
0621 Sysreg  LORC_EL1        3       0       10      4       3
0622 Res0    63:10
0623 Field   9:2     DS
0624 Res0    1
0625 Field   0       EN
0626 EndSysreg
0627 
0628 Sysreg  LORID_EL1       3       0       10      4       7
0629 Res0    63:24
0630 Field   23:16   LD
0631 Res0    15:8
0632 Field   7:0     LR
0633 EndSysreg