arm64/sysreg: Initial unsigned annotations for ID registers
authorMark Brown <broonie@kernel.org>
Tue, 31 Jan 2023 00:18:45 +0000 (00:18 +0000)
committerCatalin Marinas <catalin.marinas@arm.com>
Wed, 1 Feb 2023 17:51:19 +0000 (17:51 +0000)
In order to allow the simplification of way we declare hwcaps annotate
most of the unsigned fields in the identification registers as such. This
is not a complete annotation, it does cover all the cases where we already
annotate signedness of the field in the hwcaps and some others which I
happened to look at and seemed clear but there will be more and nothing
outside the identification registers was even looked at.

Other fields can be annotated as incrementally as people have the time and
need to do so.

Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20221207-arm64-sysreg-helpers-v4-3-25b6b3fb9d18@kernel.org
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/tools/sysreg

index adc3fcd..3afae63 100644 (file)
 
 Sysreg ID_PFR0_EL1     3       0       0       1       0
 Res0   63:32
-Enum   31:28   RAS
+UnsignedEnum   31:28   RAS
        0b0000  NI
        0b0001  RAS
        0b0010  RASv1p1
 EndEnum
-Enum   27:24   DIT
+UnsignedEnum   27:24   DIT
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   23:20   AMU
+UnsignedEnum   23:20   AMU
        0b0000  NI
        0b0001  AMUv1
        0b0010  AMUv1p1
 EndEnum
-Enum   19:16   CSV2
+UnsignedEnum   19:16   CSV2
        0b0000  UNDISCLOSED
        0b0001  IMP
        0b0010  CSV2p1
 EndEnum
-Enum   15:12   State3
+UnsignedEnum   15:12   State3
        0b0000  NI
        0b0001  IMP
 EndEnum
@@ -76,12 +76,12 @@ Enum        11:8    State2
        0b0001  NO_CV
        0b0010  CV
 EndEnum
-Enum   7:4     State1
+UnsignedEnum   7:4     State1
        0b0000  NI
        0b0001  THUMB
        0b0010  THUMB2
 EndEnum
-Enum   3:0     State0
+UnsignedEnum   3:0     State0
        0b0000  NI
        0b0001  IMP
 EndEnum
@@ -89,12 +89,12 @@ EndSysreg
 
 Sysreg ID_PFR1_EL1     3       0       0       1       1
 Res0   63:32
-Enum   31:28   GIC
+UnsignedEnum   31:28   GIC
        0b0000  NI
        0b0001  GICv3
        0b0010  GICv4p1
 EndEnum
-Enum   27:24   Virt_frac
+UnsignedEnum   27:24   Virt_frac
        0b0000  NI
        0b0001  IMP
 EndEnum
@@ -103,16 +103,16 @@ Enum      23:20   Sec_frac
        0b0001  WALK_DISABLE
        0b0010  SECURE_MEMORY
 EndEnum
-Enum   19:16   GenTimer
+UnsignedEnum   19:16   GenTimer
        0b0000  NI
        0b0001  IMP
        0b0010  ECV
 EndEnum
-Enum   15:12   Virtualization
+UnsignedEnum   15:12   Virtualization
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   11:8    MProgMod
+UnsignedEnum   11:8    MProgMod
        0b0000  NI
        0b0001  IMP
 EndEnum
@@ -121,7 +121,7 @@ Enum        7:4     Security
        0b0001  EL3
        0b0001  NSACR_RFR
 EndEnum
-Enum   3:0     ProgMod
+UnsignedEnum   3:0     ProgMod
        0b0000  NI
        0b0001  IMP
 EndEnum
@@ -129,11 +129,11 @@ EndSysreg
 
 Sysreg ID_DFR0_EL1     3       0       0       1       2
 Res0   63:32
-Enum   31:28   TraceFilt
+UnsignedEnum   31:28   TraceFilt
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   27:24   PerfMon
+UnsignedEnum   27:24   PerfMon
        0b0000  NI
        0b0001  PMUv1
        0b0010  PMUv2
@@ -192,7 +192,7 @@ Enum        31:28   InnerShr
        0b0001  HW
        0b1111  IGNORED
 EndEnum
-Enum   27:24   FCSE
+UnsignedEnum   27:24   FCSE
        0b0000  NI
        0b0001  IMP
 EndEnum
@@ -369,7 +369,7 @@ Enum        27:24   Divide
        0b0001  xDIV_T32
        0b0010  xDIV_A32
 EndEnum
-Enum   23:20   Debug
+UnsignedEnum   23:20   Debug
        0b0000  NI
        0b0001  IMP
 EndEnum
@@ -380,19 +380,19 @@ Enum      19:16   Coproc
        0b0011  MRRC
        0b0100  MRRC2
 EndEnum
-Enum   15:12   CmpBranch
+UnsignedEnum   15:12   CmpBranch
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   11:8    BitField
+UnsignedEnum   11:8    BitField
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   7:4     BitCount
+UnsignedEnum   7:4     BitCount
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   3:0     Swap
+UnsignedEnum   3:0     Swap
        0b0000  NI
        0b0001  IMP
 EndEnum
@@ -562,33 +562,33 @@ EndSysreg
 
 Sysreg ID_ISAR5_EL1    3       0       0       2       5
 Res0   63:32
-Enum   31:28   VCMA
+UnsignedEnum   31:28   VCMA
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   27:24   RDM
+UnsignedEnum   27:24   RDM
        0b0000  NI
        0b0001  IMP
 EndEnum
 Res0   23:20
-Enum   19:16   CRC32
+UnsignedEnum   19:16   CRC32
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   15:12   SHA2
+UnsignedEnum   15:12   SHA2
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   11:8    SHA1
+UnsignedEnum   11:8    SHA1
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   7:4     AES
+UnsignedEnum   7:4     AES
        0b0000  NI
        0b0001  IMP
        0b0010  VMULL
 EndEnum
-Enum   3:0     SEVL
+UnsignedEnum   3:0     SEVL
        0b0000  NI
        0b0001  IMP
 EndEnum
@@ -596,31 +596,31 @@ EndSysreg
 
 Sysreg ID_ISAR6_EL1    3       0       0       2       7
 Res0   63:28
-Enum   27:24   I8MM
+UnsignedEnum   27:24   I8MM
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   23:20   BF16
+UnsignedEnum   23:20   BF16
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   19:16   SPECRES
+UnsignedEnum   19:16   SPECRES
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   15:12   SB
+UnsignedEnum   15:12   SB
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   11:8    FHM
+UnsignedEnum   11:8    FHM
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   7:4     DP
+UnsignedEnum   7:4     DP
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   3:0     JSCVT
+UnsignedEnum   3:0     JSCVT
        0b0000  NI
        0b0001  IMP
 EndEnum
@@ -628,37 +628,37 @@ EndSysreg
 
 Sysreg ID_MMFR4_EL1    3       0       0       2       6
 Res0   63:32
-Enum   31:28   EVT
+UnsignedEnum   31:28   EVT
        0b0000  NI
        0b0001  NO_TLBIS
        0b0010  TLBIS
 EndEnum
-Enum   27:24   CCIDX
+UnsignedEnum   27:24   CCIDX
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   23:20   LSM
+UnsignedEnum   23:20   LSM
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   19:16   HPDS
+UnsignedEnum   19:16   HPDS
        0b0000  NI
        0b0001  AA32HPD
        0b0010  HPDS2
 EndEnum
-Enum   15:12   CnP
+UnsignedEnum   15:12   CnP
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   11:8    XNX
+UnsignedEnum   11:8    XNX
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   7:4     AC2
+UnsignedEnum   7:4     AC2
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   3:0     SpecSEI
+UnsignedEnum   3:0     SpecSEI
        0b0000  NI
        0b0001  IMP
 EndEnum
@@ -666,32 +666,32 @@ EndSysreg
 
 Sysreg MVFR0_EL1       3       0       0       3       0
 Res0   63:32
-Enum   31:28   FPRound
+UnsignedEnum   31:28   FPRound
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   27:24   FPShVec
+UnsignedEnum   27:24   FPShVec
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   23:20   FPSqrt
+UnsignedEnum   23:20   FPSqrt
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   19:16   FPDivide
+UnsignedEnum   19:16   FPDivide
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   15:12   FPTrap
+UnsignedEnum   15:12   FPTrap
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   11:8    FPDP
+UnsignedEnum   11:8    FPDP
        0b0000  NI
        0b0001  VFPv2
        0b0010  VFPv3
 EndEnum
-Enum   7:4     FPSP
+UnsignedEnum   7:4     FPSP
        0b0000  NI
        0b0001  VFPv2
        0b0010  VFPv3
@@ -705,38 +705,38 @@ EndSysreg
 
 Sysreg MVFR1_EL1       3       0       0       3       1
 Res0   63:32
-Enum   31:28   SIMDFMAC
+UnsignedEnum   31:28   SIMDFMAC
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   27:24   FPHP
+UnsignedEnum   27:24   FPHP
        0b0000  NI
        0b0001  FPHP
        0b0010  FPHP_CONV
        0b0011  FP16
 EndEnum
-Enum   23:20   SIMDHP
+UnsignedEnum   23:20   SIMDHP
        0b0000  NI
        0b0001  SIMDHP
        0b0010  SIMDHP_FLOAT
 EndEnum
-Enum   19:16   SIMDSP
+UnsignedEnum   19:16   SIMDSP
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   15:12   SIMDInt
+UnsignedEnum   15:12   SIMDInt
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   11:8    SIMDLS
+UnsignedEnum   11:8    SIMDLS
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   7:4     FPDNaN
+UnsignedEnum   7:4     FPDNaN
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   3:0     FPFtZ
+UnsignedEnum   3:0     FPFtZ
        0b0000  NI
        0b0001  IMP
 EndEnum
@@ -761,15 +761,15 @@ EndSysreg
 
 Sysreg ID_PFR2_EL1     3       0       0       3       4
 Res0   63:12
-Enum   11:8    RAS_frac
+UnsignedEnum   11:8    RAS_frac
        0b0000  NI
        0b0001  RASv1p1
 EndEnum
-Enum   7:4     SSBS
+UnsignedEnum   7:4     SSBS
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   3:0     CSV3
+UnsignedEnum   3:0     CSV3
        0b0000  NI
        0b0001  IMP
 EndEnum
@@ -777,7 +777,7 @@ EndSysreg
 
 Sysreg ID_DFR1_EL1     3       0       0       3       5
 Res0   63:8
-Enum   7:4     HPMN0
+UnsignedEnum   7:4     HPMN0
        0b0000  NI
        0b0001  IMP
 EndEnum
@@ -790,58 +790,58 @@ EndSysreg
 
 Sysreg ID_MMFR5_EL1    3       0       0       3       6
 Res0   63:8
-Enum   7:4     nTLBPA
+UnsignedEnum   7:4     nTLBPA
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   3:0     ETS
+UnsignedEnum   3:0     ETS
        0b0000  NI
        0b0001  IMP
 EndEnum
 EndSysreg
 
 Sysreg ID_AA64PFR0_EL1 3       0       0       4       0
-Enum   63:60   CSV3
+UnsignedEnum   63:60   CSV3
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   59:56   CSV2
+UnsignedEnum   59:56   CSV2
        0b0000  NI
        0b0001  IMP
        0b0010  CSV2_2
        0b0011  CSV2_3
 EndEnum
-Enum   55:52   RME
+UnsignedEnum   55:52   RME
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   51:48   DIT
+UnsignedEnum   51:48   DIT
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   47:44   AMU
+UnsignedEnum   47:44   AMU
        0b0000  NI
        0b0001  IMP
        0b0010  V1P1
 EndEnum
-Enum   43:40   MPAM
+UnsignedEnum   43:40   MPAM
        0b0000  0
        0b0001  1
 EndEnum
-Enum   39:36   SEL2
+UnsignedEnum   39:36   SEL2
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   35:32   SVE
+UnsignedEnum   35:32   SVE
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   31:28   RAS
+UnsignedEnum   31:28   RAS
        0b0000  NI
        0b0001  IMP
        0b0010  V1P1
 EndEnum
-Enum   27:24   GIC
+UnsignedEnum   27:24   GIC
        0b0000  NI
        0b0001  IMP
        0b0010  V4P1
@@ -856,21 +856,21 @@ SignedEnum        19:16   FP
        0b0001  FP16
        0b1111  NI
 EndEnum
-Enum   15:12   EL3
+UnsignedEnum   15:12   EL3
        0b0000  NI
        0b0001  IMP
        0b0010  AARCH32
 EndEnum
-Enum   11:8    EL2
+UnsignedEnum   11:8    EL2
        0b0000  NI
        0b0001  IMP
        0b0010  AARCH32
 EndEnum
-Enum   7:4     EL1
+UnsignedEnum   7:4     EL1
        0b0001  IMP
        0b0010  AARCH32
 EndEnum
-Enum   3:0     EL0
+UnsignedEnum   3:0     EL0
        0b0001  IMP
        0b0010  AARCH32
 EndEnum
@@ -878,45 +878,45 @@ EndSysreg
 
 Sysreg ID_AA64PFR1_EL1 3       0       0       4       1
 Res0   63:40
-Enum   39:36   NMI
+UnsignedEnum   39:36   NMI
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   35:32   CSV2_frac
+UnsignedEnum   35:32   CSV2_frac
        0b0000  NI
        0b0001  CSV2_1p1
        0b0010  CSV2_1p2
 EndEnum
-Enum   31:28   RNDR_trap
+UnsignedEnum   31:28   RNDR_trap
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   27:24   SME
+UnsignedEnum   27:24   SME
        0b0000  NI
        0b0001  IMP
        0b0010  SME2
 EndEnum
 Res0   23:20
-Enum   19:16   MPAM_frac
+UnsignedEnum   19:16   MPAM_frac
        0b0000  MINOR_0
        0b0001  MINOR_1
 EndEnum
-Enum   15:12   RAS_frac
+UnsignedEnum   15:12   RAS_frac
        0b0000  NI
        0b0001  RASv1p1
 EndEnum
-Enum   11:8    MTE
+UnsignedEnum   11:8    MTE
        0b0000  NI
        0b0001  IMP
        0b0010  MTE2
        0b0011  MTE3
 EndEnum
-Enum   7:4     SSBS
+UnsignedEnum   7:4     SSBS
        0b0000  NI
        0b0001  IMP
        0b0010  SSBS2
 EndEnum
-Enum   3:0     BT
+UnsignedEnum   3:0     BT
        0b0000  NI
        0b0001  IMP
 EndEnum
@@ -924,45 +924,45 @@ EndSysreg
 
 Sysreg ID_AA64ZFR0_EL1 3       0       0       4       4
 Res0   63:60
-Enum   59:56   F64MM
+UnsignedEnum   59:56   F64MM
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   55:52   F32MM
+UnsignedEnum   55:52   F32MM
        0b0000  NI
        0b0001  IMP
 EndEnum
 Res0   51:48
-Enum   47:44   I8MM
+UnsignedEnum   47:44   I8MM
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   43:40   SM4
+UnsignedEnum   43:40   SM4
        0b0000  NI
        0b0001  IMP
 EndEnum
 Res0   39:36
-Enum   35:32   SHA3
+UnsignedEnum   35:32   SHA3
        0b0000  NI
        0b0001  IMP
 EndEnum
 Res0   31:24
-Enum   23:20   BF16
+UnsignedEnum   23:20   BF16
        0b0000  NI
        0b0001  IMP
        0b0010  EBF16
 EndEnum
-Enum   19:16   BitPerm
+UnsignedEnum   19:16   BitPerm
        0b0000  NI
        0b0001  IMP
 EndEnum
 Res0   15:8
-Enum   7:4     AES
+UnsignedEnum   7:4     AES
        0b0000  NI
        0b0001  IMP
        0b0010  PMULL128
 EndEnum
-Enum   3:0     SVEver
+UnsignedEnum   3:0     SVEver
        0b0000  IMP
        0b0001  SVE2
        0b0010  SVE2p1
@@ -970,55 +970,56 @@ EndEnum
 EndSysreg
 
 Sysreg ID_AA64SMFR0_EL1        3       0       0       4       5
-Enum   63      FA64
+UnsignedEnum   63      FA64
        0b0     NI
        0b1     IMP
 EndEnum
 Res0   62:60
-Enum   59:56   SMEver
+UnsignedEnum   59:56   SMEver
        0b0000  SME
        0b0001  SME2
        0b0010  SME2p1
+       0b0000  IMP
 EndEnum
-Enum   55:52   I16I64
+UnsignedEnum   55:52   I16I64
        0b0000  NI
        0b1111  IMP
 EndEnum
 Res0   51:49
-Enum   48      F64F64
+UnsignedEnum   48      F64F64
        0b0     NI
        0b1     IMP
 EndEnum
-Enum   47:44   I16I32
+UnsignedEnum   47:44   I16I32
        0b0000  NI
        0b0101  IMP
 EndEnum
-Enum   43      B16B16
+UnsignedEnum   43      B16B16
        0b0     NI
        0b1     IMP
 EndEnum
-Enum   42      F16F16
+UnsignedEnum   42      F16F16
        0b0     NI
        0b1     IMP
 EndEnum
 Res0   41:40
-Enum   39:36   I8I32
+UnsignedEnum   39:36   I8I32
        0b0000  NI
        0b1111  IMP
 EndEnum
-Enum   35      F16F32
+UnsignedEnum   35      F16F32
        0b0     NI
        0b1     IMP
 EndEnum
-Enum   34      B16F32
+UnsignedEnum   34      B16F32
        0b0     NI
        0b1     IMP
 EndEnum
-Enum   33      BI32I32
+UnsignedEnum   33      BI32I32
        0b0     NI
        0b1     IMP
 EndEnum
-Enum   32      F32F32
+UnsignedEnum   32      F32F32
        0b0     NI
        0b1     IMP
 EndEnum
@@ -1031,7 +1032,7 @@ Enum      63:60   HPMN0
        0b0001  DEF
 EndEnum
 Res0   59:56
-Enum   55:52   BRBE
+UnsignedEnum   55:52   BRBE
        0b0000  NI
        0b0001  IMP
        0b0010  BRBE_V1P1
@@ -1041,19 +1042,19 @@ Enum    51:48   MTPMU
        0b0001  IMP
        0b1111  NI
 EndEnum
-Enum   47:44   TraceBuffer
+UnsignedEnum   47:44   TraceBuffer
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   43:40   TraceFilt
+UnsignedEnum   43:40   TraceFilt
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   39:36   DoubleLock
+UnsignedEnum   39:36   DoubleLock
        0b0000  IMP
        0b1111  NI
 EndEnum
-Enum   35:32   PMSVer
+UnsignedEnum   35:32   PMSVer
        0b0000  NI
        0b0001  IMP
        0b0010  V1P1
@@ -1065,7 +1066,7 @@ Res0      27:24
 Field  23:20   WRPs
 Res0   19:16
 Field  15:12   BRPs
-Enum   11:8    PMUVer
+UnsignedEnum   11:8    PMUVer
        0b0000  NI
        0b0001  IMP
        0b0100  V3P1
@@ -1075,11 +1076,11 @@ Enum    11:8    PMUVer
        0b1000  V3P8
        0b1111  IMP_DEF
 EndEnum
-Enum   7:4     TraceVer
+UnsignedEnum   7:4     TraceVer
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   3:0     DebugVer
+UnsignedEnum   3:0     DebugVer
        0b0110  IMP
        0b0111  VHE
        0b1000  V8P2
@@ -1109,66 +1110,66 @@ Res0    63:0
 EndSysreg
 
 Sysreg ID_AA64ISAR0_EL1        3       0       0       6       0
-Enum   63:60   RNDR
+UnsignedEnum   63:60   RNDR
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   59:56   TLB
+UnsignedEnum   59:56   TLB
        0b0000  NI
        0b0001  OS
        0b0010  RANGE
 EndEnum
-Enum   55:52   TS
+UnsignedEnum   55:52   TS
        0b0000  NI
        0b0001  FLAGM
        0b0010  FLAGM2
 EndEnum
-Enum   51:48   FHM
+UnsignedEnum   51:48   FHM
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   47:44   DP
+UnsignedEnum   47:44   DP
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   43:40   SM4
+UnsignedEnum   43:40   SM4
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   39:36   SM3
+UnsignedEnum   39:36   SM3
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   35:32   SHA3
+UnsignedEnum   35:32   SHA3
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   31:28   RDM
+UnsignedEnum   31:28   RDM
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   27:24   TME
+UnsignedEnum   27:24   TME
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   23:20   ATOMIC
+UnsignedEnum   23:20   ATOMIC
        0b0000  NI
        0b0010  IMP
 EndEnum
-Enum   19:16   CRC32
+UnsignedEnum   19:16   CRC32
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   15:12   SHA2
+UnsignedEnum   15:12   SHA2
        0b0000  NI
        0b0001  SHA256
        0b0010  SHA512
 EndEnum
-Enum   11:8    SHA1
+UnsignedEnum   11:8    SHA1
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   7:4     AES
+UnsignedEnum   7:4     AES
        0b0000  NI
        0b0001  AES
        0b0010  PMULL
@@ -1177,63 +1178,63 @@ Res0    3:0
 EndSysreg
 
 Sysreg ID_AA64ISAR1_EL1        3       0       0       6       1
-Enum   63:60   LS64
+UnsignedEnum   63:60   LS64
        0b0000  NI
        0b0001  LS64
        0b0010  LS64_V
        0b0011  LS64_ACCDATA
 EndEnum
-Enum   59:56   XS
+UnsignedEnum   59:56   XS
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   55:52   I8MM
+UnsignedEnum   55:52   I8MM
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   51:48   DGH
+UnsignedEnum   51:48   DGH
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   47:44   BF16
+UnsignedEnum   47:44   BF16
        0b0000  NI
        0b0001  IMP
        0b0010  EBF16
 EndEnum
-Enum   43:40   SPECRES
+UnsignedEnum   43:40   SPECRES
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   39:36   SB
+UnsignedEnum   39:36   SB
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   35:32   FRINTTS
+UnsignedEnum   35:32   FRINTTS
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   31:28   GPI
+UnsignedEnum   31:28   GPI
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   27:24   GPA
+UnsignedEnum   27:24   GPA
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   23:20   LRCPC
+UnsignedEnum   23:20   LRCPC
        0b0000  NI
        0b0001  IMP
        0b0010  LRCPC2
 EndEnum
-Enum   19:16   FCMA
+UnsignedEnum   19:16   FCMA
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   15:12   JSCVT
+UnsignedEnum   15:12   JSCVT
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   11:8    API
+UnsignedEnum   11:8    API
        0b0000  NI
        0b0001  PAuth
        0b0010  EPAC
@@ -1241,7 +1242,7 @@ Enum      11:8    API
        0b0100  FPAC
        0b0101  FPACCOMBINE
 EndEnum
-Enum   7:4     APA
+UnsignedEnum   7:4     APA
        0b0000  NI
        0b0001  PAuth
        0b0010  EPAC
@@ -1249,7 +1250,7 @@ Enum      7:4     APA
        0b0100  FPAC
        0b0101  FPACCOMBINE
 EndEnum
-Enum   3:0     DPB
+UnsignedEnum   3:0     DPB
        0b0000  NI
        0b0001  IMP
        0b0010  DPB2
@@ -1258,28 +1259,28 @@ EndSysreg
 
 Sysreg ID_AA64ISAR2_EL1        3       0       0       6       2
 Res0   63:56
-Enum   55:52   CSSC
+UnsignedEnum   55:52   CSSC
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   51:48   RPRFM
+UnsignedEnum   51:48   RPRFM
        0b0000  NI
        0b0001  IMP
 EndEnum
 Res0   47:28
-Enum   27:24   PAC_frac
+UnsignedEnum   27:24   PAC_frac
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   23:20   BC
+UnsignedEnum   23:20   BC
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   19:16   MOPS
+UnsignedEnum   19:16   MOPS
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   15:12   APA3
+UnsignedEnum   15:12   APA3
        0b0000  NI
        0b0001  PAuth
        0b0010  EPAC
@@ -1287,32 +1288,32 @@ Enum    15:12   APA3
        0b0100  FPAC
        0b0101  FPACCOMBINE
 EndEnum
-Enum   11:8    GPA3
+UnsignedEnum   11:8    GPA3
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   7:4     RPRES
+UnsignedEnum   7:4     RPRES
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   3:0     WFxT
+UnsignedEnum   3:0     WFxT
        0b0000  NI
        0b0010  IMP
 EndEnum
 EndSysreg
 
 Sysreg ID_AA64MMFR0_EL1        3       0       0       7       0
-Enum   63:60   ECV
+UnsignedEnum   63:60   ECV
        0b0000  NI
        0b0001  IMP
        0b0010  CNTPOFF
 EndEnum
-Enum   59:56   FGT
+UnsignedEnum   59:56   FGT
        0b0000  NI
        0b0001  IMP
 EndEnum
 Res0   55:48
-Enum   47:44   EXS
+UnsignedEnum   47:44   EXS
        0b0000  NI
        0b0001  IMP
 EndEnum
@@ -1347,15 +1348,15 @@ Enum    23:20   TGRAN16
        0b0001  IMP
        0b0010  52_BIT
 EndEnum
-Enum   19:16   BIGENDEL0
+UnsignedEnum   19:16   BIGENDEL0
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   15:12   SNSMEM
+UnsignedEnum   15:12   SNSMEM
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   11:8    BIGEND
+UnsignedEnum   11:8    BIGEND
        0b0000  NI
        0b0001  IMP
 EndEnum
@@ -1375,62 +1376,62 @@ EndEnum
 EndSysreg
 
 Sysreg ID_AA64MMFR1_EL1        3       0       0       7       1
-Enum   63:60   ECBHB
+UnsignedEnum   63:60   ECBHB
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   59:56   CMOW
+UnsignedEnum   59:56   CMOW
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   55:52   TIDCP1
+UnsignedEnum   55:52   TIDCP1
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   51:48   nTLBPA
+UnsignedEnum   51:48   nTLBPA
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   47:44   AFP
+UnsignedEnum   47:44   AFP
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   43:40   HCX
+UnsignedEnum   43:40   HCX
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   39:36   ETS
+UnsignedEnum   39:36   ETS
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   35:32   TWED
+UnsignedEnum   35:32   TWED
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   31:28   XNX
+UnsignedEnum   31:28   XNX
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   27:24   SpecSEI
+UnsignedEnum   27:24   SpecSEI
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   23:20   PAN
+UnsignedEnum   23:20   PAN
        0b0000  NI
        0b0001  IMP
        0b0010  PAN2
        0b0011  PAN3
 EndEnum
-Enum   19:16   LO
+UnsignedEnum   19:16   LO
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   15:12   HPDS
+UnsignedEnum   15:12   HPDS
        0b0000  NI
        0b0001  IMP
        0b0010  HPDS2
 EndEnum
-Enum   11:8    VH
+UnsignedEnum   11:8    VH
        0b0000  NI
        0b0001  IMP
 EndEnum
@@ -1438,7 +1439,7 @@ Enum      7:4     VMIDBits
        0b0000  8
        0b0010  16
 EndEnum
-Enum   3:0     HAFDBS
+UnsignedEnum   3:0     HAFDBS
        0b0000  NI
        0b0001  AF
        0b0010  DBM
@@ -1446,26 +1447,26 @@ EndEnum
 EndSysreg
 
 Sysreg ID_AA64MMFR2_EL1        3       0       0       7       2
-Enum   63:60   E0PD
+UnsignedEnum   63:60   E0PD
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   59:56   EVT
+UnsignedEnum   59:56   EVT
        0b0000  NI
        0b0001  IMP
        0b0010  TTLBxS
 EndEnum
-Enum   55:52   BBM
+UnsignedEnum   55:52   BBM
        0b0000  0
        0b0001  1
        0b0010  2
 EndEnum
-Enum   51:48   TTL
+UnsignedEnum   51:48   TTL
        0b0000  NI
        0b0001  IMP
 EndEnum
 Res0   47:44
-Enum   43:40   FWB
+UnsignedEnum   43:40   FWB
        0b0000  NI
        0b0001  IMP
 EndEnum
@@ -1473,7 +1474,7 @@ Enum      39:36   IDS
        0b0000  0x0
        0b0001  0x18
 EndEnum
-Enum   35:32   AT
+UnsignedEnum   35:32   AT
        0b0000  NI
        0b0001  IMP
 EndEnum
@@ -1481,7 +1482,7 @@ Enum      31:28   ST
        0b0000  39
        0b0001  48_47
 EndEnum
-Enum   27:24   NV
+UnsignedEnum   27:24   NV
        0b0000  NI
        0b0001  IMP
        0b0010  NV2
@@ -1494,19 +1495,19 @@ Enum    19:16   VARange
        0b0000  48
        0b0001  52
 EndEnum
-Enum   15:12   IESB
+UnsignedEnum   15:12   IESB
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   11:8    LSM
+UnsignedEnum   11:8    LSM
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   7:4     UAO
+UnsignedEnum   7:4     UAO
        0b0000  NI
        0b0001  IMP
 EndEnum
-Enum   3:0     CnP
+UnsignedEnum   3:0     CnP
        0b0000  NI
        0b0001  IMP
 EndEnum