xref: /openbmc/linux/arch/arm64/tools/sysreg (revision cfa3a6c5)
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
101Enum	59:56	SMEver
102	0b0000	IMP
103EndEnum
104Enum	55:52	I16I64
105	0b0000	NI
106	0b1111	IMP
107EndEnum
108Res0	51:49
109Enum	48	F64F64
110	0b0	NI
111	0b1	IMP
112EndEnum
113Res0	47:40
114Enum	39:36	I8I32
115	0b0000	NI
116	0b1111	IMP
117EndEnum
118Enum	35	F16F32
119	0b0	NI
120	0b1	IMP
121EndEnum
122Enum	34	B16F32
123	0b0	NI
124	0b1	IMP
125EndEnum
126Res0	33
127Enum	32	F32F32
128	0b0	NI
129	0b1	IMP
130EndEnum
131Res0	31:0
132EndSysreg
133
134Sysreg	ID_AA64ISAR0_EL1	3	0	0	6	0
135Enum	63:60	RNDR
136	0b0000	NI
137	0b0001	IMP
138EndEnum
139Enum	59:56	TLB
140	0b0000	NI
141	0b0001	OS
142	0b0010	RANGE
143EndEnum
144Enum	55:52	TS
145	0b0000	NI
146	0b0001	FLAGM
147	0b0010	FLAGM2
148EndEnum
149Enum	51:48	FHM
150	0b0000	NI
151	0b0001	IMP
152EndEnum
153Enum	47:44	DP
154	0b0000	NI
155	0b0001	IMP
156EndEnum
157Enum	43:40	SM4
158	0b0000	NI
159	0b0001	IMP
160EndEnum
161Enum	39:36	SM3
162	0b0000	NI
163	0b0001	IMP
164EndEnum
165Enum	35:32	SHA3
166	0b0000	NI
167	0b0001	IMP
168EndEnum
169Enum	31:28	RDM
170	0b0000	NI
171	0b0001	IMP
172EndEnum
173Enum	27:24	TME
174	0b0000	NI
175	0b0001	IMP
176EndEnum
177Enum	23:20	ATOMIC
178	0b0000	NI
179	0b0010	IMP
180EndEnum
181Enum	19:16	CRC32
182	0b0000	NI
183	0b0001	IMP
184EndEnum
185Enum	15:12	SHA2
186	0b0000	NI
187	0b0001	SHA256
188	0b0010	SHA512
189EndEnum
190Enum	11:8	SHA1
191	0b0000	NI
192	0b0001	IMP
193EndEnum
194Enum	7:4	AES
195	0b0000	NI
196	0b0001	AES
197	0b0010	PMULL
198EndEnum
199Res0	3:0
200EndSysreg
201
202Sysreg	ID_AA64ISAR1_EL1	3	0	0	6	1
203Enum	63:60	LS64
204	0b0000	NI
205	0b0001	LS64
206	0b0010	LS64_V
207	0b0011	LS64_ACCDATA
208EndEnum
209Enum	59:56	XS
210	0b0000	NI
211	0b0001	IMP
212EndEnum
213Enum	55:52	I8MM
214	0b0000	NI
215	0b0001	IMP
216EndEnum
217Enum	51:48	DGH
218	0b0000	NI
219	0b0001	IMP
220EndEnum
221Enum	47:44	BF16
222	0b0000	NI
223	0b0001	IMP
224	0b0010	EBF16
225EndEnum
226Enum	43:40	SPECRES
227	0b0000	NI
228	0b0001	IMP
229EndEnum
230Enum	39:36	SB
231	0b0000	NI
232	0b0001	IMP
233EndEnum
234Enum	35:32	FRINTTS
235	0b0000	NI
236	0b0001	IMP
237EndEnum
238Enum	31:28	GPI
239	0b0000	NI
240	0b0001	IMP
241EndEnum
242Enum	27:24	GPA
243	0b0000	NI
244	0b0001	IMP
245EndEnum
246Enum	23:20	LRCPC
247	0b0000	NI
248	0b0001	IMP
249	0b0010	LRCPC2
250EndEnum
251Enum	19:16	FCMA
252	0b0000	NI
253	0b0001	IMP
254EndEnum
255Enum	15:12	JSCVT
256	0b0000	NI
257	0b0001	IMP
258EndEnum
259Enum	11:8	API
260	0b0000	NI
261	0b0001	PAuth
262	0b0010	EPAC
263	0b0011	PAuth2
264	0b0100	FPAC
265	0b0101	FPACCOMBINE
266EndEnum
267Enum	7:4	APA
268	0b0000	NI
269	0b0001	PAuth
270	0b0010	EPAC
271	0b0011	PAuth2
272	0b0100	FPAC
273	0b0101	FPACCOMBINE
274EndEnum
275Enum	3:0	DPB
276	0b0000	NI
277	0b0001	IMP
278	0b0010	DPB2
279EndEnum
280EndSysreg
281
282Sysreg	ID_AA64ISAR2_EL1	3	0	0	6	2
283Res0	63:28
284Enum	27:24	PAC_frac
285	0b0000	NI
286	0b0001	IMP
287EndEnum
288Enum	23:20	BC
289	0b0000	NI
290	0b0001	IMP
291EndEnum
292Enum	19:16	MOPS
293	0b0000	NI
294	0b0001	IMP
295EndEnum
296Enum	15:12	APA3
297	0b0000	NI
298	0b0001	PAuth
299	0b0010	EPAC
300	0b0011	PAuth2
301	0b0100	FPAC
302	0b0101	FPACCOMBINE
303EndEnum
304Enum	11:8	GPA3
305	0b0000	NI
306	0b0001	IMP
307EndEnum
308Enum	7:4	RPRES
309	0b0000	NI
310	0b0001	IMP
311EndEnum
312Enum	3:0	WFxT
313	0b0000	NI
314	0b0010	IMP
315EndEnum
316EndSysreg
317
318Sysreg	ID_AA64MMFR0_EL1	3	0	0	7	0
319Enum	63:60	ECV
320	0b0000	NI
321	0b0001	IMP
322	0b0010	CNTPOFF
323EndEnum
324Enum	59:56	FGT
325	0b0000	NI
326	0b0001	IMP
327EndEnum
328Res0	55:48
329Enum	47:44	EXS
330	0b0000	NI
331	0b0001	IMP
332EndEnum
333Enum	43:40	TGRAN4_2
334	0b0000	TGRAN4
335	0b0001	NI
336	0b0010	IMP
337	0b0011	52_BIT
338EndEnum
339Enum	39:36	TGRAN64_2
340	0b0000	TGRAN64
341	0b0001	NI
342	0b0010	IMP
343EndEnum
344Enum	35:32	TGRAN16_2
345	0b0000	TGRAN16
346	0b0001	NI
347	0b0010	IMP
348	0b0011	52_BIT
349EndEnum
350Enum	31:28	TGRAN4
351	0b0000	IMP
352	0b0001	52_BIT
353	0b1111	NI
354EndEnum
355Enum	27:24	TGRAN64
356	0b0000	IMP
357	0b1111	NI
358EndEnum
359Enum	23:20	TGRAN16
360	0b0000	NI
361	0b0001	IMP
362	0b0010	52_BIT
363EndEnum
364Enum	19:16	BIGENDEL0
365	0b0000	NI
366	0b0001	IMP
367EndEnum
368Enum	15:12	SNSMEM
369	0b0000	NI
370	0b0001	IMP
371EndEnum
372Enum	11:8	BIGEND
373	0b0000	NI
374	0b0001	IMP
375EndEnum
376Enum	7:4	ASIDBITS
377	0b0000	8
378	0b0010	16
379EndEnum
380Enum	3:0	PARANGE
381	0b0000	32
382	0b0001	36
383	0b0010	40
384	0b0011	42
385	0b0100	44
386	0b0101	48
387	0b0110	52
388EndEnum
389EndSysreg
390
391Sysreg	ID_AA64MMFR1_EL1	3	0	0	7	1
392Enum	63:60	ECBHB
393	0b0000	NI
394	0b0001	IMP
395EndEnum
396Enum	59:56	CMOW
397	0b0000	NI
398	0b0001	IMP
399EndEnum
400Enum	55:52	TIDCP1
401	0b0000	NI
402	0b0001	IMP
403EndEnum
404Enum	51:48	nTLBPA
405	0b0000	NI
406	0b0001	IMP
407EndEnum
408Enum	47:44	AFP
409	0b0000	NI
410	0b0001	IMP
411EndEnum
412Enum	43:40	HCX
413	0b0000	NI
414	0b0001	IMP
415EndEnum
416Enum	39:36	ETS
417	0b0000	NI
418	0b0001	IMP
419EndEnum
420Enum	35:32	TWED
421	0b0000	NI
422	0b0001	IMP
423EndEnum
424Enum	31:28	XNX
425	0b0000	NI
426	0b0001	IMP
427EndEnum
428Enum	27:24	SpecSEI
429	0b0000	NI
430	0b0001	IMP
431EndEnum
432Enum	23:20	PAN
433	0b0000	NI
434	0b0001	IMP
435	0b0010	PAN2
436	0b0011	PAN3
437EndEnum
438Enum	19:16	LO
439	0b0000	NI
440	0b0001	IMP
441EndEnum
442Enum	15:12	HPDS
443	0b0000	NI
444	0b0001	IMP
445	0b0010	HPDS2
446EndEnum
447Enum	11:8	VH
448	0b0000	NI
449	0b0001	IMP
450EndEnum
451Enum	7:4	VMIDBits
452	0b0000	8
453	0b0010	16
454EndEnum
455Enum	3:0	HAFDBS
456	0b0000	NI
457	0b0001	AF
458	0b0010	DBM
459EndEnum
460EndSysreg
461
462Sysreg	ID_AA64MMFR2_EL1	3	0	0	7	2
463Enum	63:60	E0PD
464	0b0000	NI
465	0b0001	IMP
466EndEnum
467Enum	59:56	EVT
468	0b0000	NI
469	0b0001	IMP
470	0b0010	TTLBxS
471EndEnum
472Enum	55:52	BBM
473	0b0000	0
474	0b0001	1
475	0b0010	2
476EndEnum
477Enum	51:48	TTL
478	0b0000	NI
479	0b0001	IMP
480EndEnum
481Res0	47:44
482Enum	43:40	FWB
483	0b0000	NI
484	0b0001	IMP
485EndEnum
486Enum	39:36	IDS
487	0b0000	0x0
488	0b0001	0x18
489EndEnum
490Enum	35:32	AT
491	0b0000	NI
492	0b0001	IMP
493EndEnum
494Enum	31:28	ST
495	0b0000	39
496	0b0001	48_47
497EndEnum
498Enum	27:24	NV
499	0b0000	NI
500	0b0001	IMP
501	0b0010	NV2
502EndEnum
503Enum	23:20	CCIDX
504	0b0000	32
505	0b0001	64
506EndEnum
507Enum	19:16	VARange
508	0b0000	48
509	0b0001	52
510EndEnum
511Enum	15:12	IESB
512	0b0000	NI
513	0b0001	IMP
514EndEnum
515Enum	11:8	LSM
516	0b0000	NI
517	0b0001	IMP
518EndEnum
519Enum	7:4	UAO
520	0b0000	NI
521	0b0001	IMP
522EndEnum
523Enum	3:0	CnP
524	0b0000	NI
525	0b0001	IMP
526EndEnum
527EndSysreg
528
529Sysreg	SCTLR_EL1	3	0	1	0	0
530Field	63	TIDCP
531Field	62	SPINMASK
532Field	61	NMI
533Field	60	EnTP2
534Res0	59:58
535Field	57	EPAN
536Field	56	EnALS
537Field	55	EnAS0
538Field	54	EnASR
539Field	53	TME
540Field	52	TME0
541Field	51	TMT
542Field	50	TMT0
543Field	49:46	TWEDEL
544Field	45	TWEDEn
545Field	44	DSSBS
546Field	43	ATA
547Field	42	ATA0
548Enum	41:40	TCF
549	0b00	NONE
550	0b01	SYNC
551	0b10	ASYNC
552	0b11	ASYMM
553EndEnum
554Enum	39:38	TCF0
555	0b00	NONE
556	0b01	SYNC
557	0b10	ASYNC
558	0b11	ASYMM
559EndEnum
560Field	37	ITFSB
561Field	36	BT1
562Field	35	BT0
563Res0	34
564Field	33	MSCEn
565Field	32	CMOW
566Field	31	EnIA
567Field	30	EnIB
568Field	29	LSMAOE
569Field	28	nTLSMD
570Field	27	EnDA
571Field	26	UCI
572Field	25	EE
573Field	24	E0E
574Field	23	SPAN
575Field	22	EIS
576Field	21	IESB
577Field	20	TSCXT
578Field	19	WXN
579Field	18	nTWE
580Res0	17
581Field	16	nTWI
582Field	15	UCT
583Field	14	DZE
584Field	13	EnDB
585Field	12	I
586Field	11	EOS
587Field	10	EnRCTX
588Field	9	UMA
589Field	8	SED
590Field	7	ITD
591Field	6	nAA
592Field	5	CP15BEN
593Field	4	SA0
594Field	3	SA
595Field	2	C
596Field	1	A
597Field	0	M
598EndSysreg
599
600SysregFields	CPACR_ELx
601Res0	63:29
602Field	28	TTA
603Res0	27:26
604Field	25:24	SMEN
605Res0	23:22
606Field	21:20	FPEN
607Res0	19:18
608Field	17:16	ZEN
609Res0	15:0
610EndSysregFields
611
612Sysreg	CPACR_EL1	3	0	1	0	2
613Fields	CPACR_ELx
614EndSysreg
615
616Sysreg	SMPRI_EL1	3	0	1	2	4
617Res0	63:4
618Field	3:0	PRIORITY
619EndSysreg
620
621SysregFields	ZCR_ELx
622Res0	63:9
623Raz	8:4
624Field	3:0	LEN
625EndSysregFields
626
627Sysreg ZCR_EL1	3	0	1	2	0
628Fields ZCR_ELx
629EndSysreg
630
631SysregFields	SMCR_ELx
632Res0	63:32
633Field	31	FA64
634Res0	30:9
635Raz	8:4
636Field	3:0	LEN
637EndSysregFields
638
639Sysreg	SMCR_EL1	3	0	1	2	6
640Fields	SMCR_ELx
641EndSysreg
642
643Sysreg	FAR_EL1	3	0	6	0	0
644Field	63:0	ADDR
645EndSysreg
646
647SysregFields	CONTEXTIDR_ELx
648Res0	63:32
649Field	31:0	PROCID
650EndSysregFields
651
652Sysreg	CONTEXTIDR_EL1	3	0	13	0	1
653Fields	CONTEXTIDR_ELx
654EndSysreg
655
656Sysreg	CLIDR_EL1	3	1	0	0	1
657Res0	63:47
658Field	46:33	Ttypen
659Field	32:30	ICB
660Field	29:27	LoUU
661Field	26:24	LoC
662Field	23:21	LoUIS
663Field	20:18	Ctype7
664Field	17:15	Ctype6
665Field	14:12	Ctype5
666Field	11:9	Ctype4
667Field	8:6	Ctype3
668Field	5:3	Ctype2
669Field	2:0	Ctype1
670EndSysreg
671
672Sysreg	GMID_EL1	3	1	0	0	4
673Res0	63:4
674Field	3:0	BS
675EndSysreg
676
677Sysreg	SMIDR_EL1	3	1	0	0	6
678Res0	63:32
679Field	31:24	IMPLEMENTER
680Field	23:16	REVISION
681Field	15	SMPS
682Res0	14:12
683Field	11:0	AFFINITY
684EndSysreg
685
686Sysreg	CSSELR_EL1	3	2	0	0	0
687Res0	63:5
688Field	4	TnD
689Field	3:1	Level
690Field	0	InD
691EndSysreg
692
693Sysreg	CTR_EL0	3	3	0	0	1
694Res0	63:38
695Field	37:32	TminLine
696Res1	31
697Res0	30
698Field	29	DIC
699Field	28	IDC
700Field	27:24	CWG
701Field	23:20	ERG
702Field	19:16	DminLine
703Enum	15:14	L1Ip
704	0b00	VPIPT
705	# This is named as AIVIVT in the ARM but documented as reserved
706	0b01	RESERVED
707	0b10	VIPT
708	0b11	PIPT
709EndEnum
710Res0	13:4
711Field	3:0	IminLine
712EndSysreg
713
714Sysreg	DCZID_EL0	3	3	0	0	7
715Res0	63:5
716Field	4	DZP
717Field	3:0	BS
718EndSysreg
719
720Sysreg	SVCR	3	3	4	2	2
721Res0	63:2
722Field	1	ZA
723Field	0	SM
724EndSysreg
725
726Sysreg	ZCR_EL2	3	4	1	2	0
727Fields	ZCR_ELx
728EndSysreg
729
730Sysreg	HCRX_EL2	3	4	1	2	2
731Res0	63:12
732Field	11	MSCEn
733Field	10	MCE2
734Field	9	CMOW
735Field	8	VFNMI
736Field	7	VINMI
737Field	6	TALLINT
738Field	5	SMPME
739Field	4	FGTnXS
740Field	3	FnXS
741Field	2	EnASR
742Field	1	EnALS
743Field	0	EnAS0
744EndSysreg
745
746Sysreg	SMPRIMAP_EL2	3	4	1	2	5
747Field	63:60	P15
748Field	59:56	P14
749Field	55:52	P13
750Field	51:48	P12
751Field	47:44	P11
752Field	43:40	P10
753Field	39:36	F9
754Field	35:32	P8
755Field	31:28	P7
756Field	27:24	P6
757Field	23:20	P5
758Field	19:16	P4
759Field	15:12	P3
760Field	11:8	P2
761Field	7:4	P1
762Field	3:0	P0
763EndSysreg
764
765Sysreg	SMCR_EL2	3	4	1	2	6
766Fields	SMCR_ELx
767EndSysreg
768
769Sysreg	DACR32_EL2	3	4	3	0	0
770Res0	63:32
771Field	31:30	D15
772Field	29:28	D14
773Field	27:26	D13
774Field	25:24	D12
775Field	23:22	D11
776Field	21:20	D10
777Field	19:18	D9
778Field	17:16	D8
779Field	15:14	D7
780Field	13:12	D6
781Field	11:10	D5
782Field	9:8	D4
783Field	7:6	D3
784Field	5:4	D2
785Field	3:2	D1
786Field	1:0	D0
787EndSysreg
788
789Sysreg	FAR_EL2	3	4	6	0	0
790Field	63:0	ADDR
791EndSysreg
792
793Sysreg	CONTEXTIDR_EL2	3	4	13	0	1
794Fields	CONTEXTIDR_ELx
795EndSysreg
796
797Sysreg	CPACR_EL12	3	5	1	0	2
798Fields	CPACR_ELx
799EndSysreg
800
801Sysreg	ZCR_EL12	3	5	1	2	0
802Fields	ZCR_ELx
803EndSysreg
804
805Sysreg	SMCR_EL12	3	5	1	2	6
806Fields	SMCR_ELx
807EndSysreg
808
809Sysreg	FAR_EL12	3	5	6	0	0
810Field	63:0	ADDR
811EndSysreg
812
813Sysreg	CONTEXTIDR_EL12	3	5	13	0	1
814Fields	CONTEXTIDR_ELx
815EndSysreg
816
817SysregFields TTBRx_EL1
818Field	63:48	ASID
819Field	47:1	BADDR
820Field	0	CnP
821EndSysregFields
822
823Sysreg	TTBR0_EL1	3	0	2	0	0
824Fields	TTBRx_EL1
825EndSysreg
826
827Sysreg	TTBR1_EL1	3	0	2	0	1
828Fields	TTBRx_EL1
829EndSysreg
830
831Sysreg	LORSA_EL1	3	0	10	4	0
832Res0	63:52
833Field	51:16	SA
834Res0	15:1
835Field	0	Valid
836EndSysreg
837
838Sysreg	LOREA_EL1	3	0	10	4	1
839Res0	63:52
840Field	51:48	EA_51_48
841Field	47:16	EA_47_16
842Res0	15:0
843EndSysreg
844
845Sysreg	LORN_EL1	3	0	10	4	2
846Res0	63:8
847Field	7:0	Num
848EndSysreg
849
850Sysreg	LORC_EL1	3	0	10	4	3
851Res0	63:10
852Field	9:2	DS
853Res0	1
854Field	0	EN
855EndSysreg
856
857Sysreg	LORID_EL1	3	0	10	4	7
858Res0	63:24
859Field	23:16	LD
860Res0	15:8
861Field	7:0	LR
862EndSysreg
863