Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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