xref: /linux/arch/arm64/tools/sysreg (revision dec1c62e91ba268ab2a6e339d4d7a59287d5eba1)
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_AA64ISAR0_EL1	3	0	0	6	0
50Enum	63:60	RNDR
51	0b0000	NI
52	0b0001	IMP
53EndEnum
54Enum	59:56	TLB
55	0b0000	NI
56	0b0001	OS
57	0b0010	RANGE
58EndEnum
59Enum	55:52	TS
60	0b0000	NI
61	0b0001	FLAGM
62	0b0010	FLAGM2
63EndEnum
64Enum	51:48	FHM
65	0b0000	NI
66	0b0001	IMP
67EndEnum
68Enum	47:44	DP
69	0b0000	NI
70	0b0001	IMP
71EndEnum
72Enum	43:40	SM4
73	0b0000	NI
74	0b0001	IMP
75EndEnum
76Enum	39:36	SM3
77	0b0000	NI
78	0b0001	IMP
79EndEnum
80Enum	35:32	SHA3
81	0b0000	NI
82	0b0001	IMP
83EndEnum
84Enum	31:28	RDM
85	0b0000	NI
86	0b0001	IMP
87EndEnum
88Enum	27:24	TME
89	0b0000	NI
90	0b0001	IMP
91EndEnum
92Enum	23:20	ATOMIC
93	0b0000	NI
94	0b0010	IMP
95EndEnum
96Enum	19:16	CRC32
97	0b0000	NI
98	0b0001	IMP
99EndEnum
100Enum	15:12	SHA2
101	0b0000	NI
102	0b0001	SHA256
103	0b0010	SHA512
104EndEnum
105Enum	11:8	SHA1
106	0b0000	NI
107	0b0001	IMP
108EndEnum
109Enum	7:4	AES
110	0b0000	NI
111	0b0001	AES
112	0b0010	PMULL
113EndEnum
114Res0	3:0
115EndSysreg
116
117Sysreg	SCTLR_EL1	3	0	1	0	0
118Field	63	TIDCP
119Field	62	SPINMASK
120Field	61	NMI
121Field	60	EnTP2
122Res0	59:58
123Field	57	EPAN
124Field	56	EnALS
125Field	55	EnAS0
126Field	54	EnASR
127Field	53	TME
128Field	52	TME0
129Field	51	TMT
130Field	50	TMT0
131Field	49:46	TWEDEL
132Field	45	TWEDEn
133Field	44	DSSBS
134Field	43	ATA
135Field	42	ATA0
136Enum	41:40	TCF
137	0b00	NONE
138	0b01	SYNC
139	0b10	ASYNC
140	0b11	ASYMM
141EndEnum
142Enum	39:38	TCF0
143	0b00	NONE
144	0b01	SYNC
145	0b10	ASYNC
146	0b11	ASYMM
147EndEnum
148Field	37	ITFSB
149Field	36	BT1
150Field	35	BT0
151Res0	34
152Field	33	MSCEn
153Field	32	CMOW
154Field	31	EnIA
155Field	30	EnIB
156Field	29	LSMAOE
157Field	28	nTLSMD
158Field	27	EnDA
159Field	26	UCI
160Field	25	EE
161Field	24	E0E
162Field	23	SPAN
163Field	22	EIS
164Field	21	IESB
165Field	20	TSCXT
166Field	19	WXN
167Field	18	nTWE
168Res0	17
169Field	16	nTWI
170Field	15	UCT
171Field	14	DZE
172Field	13	EnDB
173Field	12	I
174Field	11	EOS
175Field	10	EnRCTX
176Field	9	UMA
177Field	8	SED
178Field	7	ITD
179Field	6	nAA
180Field	5	CP15BEN
181Field	4	SA0
182Field	3	SA
183Field	2	C
184Field	1	A
185Field	0	M
186EndSysreg
187
188SysregFields	CPACR_ELx
189Res0	63:29
190Field	28	TTA
191Res0	27:26
192Field	25:24	SMEN
193Res0	23:22
194Field	21:20	FPEN
195Res0	19:18
196Field	17:16	ZEN
197Res0	15:0
198EndSysregFields
199
200Sysreg	CPACR_EL1	3	0	1	0	2
201Fields	CPACR_ELx
202EndSysreg
203
204Sysreg	SMPRI_EL1	3	0	1	2	4
205Res0	63:4
206Field	3:0	PRIORITY
207EndSysreg
208
209SysregFields	ZCR_ELx
210Res0	63:9
211Raz	8:4
212Field	3:0	LEN
213EndSysregFields
214
215Sysreg ZCR_EL1	3	0	1	2	0
216Fields ZCR_ELx
217EndSysreg
218
219SysregFields	SMCR_ELx
220Res0	63:32
221Field	31	FA64
222Res0	30:9
223Raz	8:4
224Field	3:0	LEN
225EndSysregFields
226
227Sysreg	SMCR_EL1	3	0	1	2	6
228Fields	SMCR_ELx
229EndSysreg
230
231Sysreg	FAR_EL1	3	0	6	0	0
232Field	63:0	ADDR
233EndSysreg
234
235SysregFields	CONTEXTIDR_ELx
236Res0	63:32
237Field	31:0	PROCID
238EndSysregFields
239
240Sysreg	CONTEXTIDR_EL1	3	0	13	0	1
241Fields	CONTEXTIDR_ELx
242EndSysreg
243
244Sysreg	CLIDR_EL1	3	1	0	0	1
245Res0	63:47
246Field	46:33	Ttypen
247Field	32:30	ICB
248Field	29:27	LoUU
249Field	26:24	LoC
250Field	23:21	LoUIS
251Field	20:18	Ctype7
252Field	17:15	Ctype6
253Field	14:12	Ctype5
254Field	11:9	Ctype4
255Field	8:6	Ctype3
256Field	5:3	Ctype2
257Field	2:0	Ctype1
258EndSysreg
259
260Sysreg	SMIDR_EL1	3	1	0	0	6
261Res0	63:32
262Field	31:24	IMPLEMENTER
263Field	23:16	REVISION
264Field	15	SMPS
265Res0	14:12
266Field	11:0	AFFINITY
267EndSysreg
268
269Sysreg	CSSELR_EL1	3	2	0	0	0
270Res0	63:5
271Field	4	TnD
272Field	3:1	Level
273Field	0	InD
274EndSysreg
275
276Sysreg	SVCR	3	3	4	2	2
277Res0	63:2
278Field	1	ZA
279Field	0	SM
280EndSysreg
281
282Sysreg	ZCR_EL2	3	4	1	2	0
283Fields	ZCR_ELx
284EndSysreg
285
286Sysreg	SMPRIMAP_EL2	3	4	1	2	5
287Field	63:60	P15
288Field	59:56	P14
289Field	55:52	P13
290Field	51:48	P12
291Field	47:44	P11
292Field	43:40	P10
293Field	39:36	F9
294Field	35:32	P8
295Field	31:28	P7
296Field	27:24	P6
297Field	23:20	P5
298Field	19:16	P4
299Field	15:12	P3
300Field	11:8	P2
301Field	7:4	P1
302Field	3:0	P0
303EndSysreg
304
305Sysreg	SMCR_EL2	3	4	1	2	6
306Fields	SMCR_ELx
307EndSysreg
308
309Sysreg	DACR32_EL2	3	4	3	0	0
310Res0	63:32
311Field	31:30	D15
312Field	29:28	D14
313Field	27:26	D13
314Field	25:24	D12
315Field	23:22	D11
316Field	21:20	D10
317Field	19:18	D9
318Field	17:16	D8
319Field	15:14	D7
320Field	13:12	D6
321Field	11:10	D5
322Field	9:8	D4
323Field	7:6	D3
324Field	5:4	D2
325Field	3:2	D1
326Field	1:0	D0
327EndSysreg
328
329Sysreg	FAR_EL2	3	4	6	0	0
330Field	63:0	ADDR
331EndSysreg
332
333Sysreg	CONTEXTIDR_EL2	3	4	13	0	1
334Fields	CONTEXTIDR_ELx
335EndSysreg
336
337Sysreg	CPACR_EL12	3	5	1	0	2
338Fields	CPACR_ELx
339EndSysreg
340
341Sysreg	ZCR_EL12	3	5	1	2	0
342Fields	ZCR_ELx
343EndSysreg
344
345Sysreg	SMCR_EL12	3	5	1	2	6
346Fields	SMCR_ELx
347EndSysreg
348
349Sysreg	FAR_EL12	3	5	6	0	0
350Field	63:0	ADDR
351EndSysreg
352
353Sysreg	CONTEXTIDR_EL12	3	5	13	0	1
354Fields	CONTEXTIDR_ELx
355EndSysreg
356
357SysregFields TTBRx_EL1
358Field	63:48	ASID
359Field	47:1	BADDR
360Field	0	CnP
361EndSysregFields
362
363Sysreg	TTBR0_EL1	3	0	2	0	0
364Fields	TTBRx_EL1
365EndSysreg
366
367Sysreg	TTBR1_EL1	3	0	2	0	1
368Fields	TTBRx_EL1
369EndSysreg
370