xref: /openbmc/linux/arch/arm64/tools/sysreg (revision f80be457)
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_AA64ZFR0_EL1	3	0	0	4	4
50Res0	63:60
51Enum	59:56	F64MM
52	0b0000	NI
53	0b0001	IMP
54EndEnum
55Enum	55:52	F32MM
56	0b0000	NI
57	0b0001	IMP
58EndEnum
59Res0	51:48
60Enum	47:44	I8MM
61	0b0000	NI
62	0b0001	IMP
63EndEnum
64Enum	43:40	SM4
65	0b0000	NI
66	0b0001	IMP
67EndEnum
68Res0	39:36
69Enum	35:32	SHA3
70	0b0000	NI
71	0b0001	IMP
72EndEnum
73Res0	31:24
74Enum	23:20	BF16
75	0b0000	NI
76	0b0001	IMP
77	0b0010	EBF16
78EndEnum
79Enum	19:16	BitPerm
80	0b0000	NI
81	0b0001	IMP
82EndEnum
83Res0	15:8
84Enum	7:4	AES
85	0b0000	NI
86	0b0001	IMP
87	0b0010	PMULL128
88EndEnum
89Enum	3:0	SVEver
90	0b0000	IMP
91	0b0001	SVE2
92EndEnum
93EndSysreg
94
95Sysreg	ID_AA64SMFR0_EL1	3	0	0	4	5
96Enum	63	FA64
97	0b0	NI
98	0b1	IMP
99EndEnum
100Res0	62:60
101Field	59:56	SMEver
102Enum	55:52	I16I64
103	0b0000	NI
104	0b1111	IMP
105EndEnum
106Res0	51:49
107Enum	48	F64F64
108	0b0	NI
109	0b1	IMP
110EndEnum
111Res0	47:40
112Enum	39:36	I8I32
113	0b0000	NI
114	0b1111	IMP
115EndEnum
116Enum	35	F16F32
117	0b0	NI
118	0b1	IMP
119EndEnum
120Enum	34	B16F32
121	0b0	NI
122	0b1	IMP
123EndEnum
124Res0	33
125Enum	32	F32F32
126	0b0	NI
127	0b1	IMP
128EndEnum
129Res0	31:0
130EndSysreg
131
132Sysreg	ID_AA64ISAR0_EL1	3	0	0	6	0
133Enum	63:60	RNDR
134	0b0000	NI
135	0b0001	IMP
136EndEnum
137Enum	59:56	TLB
138	0b0000	NI
139	0b0001	OS
140	0b0010	RANGE
141EndEnum
142Enum	55:52	TS
143	0b0000	NI
144	0b0001	FLAGM
145	0b0010	FLAGM2
146EndEnum
147Enum	51:48	FHM
148	0b0000	NI
149	0b0001	IMP
150EndEnum
151Enum	47:44	DP
152	0b0000	NI
153	0b0001	IMP
154EndEnum
155Enum	43:40	SM4
156	0b0000	NI
157	0b0001	IMP
158EndEnum
159Enum	39:36	SM3
160	0b0000	NI
161	0b0001	IMP
162EndEnum
163Enum	35:32	SHA3
164	0b0000	NI
165	0b0001	IMP
166EndEnum
167Enum	31:28	RDM
168	0b0000	NI
169	0b0001	IMP
170EndEnum
171Enum	27:24	TME
172	0b0000	NI
173	0b0001	IMP
174EndEnum
175Enum	23:20	ATOMIC
176	0b0000	NI
177	0b0010	IMP
178EndEnum
179Enum	19:16	CRC32
180	0b0000	NI
181	0b0001	IMP
182EndEnum
183Enum	15:12	SHA2
184	0b0000	NI
185	0b0001	SHA256
186	0b0010	SHA512
187EndEnum
188Enum	11:8	SHA1
189	0b0000	NI
190	0b0001	IMP
191EndEnum
192Enum	7:4	AES
193	0b0000	NI
194	0b0001	AES
195	0b0010	PMULL
196EndEnum
197Res0	3:0
198EndSysreg
199
200Sysreg	ID_AA64ISAR1_EL1	3	0	0	6	1
201Enum	63:60	LS64
202	0b0000	NI
203	0b0001	LS64
204	0b0010	LS64_V
205	0b0011	LS64_ACCDATA
206EndEnum
207Enum	59:56	XS
208	0b0000	NI
209	0b0001	IMP
210EndEnum
211Enum	55:52	I8MM
212	0b0000	NI
213	0b0001	IMP
214EndEnum
215Enum	51:48	DGH
216	0b0000	NI
217	0b0001	IMP
218EndEnum
219Enum	47:44	BF16
220	0b0000	NI
221	0b0001	IMP
222	0b0010	EBF16
223EndEnum
224Enum	43:40	SPECRES
225	0b0000	NI
226	0b0001	IMP
227EndEnum
228Enum	39:36	SB
229	0b0000	NI
230	0b0001	IMP
231EndEnum
232Enum	35:32	FRINTTS
233	0b0000	NI
234	0b0001	IMP
235EndEnum
236Enum	31:28	GPI
237	0b0000	NI
238	0b0001	IMP
239EndEnum
240Enum	27:24	GPA
241	0b0000	NI
242	0b0001	IMP
243EndEnum
244Enum	23:20	LRCPC
245	0b0000	NI
246	0b0001	IMP
247	0b0010	LRCPC2
248EndEnum
249Enum	19:16	FCMA
250	0b0000	NI
251	0b0001	IMP
252EndEnum
253Enum	15:12	JSCVT
254	0b0000	NI
255	0b0001	IMP
256EndEnum
257Enum	11:8	API
258	0b0000	NI
259	0b0001	PAuth
260	0b0010	EPAC
261	0b0011	PAuth2
262	0b0100	FPAC
263	0b0101	FPACCOMBINE
264EndEnum
265Enum	7:4	APA
266	0b0000	NI
267	0b0001	PAuth
268	0b0010	EPAC
269	0b0011	PAuth2
270	0b0100	FPAC
271	0b0101	FPACCOMBINE
272EndEnum
273Enum	3:0	DPB
274	0b0000	NI
275	0b0001	IMP
276	0b0010	DPB2
277EndEnum
278EndSysreg
279
280Sysreg	ID_AA64ISAR2_EL1	3	0	0	6	2
281Res0	63:28
282Enum	27:24	PAC_frac
283	0b0000	NI
284	0b0001	IMP
285EndEnum
286Enum	23:20	BC
287	0b0000	NI
288	0b0001	IMP
289EndEnum
290Enum	19:16	MOPS
291	0b0000	NI
292	0b0001	IMP
293EndEnum
294Enum	15:12	APA3
295	0b0000	NI
296	0b0001	PAuth
297	0b0010	EPAC
298	0b0011	PAuth2
299	0b0100	FPAC
300	0b0101	FPACCOMBINE
301EndEnum
302Enum	11:8	GPA3
303	0b0000	NI
304	0b0001	IMP
305EndEnum
306Enum	7:4	RPRES
307	0b0000	NI
308	0b0001	IMP
309EndEnum
310Enum	3:0	WFxT
311	0b0000	NI
312	0b0010	IMP
313EndEnum
314EndSysreg
315
316Sysreg	SCTLR_EL1	3	0	1	0	0
317Field	63	TIDCP
318Field	62	SPINMASK
319Field	61	NMI
320Field	60	EnTP2
321Res0	59:58
322Field	57	EPAN
323Field	56	EnALS
324Field	55	EnAS0
325Field	54	EnASR
326Field	53	TME
327Field	52	TME0
328Field	51	TMT
329Field	50	TMT0
330Field	49:46	TWEDEL
331Field	45	TWEDEn
332Field	44	DSSBS
333Field	43	ATA
334Field	42	ATA0
335Enum	41:40	TCF
336	0b00	NONE
337	0b01	SYNC
338	0b10	ASYNC
339	0b11	ASYMM
340EndEnum
341Enum	39:38	TCF0
342	0b00	NONE
343	0b01	SYNC
344	0b10	ASYNC
345	0b11	ASYMM
346EndEnum
347Field	37	ITFSB
348Field	36	BT1
349Field	35	BT0
350Res0	34
351Field	33	MSCEn
352Field	32	CMOW
353Field	31	EnIA
354Field	30	EnIB
355Field	29	LSMAOE
356Field	28	nTLSMD
357Field	27	EnDA
358Field	26	UCI
359Field	25	EE
360Field	24	E0E
361Field	23	SPAN
362Field	22	EIS
363Field	21	IESB
364Field	20	TSCXT
365Field	19	WXN
366Field	18	nTWE
367Res0	17
368Field	16	nTWI
369Field	15	UCT
370Field	14	DZE
371Field	13	EnDB
372Field	12	I
373Field	11	EOS
374Field	10	EnRCTX
375Field	9	UMA
376Field	8	SED
377Field	7	ITD
378Field	6	nAA
379Field	5	CP15BEN
380Field	4	SA0
381Field	3	SA
382Field	2	C
383Field	1	A
384Field	0	M
385EndSysreg
386
387SysregFields	CPACR_ELx
388Res0	63:29
389Field	28	TTA
390Res0	27:26
391Field	25:24	SMEN
392Res0	23:22
393Field	21:20	FPEN
394Res0	19:18
395Field	17:16	ZEN
396Res0	15:0
397EndSysregFields
398
399Sysreg	CPACR_EL1	3	0	1	0	2
400Fields	CPACR_ELx
401EndSysreg
402
403Sysreg	SMPRI_EL1	3	0	1	2	4
404Res0	63:4
405Field	3:0	PRIORITY
406EndSysreg
407
408SysregFields	ZCR_ELx
409Res0	63:9
410Raz	8:4
411Field	3:0	LEN
412EndSysregFields
413
414Sysreg ZCR_EL1	3	0	1	2	0
415Fields ZCR_ELx
416EndSysreg
417
418SysregFields	SMCR_ELx
419Res0	63:32
420Field	31	FA64
421Res0	30:9
422Raz	8:4
423Field	3:0	LEN
424EndSysregFields
425
426Sysreg	SMCR_EL1	3	0	1	2	6
427Fields	SMCR_ELx
428EndSysreg
429
430Sysreg	FAR_EL1	3	0	6	0	0
431Field	63:0	ADDR
432EndSysreg
433
434SysregFields	CONTEXTIDR_ELx
435Res0	63:32
436Field	31:0	PROCID
437EndSysregFields
438
439Sysreg	CONTEXTIDR_EL1	3	0	13	0	1
440Fields	CONTEXTIDR_ELx
441EndSysreg
442
443Sysreg	CLIDR_EL1	3	1	0	0	1
444Res0	63:47
445Field	46:33	Ttypen
446Field	32:30	ICB
447Field	29:27	LoUU
448Field	26:24	LoC
449Field	23:21	LoUIS
450Field	20:18	Ctype7
451Field	17:15	Ctype6
452Field	14:12	Ctype5
453Field	11:9	Ctype4
454Field	8:6	Ctype3
455Field	5:3	Ctype2
456Field	2:0	Ctype1
457EndSysreg
458
459Sysreg	GMID_EL1	3	1	0	0	4
460Res0	63:4
461Field	3:0	BS
462EndSysreg
463
464Sysreg	SMIDR_EL1	3	1	0	0	6
465Res0	63:32
466Field	31:24	IMPLEMENTER
467Field	23:16	REVISION
468Field	15	SMPS
469Res0	14:12
470Field	11:0	AFFINITY
471EndSysreg
472
473Sysreg	CSSELR_EL1	3	2	0	0	0
474Res0	63:5
475Field	4	TnD
476Field	3:1	Level
477Field	0	InD
478EndSysreg
479
480Sysreg	CTR_EL0	3	3	0	0	1
481Res0	63:38
482Field	37:32	TminLine
483Res1	31
484Res0	30
485Field	29	DIC
486Field	28	IDC
487Field	27:24	CWG
488Field	23:20	ERG
489Field	19:16	DminLine
490Enum	15:14	L1Ip
491	0b00	VPIPT
492	# This is named as AIVIVT in the ARM but documented as reserved
493	0b01	RESERVED
494	0b10	VIPT
495	0b11	PIPT
496EndEnum
497Res0	13:4
498Field	3:0	IminLine
499EndSysreg
500
501Sysreg	DCZID_EL0	3	3	0	0	7
502Res0	63:5
503Field	4	DZP
504Field	3:0	BS
505EndSysreg
506
507Sysreg	SVCR	3	3	4	2	2
508Res0	63:2
509Field	1	ZA
510Field	0	SM
511EndSysreg
512
513Sysreg	ZCR_EL2	3	4	1	2	0
514Fields	ZCR_ELx
515EndSysreg
516
517Sysreg	SMPRIMAP_EL2	3	4	1	2	5
518Field	63:60	P15
519Field	59:56	P14
520Field	55:52	P13
521Field	51:48	P12
522Field	47:44	P11
523Field	43:40	P10
524Field	39:36	F9
525Field	35:32	P8
526Field	31:28	P7
527Field	27:24	P6
528Field	23:20	P5
529Field	19:16	P4
530Field	15:12	P3
531Field	11:8	P2
532Field	7:4	P1
533Field	3:0	P0
534EndSysreg
535
536Sysreg	SMCR_EL2	3	4	1	2	6
537Fields	SMCR_ELx
538EndSysreg
539
540Sysreg	DACR32_EL2	3	4	3	0	0
541Res0	63:32
542Field	31:30	D15
543Field	29:28	D14
544Field	27:26	D13
545Field	25:24	D12
546Field	23:22	D11
547Field	21:20	D10
548Field	19:18	D9
549Field	17:16	D8
550Field	15:14	D7
551Field	13:12	D6
552Field	11:10	D5
553Field	9:8	D4
554Field	7:6	D3
555Field	5:4	D2
556Field	3:2	D1
557Field	1:0	D0
558EndSysreg
559
560Sysreg	FAR_EL2	3	4	6	0	0
561Field	63:0	ADDR
562EndSysreg
563
564Sysreg	CONTEXTIDR_EL2	3	4	13	0	1
565Fields	CONTEXTIDR_ELx
566EndSysreg
567
568Sysreg	CPACR_EL12	3	5	1	0	2
569Fields	CPACR_ELx
570EndSysreg
571
572Sysreg	ZCR_EL12	3	5	1	2	0
573Fields	ZCR_ELx
574EndSysreg
575
576Sysreg	SMCR_EL12	3	5	1	2	6
577Fields	SMCR_ELx
578EndSysreg
579
580Sysreg	FAR_EL12	3	5	6	0	0
581Field	63:0	ADDR
582EndSysreg
583
584Sysreg	CONTEXTIDR_EL12	3	5	13	0	1
585Fields	CONTEXTIDR_ELx
586EndSysreg
587
588SysregFields TTBRx_EL1
589Field	63:48	ASID
590Field	47:1	BADDR
591Field	0	CnP
592EndSysregFields
593
594Sysreg	TTBR0_EL1	3	0	2	0	0
595Fields	TTBRx_EL1
596EndSysreg
597
598Sysreg	TTBR1_EL1	3	0	2	0	1
599Fields	TTBRx_EL1
600EndSysreg
601
602Sysreg	LORSA_EL1	3	0	10	4	0
603Res0	63:52
604Field	51:16	SA
605Res0	15:1
606Field	0	Valid
607EndSysreg
608
609Sysreg	LOREA_EL1	3	0	10	4	1
610Res0	63:52
611Field	51:48	EA_51_48
612Field	47:16	EA_47_16
613Res0	15:0
614EndSysreg
615
616Sysreg	LORN_EL1	3	0	10	4	2
617Res0	63:8
618Field	7:0	Num
619EndSysreg
620
621Sysreg	LORC_EL1	3	0	10	4	3
622Res0	63:10
623Field	9:2	DS
624Res0	1
625Field	0	EN
626EndSysreg
627
628Sysreg	LORID_EL1	3	0	10	4	7
629Res0	63:24
630Field	23:16	LD
631Res0	15:8
632Field	7:0	LR
633EndSysreg
634