forked from Minki/linux
3bbeca9930
Convert ID_AA64ZFR0_EL1 to automatic register generation as per DDI0487H.a, no functional changes. Signed-off-by: Mark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20220704170302.2609529-29-broonie@kernel.org Signed-off-by: Will Deacon <will@kernel.org>
634 lines
8.5 KiB
Plaintext
634 lines
8.5 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
#
|
|
# System register metadata
|
|
|
|
# Each System register is described by a Sysreg block:
|
|
|
|
# Sysreg <name> <op0> <op1> <crn> <crm> <op2>
|
|
# <field>
|
|
# ...
|
|
# EndSysreg
|
|
|
|
# Within a Sysreg block, each field can be described as one of:
|
|
|
|
# Res0 <msb>[:<lsb>]
|
|
|
|
# Res1 <msb>[:<lsb>]
|
|
|
|
# Field <msb>[:<lsb>] <name>
|
|
|
|
# Enum <msb>[:<lsb>] <name>
|
|
# <enumval> <enumname>
|
|
# ...
|
|
# EndEnum
|
|
|
|
# Alternatively if multiple registers share the same layout then
|
|
# a SysregFields block can be used to describe the shared layout
|
|
|
|
# SysregFields <fieldsname>
|
|
# <field>
|
|
# ...
|
|
# EndSysregFields
|
|
|
|
# and referenced from within the Sysreg:
|
|
|
|
# Sysreg <name> <op0> <op1> <crn> <crm> <op2>
|
|
# Fields <fieldsname>
|
|
# EndSysreg
|
|
|
|
# For ID registers we adopt a few conventions for translating the
|
|
# language in the ARM into defines:
|
|
#
|
|
# NI - Not implemented
|
|
# IMP - Implemented
|
|
#
|
|
# In general it is recommended that new enumeration items be named for the
|
|
# feature that introduces them (eg, FEAT_LS64_ACCDATA introduces enumeration
|
|
# item ACCDATA) though it may be more taseful to do something else.
|
|
|
|
Sysreg ID_AA64ZFR0_EL1 3 0 0 4 4
|
|
Res0 63:60
|
|
Enum 59:56 F64MM
|
|
0b0000 NI
|
|
0b0001 IMP
|
|
EndEnum
|
|
Enum 55:52 F32MM
|
|
0b0000 NI
|
|
0b0001 IMP
|
|
EndEnum
|
|
Res0 51:48
|
|
Enum 47:44 I8MM
|
|
0b0000 NI
|
|
0b0001 IMP
|
|
EndEnum
|
|
Enum 43:40 SM4
|
|
0b0000 NI
|
|
0b0001 IMP
|
|
EndEnum
|
|
Res0 39:36
|
|
Enum 35:32 SHA3
|
|
0b0000 NI
|
|
0b0001 IMP
|
|
EndEnum
|
|
Res0 31:24
|
|
Enum 23:20 BF16
|
|
0b0000 NI
|
|
0b0001 IMP
|
|
0b0010 EBF16
|
|
EndEnum
|
|
Enum 19:16 BitPerm
|
|
0b0000 NI
|
|
0b0001 IMP
|
|
EndEnum
|
|
Res0 15:8
|
|
Enum 7:4 AES
|
|
0b0000 NI
|
|
0b0001 IMP
|
|
0b0010 PMULL128
|
|
EndEnum
|
|
Enum 3:0 SVEver
|
|
0b0000 IMP
|
|
0b0001 SVE2
|
|
EndEnum
|
|
EndSysreg
|
|
|
|
Sysreg ID_AA64SMFR0_EL1 3 0 0 4 5
|
|
Enum 63 FA64
|
|
0b0 NI
|
|
0b1 IMP
|
|
EndEnum
|
|
Res0 62:60
|
|
Field 59:56 SMEver
|
|
Enum 55:52 I16I64
|
|
0b0000 NI
|
|
0b1111 IMP
|
|
EndEnum
|
|
Res0 51:49
|
|
Enum 48 F64F64
|
|
0b0 NI
|
|
0b1 IMP
|
|
EndEnum
|
|
Res0 47:40
|
|
Enum 39:36 I8I32
|
|
0b0000 NI
|
|
0b1111 IMP
|
|
EndEnum
|
|
Enum 35 F16F32
|
|
0b0 NI
|
|
0b1 IMP
|
|
EndEnum
|
|
Enum 34 B16F32
|
|
0b0 NI
|
|
0b1 IMP
|
|
EndEnum
|
|
Res0 33
|
|
Enum 32 F32F32
|
|
0b0 NI
|
|
0b1 IMP
|
|
EndEnum
|
|
Res0 31:0
|
|
EndSysreg
|
|
|
|
Sysreg ID_AA64ISAR0_EL1 3 0 0 6 0
|
|
Enum 63:60 RNDR
|
|
0b0000 NI
|
|
0b0001 IMP
|
|
EndEnum
|
|
Enum 59:56 TLB
|
|
0b0000 NI
|
|
0b0001 OS
|
|
0b0010 RANGE
|
|
EndEnum
|
|
Enum 55:52 TS
|
|
0b0000 NI
|
|
0b0001 FLAGM
|
|
0b0010 FLAGM2
|
|
EndEnum
|
|
Enum 51:48 FHM
|
|
0b0000 NI
|
|
0b0001 IMP
|
|
EndEnum
|
|
Enum 47:44 DP
|
|
0b0000 NI
|
|
0b0001 IMP
|
|
EndEnum
|
|
Enum 43:40 SM4
|
|
0b0000 NI
|
|
0b0001 IMP
|
|
EndEnum
|
|
Enum 39:36 SM3
|
|
0b0000 NI
|
|
0b0001 IMP
|
|
EndEnum
|
|
Enum 35:32 SHA3
|
|
0b0000 NI
|
|
0b0001 IMP
|
|
EndEnum
|
|
Enum 31:28 RDM
|
|
0b0000 NI
|
|
0b0001 IMP
|
|
EndEnum
|
|
Enum 27:24 TME
|
|
0b0000 NI
|
|
0b0001 IMP
|
|
EndEnum
|
|
Enum 23:20 ATOMIC
|
|
0b0000 NI
|
|
0b0010 IMP
|
|
EndEnum
|
|
Enum 19:16 CRC32
|
|
0b0000 NI
|
|
0b0001 IMP
|
|
EndEnum
|
|
Enum 15:12 SHA2
|
|
0b0000 NI
|
|
0b0001 SHA256
|
|
0b0010 SHA512
|
|
EndEnum
|
|
Enum 11:8 SHA1
|
|
0b0000 NI
|
|
0b0001 IMP
|
|
EndEnum
|
|
Enum 7:4 AES
|
|
0b0000 NI
|
|
0b0001 AES
|
|
0b0010 PMULL
|
|
EndEnum
|
|
Res0 3:0
|
|
EndSysreg
|
|
|
|
Sysreg ID_AA64ISAR1_EL1 3 0 0 6 1
|
|
Enum 63:60 LS64
|
|
0b0000 NI
|
|
0b0001 LS64
|
|
0b0010 LS64_V
|
|
0b0011 LS64_ACCDATA
|
|
EndEnum
|
|
Enum 59:56 XS
|
|
0b0000 NI
|
|
0b0001 IMP
|
|
EndEnum
|
|
Enum 55:52 I8MM
|
|
0b0000 NI
|
|
0b0001 IMP
|
|
EndEnum
|
|
Enum 51:48 DGH
|
|
0b0000 NI
|
|
0b0001 IMP
|
|
EndEnum
|
|
Enum 47:44 BF16
|
|
0b0000 NI
|
|
0b0001 IMP
|
|
0b0010 EBF16
|
|
EndEnum
|
|
Enum 43:40 SPECRES
|
|
0b0000 NI
|
|
0b0001 IMP
|
|
EndEnum
|
|
Enum 39:36 SB
|
|
0b0000 NI
|
|
0b0001 IMP
|
|
EndEnum
|
|
Enum 35:32 FRINTTS
|
|
0b0000 NI
|
|
0b0001 IMP
|
|
EndEnum
|
|
Enum 31:28 GPI
|
|
0b0000 NI
|
|
0b0001 IMP
|
|
EndEnum
|
|
Enum 27:24 GPA
|
|
0b0000 NI
|
|
0b0001 IMP
|
|
EndEnum
|
|
Enum 23:20 LRCPC
|
|
0b0000 NI
|
|
0b0001 IMP
|
|
0b0010 LRCPC2
|
|
EndEnum
|
|
Enum 19:16 FCMA
|
|
0b0000 NI
|
|
0b0001 IMP
|
|
EndEnum
|
|
Enum 15:12 JSCVT
|
|
0b0000 NI
|
|
0b0001 IMP
|
|
EndEnum
|
|
Enum 11:8 API
|
|
0b0000 NI
|
|
0b0001 PAuth
|
|
0b0010 EPAC
|
|
0b0011 PAuth2
|
|
0b0100 FPAC
|
|
0b0101 FPACCOMBINE
|
|
EndEnum
|
|
Enum 7:4 APA
|
|
0b0000 NI
|
|
0b0001 PAuth
|
|
0b0010 EPAC
|
|
0b0011 PAuth2
|
|
0b0100 FPAC
|
|
0b0101 FPACCOMBINE
|
|
EndEnum
|
|
Enum 3:0 DPB
|
|
0b0000 NI
|
|
0b0001 IMP
|
|
0b0010 DPB2
|
|
EndEnum
|
|
EndSysreg
|
|
|
|
Sysreg ID_AA64ISAR2_EL1 3 0 0 6 2
|
|
Res0 63:28
|
|
Enum 27:24 PAC_frac
|
|
0b0000 NI
|
|
0b0001 IMP
|
|
EndEnum
|
|
Enum 23:20 BC
|
|
0b0000 NI
|
|
0b0001 IMP
|
|
EndEnum
|
|
Enum 19:16 MOPS
|
|
0b0000 NI
|
|
0b0001 IMP
|
|
EndEnum
|
|
Enum 15:12 APA3
|
|
0b0000 NI
|
|
0b0001 PAuth
|
|
0b0010 EPAC
|
|
0b0011 PAuth2
|
|
0b0100 FPAC
|
|
0b0101 FPACCOMBINE
|
|
EndEnum
|
|
Enum 11:8 GPA3
|
|
0b0000 NI
|
|
0b0001 IMP
|
|
EndEnum
|
|
Enum 7:4 RPRES
|
|
0b0000 NI
|
|
0b0001 IMP
|
|
EndEnum
|
|
Enum 3:0 WFxT
|
|
0b0000 NI
|
|
0b0010 IMP
|
|
EndEnum
|
|
EndSysreg
|
|
|
|
Sysreg SCTLR_EL1 3 0 1 0 0
|
|
Field 63 TIDCP
|
|
Field 62 SPINMASK
|
|
Field 61 NMI
|
|
Field 60 EnTP2
|
|
Res0 59:58
|
|
Field 57 EPAN
|
|
Field 56 EnALS
|
|
Field 55 EnAS0
|
|
Field 54 EnASR
|
|
Field 53 TME
|
|
Field 52 TME0
|
|
Field 51 TMT
|
|
Field 50 TMT0
|
|
Field 49:46 TWEDEL
|
|
Field 45 TWEDEn
|
|
Field 44 DSSBS
|
|
Field 43 ATA
|
|
Field 42 ATA0
|
|
Enum 41:40 TCF
|
|
0b00 NONE
|
|
0b01 SYNC
|
|
0b10 ASYNC
|
|
0b11 ASYMM
|
|
EndEnum
|
|
Enum 39:38 TCF0
|
|
0b00 NONE
|
|
0b01 SYNC
|
|
0b10 ASYNC
|
|
0b11 ASYMM
|
|
EndEnum
|
|
Field 37 ITFSB
|
|
Field 36 BT1
|
|
Field 35 BT0
|
|
Res0 34
|
|
Field 33 MSCEn
|
|
Field 32 CMOW
|
|
Field 31 EnIA
|
|
Field 30 EnIB
|
|
Field 29 LSMAOE
|
|
Field 28 nTLSMD
|
|
Field 27 EnDA
|
|
Field 26 UCI
|
|
Field 25 EE
|
|
Field 24 E0E
|
|
Field 23 SPAN
|
|
Field 22 EIS
|
|
Field 21 IESB
|
|
Field 20 TSCXT
|
|
Field 19 WXN
|
|
Field 18 nTWE
|
|
Res0 17
|
|
Field 16 nTWI
|
|
Field 15 UCT
|
|
Field 14 DZE
|
|
Field 13 EnDB
|
|
Field 12 I
|
|
Field 11 EOS
|
|
Field 10 EnRCTX
|
|
Field 9 UMA
|
|
Field 8 SED
|
|
Field 7 ITD
|
|
Field 6 nAA
|
|
Field 5 CP15BEN
|
|
Field 4 SA0
|
|
Field 3 SA
|
|
Field 2 C
|
|
Field 1 A
|
|
Field 0 M
|
|
EndSysreg
|
|
|
|
SysregFields CPACR_ELx
|
|
Res0 63:29
|
|
Field 28 TTA
|
|
Res0 27:26
|
|
Field 25:24 SMEN
|
|
Res0 23:22
|
|
Field 21:20 FPEN
|
|
Res0 19:18
|
|
Field 17:16 ZEN
|
|
Res0 15:0
|
|
EndSysregFields
|
|
|
|
Sysreg CPACR_EL1 3 0 1 0 2
|
|
Fields CPACR_ELx
|
|
EndSysreg
|
|
|
|
Sysreg SMPRI_EL1 3 0 1 2 4
|
|
Res0 63:4
|
|
Field 3:0 PRIORITY
|
|
EndSysreg
|
|
|
|
SysregFields ZCR_ELx
|
|
Res0 63:9
|
|
Raz 8:4
|
|
Field 3:0 LEN
|
|
EndSysregFields
|
|
|
|
Sysreg ZCR_EL1 3 0 1 2 0
|
|
Fields ZCR_ELx
|
|
EndSysreg
|
|
|
|
SysregFields SMCR_ELx
|
|
Res0 63:32
|
|
Field 31 FA64
|
|
Res0 30:9
|
|
Raz 8:4
|
|
Field 3:0 LEN
|
|
EndSysregFields
|
|
|
|
Sysreg SMCR_EL1 3 0 1 2 6
|
|
Fields SMCR_ELx
|
|
EndSysreg
|
|
|
|
Sysreg FAR_EL1 3 0 6 0 0
|
|
Field 63:0 ADDR
|
|
EndSysreg
|
|
|
|
SysregFields CONTEXTIDR_ELx
|
|
Res0 63:32
|
|
Field 31:0 PROCID
|
|
EndSysregFields
|
|
|
|
Sysreg CONTEXTIDR_EL1 3 0 13 0 1
|
|
Fields CONTEXTIDR_ELx
|
|
EndSysreg
|
|
|
|
Sysreg CLIDR_EL1 3 1 0 0 1
|
|
Res0 63:47
|
|
Field 46:33 Ttypen
|
|
Field 32:30 ICB
|
|
Field 29:27 LoUU
|
|
Field 26:24 LoC
|
|
Field 23:21 LoUIS
|
|
Field 20:18 Ctype7
|
|
Field 17:15 Ctype6
|
|
Field 14:12 Ctype5
|
|
Field 11:9 Ctype4
|
|
Field 8:6 Ctype3
|
|
Field 5:3 Ctype2
|
|
Field 2:0 Ctype1
|
|
EndSysreg
|
|
|
|
Sysreg GMID_EL1 3 1 0 0 4
|
|
Res0 63:4
|
|
Field 3:0 BS
|
|
EndSysreg
|
|
|
|
Sysreg SMIDR_EL1 3 1 0 0 6
|
|
Res0 63:32
|
|
Field 31:24 IMPLEMENTER
|
|
Field 23:16 REVISION
|
|
Field 15 SMPS
|
|
Res0 14:12
|
|
Field 11:0 AFFINITY
|
|
EndSysreg
|
|
|
|
Sysreg CSSELR_EL1 3 2 0 0 0
|
|
Res0 63:5
|
|
Field 4 TnD
|
|
Field 3:1 Level
|
|
Field 0 InD
|
|
EndSysreg
|
|
|
|
Sysreg CTR_EL0 3 3 0 0 1
|
|
Res0 63:38
|
|
Field 37:32 TminLine
|
|
Res1 31
|
|
Res0 30
|
|
Field 29 DIC
|
|
Field 28 IDC
|
|
Field 27:24 CWG
|
|
Field 23:20 ERG
|
|
Field 19:16 DminLine
|
|
Enum 15:14 L1Ip
|
|
0b00 VPIPT
|
|
# This is named as AIVIVT in the ARM but documented as reserved
|
|
0b01 RESERVED
|
|
0b10 VIPT
|
|
0b11 PIPT
|
|
EndEnum
|
|
Res0 13:4
|
|
Field 3:0 IminLine
|
|
EndSysreg
|
|
|
|
Sysreg DCZID_EL0 3 3 0 0 7
|
|
Res0 63:5
|
|
Field 4 DZP
|
|
Field 3:0 BS
|
|
EndSysreg
|
|
|
|
Sysreg SVCR 3 3 4 2 2
|
|
Res0 63:2
|
|
Field 1 ZA
|
|
Field 0 SM
|
|
EndSysreg
|
|
|
|
Sysreg ZCR_EL2 3 4 1 2 0
|
|
Fields ZCR_ELx
|
|
EndSysreg
|
|
|
|
Sysreg SMPRIMAP_EL2 3 4 1 2 5
|
|
Field 63:60 P15
|
|
Field 59:56 P14
|
|
Field 55:52 P13
|
|
Field 51:48 P12
|
|
Field 47:44 P11
|
|
Field 43:40 P10
|
|
Field 39:36 F9
|
|
Field 35:32 P8
|
|
Field 31:28 P7
|
|
Field 27:24 P6
|
|
Field 23:20 P5
|
|
Field 19:16 P4
|
|
Field 15:12 P3
|
|
Field 11:8 P2
|
|
Field 7:4 P1
|
|
Field 3:0 P0
|
|
EndSysreg
|
|
|
|
Sysreg SMCR_EL2 3 4 1 2 6
|
|
Fields SMCR_ELx
|
|
EndSysreg
|
|
|
|
Sysreg DACR32_EL2 3 4 3 0 0
|
|
Res0 63:32
|
|
Field 31:30 D15
|
|
Field 29:28 D14
|
|
Field 27:26 D13
|
|
Field 25:24 D12
|
|
Field 23:22 D11
|
|
Field 21:20 D10
|
|
Field 19:18 D9
|
|
Field 17:16 D8
|
|
Field 15:14 D7
|
|
Field 13:12 D6
|
|
Field 11:10 D5
|
|
Field 9:8 D4
|
|
Field 7:6 D3
|
|
Field 5:4 D2
|
|
Field 3:2 D1
|
|
Field 1:0 D0
|
|
EndSysreg
|
|
|
|
Sysreg FAR_EL2 3 4 6 0 0
|
|
Field 63:0 ADDR
|
|
EndSysreg
|
|
|
|
Sysreg CONTEXTIDR_EL2 3 4 13 0 1
|
|
Fields CONTEXTIDR_ELx
|
|
EndSysreg
|
|
|
|
Sysreg CPACR_EL12 3 5 1 0 2
|
|
Fields CPACR_ELx
|
|
EndSysreg
|
|
|
|
Sysreg ZCR_EL12 3 5 1 2 0
|
|
Fields ZCR_ELx
|
|
EndSysreg
|
|
|
|
Sysreg SMCR_EL12 3 5 1 2 6
|
|
Fields SMCR_ELx
|
|
EndSysreg
|
|
|
|
Sysreg FAR_EL12 3 5 6 0 0
|
|
Field 63:0 ADDR
|
|
EndSysreg
|
|
|
|
Sysreg CONTEXTIDR_EL12 3 5 13 0 1
|
|
Fields CONTEXTIDR_ELx
|
|
EndSysreg
|
|
|
|
SysregFields TTBRx_EL1
|
|
Field 63:48 ASID
|
|
Field 47:1 BADDR
|
|
Field 0 CnP
|
|
EndSysregFields
|
|
|
|
Sysreg TTBR0_EL1 3 0 2 0 0
|
|
Fields TTBRx_EL1
|
|
EndSysreg
|
|
|
|
Sysreg TTBR1_EL1 3 0 2 0 1
|
|
Fields TTBRx_EL1
|
|
EndSysreg
|
|
|
|
Sysreg LORSA_EL1 3 0 10 4 0
|
|
Res0 63:52
|
|
Field 51:16 SA
|
|
Res0 15:1
|
|
Field 0 Valid
|
|
EndSysreg
|
|
|
|
Sysreg LOREA_EL1 3 0 10 4 1
|
|
Res0 63:52
|
|
Field 51:48 EA_51_48
|
|
Field 47:16 EA_47_16
|
|
Res0 15:0
|
|
EndSysreg
|
|
|
|
Sysreg LORN_EL1 3 0 10 4 2
|
|
Res0 63:8
|
|
Field 7:0 Num
|
|
EndSysreg
|
|
|
|
Sysreg LORC_EL1 3 0 10 4 3
|
|
Res0 63:10
|
|
Field 9:2 DS
|
|
Res0 1
|
|
Field 0 EN
|
|
EndSysreg
|
|
|
|
Sysreg LORID_EL1 3 0 10 4 7
|
|
Res0 63:24
|
|
Field 23:16 LD
|
|
Res0 15:8
|
|
Field 7:0 LR
|
|
EndSysreg
|