forked from Minki/linux
7a41a97b65
Automatically generate register definitions for SCTLR_EL1. No functional change. Signed-off-by: Mark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20220503170233.507788-13-broonie@kernel.org [catalin.marinas@arm.com: fix the SCTLR_EL1 encoding] Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
201 lines
3.0 KiB
Plaintext
201 lines
3.0 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_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 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 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
|