gem5  v20.0.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
miscregs_types.hh
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2010-2019 ARM Limited
3  * All rights reserved
4  *
5  * The license below extends only to copyright in the software and shall
6  * not be construed as granting a license to any other intellectual
7  * property including but not limited to intellectual property relating
8  * to a hardware implementation of the functionality of the software
9  * licensed hereunder. You may use the software subject to the license
10  * terms below provided that you ensure that this notice is replicated
11  * unmodified and in its entirety in all distributions of the software,
12  * modified or unmodified, in source code or in binary form.
13  *
14  * Copyright (c) 2009 The Regents of The University of Michigan
15  * All rights reserved.
16  *
17  * Redistribution and use in source and binary forms, with or without
18  * modification, are permitted provided that the following conditions are
19  * met: redistributions of source code must retain the above copyright
20  * notice, this list of conditions and the following disclaimer;
21  * redistributions in binary form must reproduce the above copyright
22  * notice, this list of conditions and the following disclaimer in the
23  * documentation and/or other materials provided with the distribution;
24  * neither the name of the copyright holders nor the names of its
25  * contributors may be used to endorse or promote products derived from
26  * this software without specific prior written permission.
27  *
28  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
29  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
31  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
32  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
33  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
34  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
35  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
36  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
37  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
38  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
39  */
40 
41 #ifndef __ARCH_ARM_MISCREGS_TYPES_HH__
42 #define __ARCH_ARM_MISCREGS_TYPES_HH__
43 
44 #include "base/bitunion.hh"
45 
46 namespace ArmISA
47 {
48  BitUnion32(CPSR)
49  Bitfield<31, 30> nz;
50  Bitfield<29> c;
51  Bitfield<28> v;
52  Bitfield<27> q;
53  Bitfield<26, 25> it1;
54  Bitfield<24> j;
55  Bitfield<22> pan;
56  Bitfield<21> ss; // AArch64
57  Bitfield<20> il; // AArch64
58  Bitfield<19, 16> ge;
59  Bitfield<15, 10> it2;
60  Bitfield<9> d; // AArch64
61  Bitfield<9> e;
62  Bitfield<8> a;
63  Bitfield<7> i;
64  Bitfield<6> f;
65  Bitfield<8, 6> aif;
66  Bitfield<9, 6> daif; // AArch64
67  Bitfield<5> t;
68  Bitfield<4> width; // AArch64
69  Bitfield<3, 2> el; // AArch64
70  Bitfield<4, 0> mode;
71  Bitfield<0> sp; // AArch64
72  EndBitUnion(CPSR)
73 
74  BitUnion64(AA64DFR0)
75  Bitfield<43, 40> tracefilt;
76  Bitfield<39, 36> doublelock;
77  Bitfield<35, 32> pmsver;
78  Bitfield<31, 28> ctx_cmps;
79  Bitfield<23, 20> wrps;
80  Bitfield<15, 12> brps;
81  Bitfield<11, 8> pmuver;
82  Bitfield<7, 4> tracever;
83  Bitfield<3, 0> debugver;
84  EndBitUnion(AA64DFR0)
85 
86  BitUnion64(AA64ISAR0)
87  Bitfield<63, 60> rndr;
88  Bitfield<59, 56> tlb;
89  Bitfield<55, 52> ts;
90  Bitfield<51, 48> fhm;
91  Bitfield<47, 44> dp;
92  Bitfield<43, 40> sm4;
93  Bitfield<39, 36> sm3;
94  Bitfield<35, 32> sha3;
95  Bitfield<31, 28> rdm;
96  Bitfield<23, 20> atomic;
97  Bitfield<19, 16> crc32;
98  Bitfield<15, 12> sha2;
99  Bitfield<11, 8> sha1;
100  Bitfield<3, 0> aes;
101  EndBitUnion(AA64ISAR0)
102 
103  BitUnion64(AA64ISAR1)
104  Bitfield<43, 40> specres;
105  Bitfield<39, 36> sb;
106  Bitfield<35, 32> frintts;
107  Bitfield<31, 28> gpi;
108  Bitfield<27, 24> gpa;
109  Bitfield<23, 20> lrcpc;
110  Bitfield<19, 16> fcma;
111  Bitfield<15, 12> jscvt;
112  Bitfield<11, 8> api;
113  Bitfield<7, 4> apa;
114  Bitfield<3, 0> dpb;
115  EndBitUnion(AA64ISAR1)
116 
117  BitUnion64(AA64MMFR0)
118  Bitfield<63, 60> ecv;
119  Bitfield<47, 44> exs;
120  Bitfield<43, 40> tgran4_2;
121  Bitfield<39, 36> tgran64_2;
122  Bitfield<35, 32> tgran16_2;
123  Bitfield<31, 28> tgran4;
124  Bitfield<27, 24> tgran64;
125  Bitfield<23, 20> tgran16;
126  Bitfield<19, 16> bigendEL0;
127  Bitfield<15, 12> snsmem;
128  Bitfield<11, 8> bigend;
129  Bitfield<7, 4> asidbits;
130  Bitfield<3, 0> parange;
131  EndBitUnion(AA64MMFR0)
132 
133  BitUnion64(AA64MMFR1)
134  Bitfield<31, 28> xnx;
135  Bitfield<27, 24> specsei;
136  Bitfield<23, 20> pan;
137  Bitfield<19, 16> lo;
138  Bitfield<15, 12> hpds;
139  Bitfield<11, 8> vh;
140  Bitfield<7, 4> vmidbits;
141  Bitfield<3, 0> hafdbs;
142  EndBitUnion(AA64MMFR1)
143 
144  BitUnion64(AA64MMFR2)
145  Bitfield<63, 60> e0pd;
146  Bitfield<59, 56> evt;
147  Bitfield<55, 52> bbm;
148  Bitfield<51, 48> ttl;
149  Bitfield<43, 40> fwb;
150  Bitfield<39, 36> ids;
151  Bitfield<35, 32> at;
152  Bitfield<31, 28> st;
153  Bitfield<27, 24> nv;
154  Bitfield<23, 20> ccidx;
155  Bitfield<19, 16> varange;
156  Bitfield<15, 12> iesb;
157  Bitfield<11, 8> lsm;
158  Bitfield<7, 4> uao;
159  Bitfield<3, 0> cnp;
160  EndBitUnion(AA64MMFR2)
161 
162  BitUnion64(AA64PFR0)
163  Bitfield<63, 60> csv3;
164  Bitfield<59, 56> csv2;
165  Bitfield<51, 48> dit;
166  Bitfield<47, 44> amu;
167  Bitfield<43, 40> mpam;
168  Bitfield<39, 36> sel2;
169  Bitfield<35, 32> sve;
170  Bitfield<31, 28> ras;
171  Bitfield<27, 24> gic;
172  Bitfield<23, 20> advsimd;
173  Bitfield<19, 16> fp;
174  Bitfield<15, 12> el3;
175  Bitfield<11, 8> el2;
176  Bitfield<7, 4> el1;
177  Bitfield<3, 0> el0;
178  EndBitUnion(AA64PFR0)
179 
180  BitUnion32(HDCR)
181  Bitfield<11> tdra;
182  Bitfield<10> tdosa;
183  Bitfield<9> tda;
184  Bitfield<8> tde;
185  Bitfield<7> hpme;
186  Bitfield<6> tpm;
187  Bitfield<5> tpmcr;
188  Bitfield<4, 0> hpmn;
189  EndBitUnion(HDCR)
190 
191  BitUnion32(HCPTR)
192  Bitfield<31> tcpac;
193  Bitfield<20> tta;
194  Bitfield<15> tase;
195  Bitfield<13> tcp13;
196  Bitfield<12> tcp12;
197  Bitfield<11> tcp11;
198  Bitfield<10> tcp10;
199  Bitfield<10> tfp; // AArch64
200  Bitfield<9> tcp9;
201  Bitfield<8> tcp8;
202  Bitfield<8> tz; // SVE
203  Bitfield<7> tcp7;
204  Bitfield<6> tcp6;
205  Bitfield<5> tcp5;
206  Bitfield<4> tcp4;
207  Bitfield<3> tcp3;
208  Bitfield<2> tcp2;
209  Bitfield<1> tcp1;
210  Bitfield<0> tcp0;
211  EndBitUnion(HCPTR)
212 
213  BitUnion32(HSTR)
214  Bitfield<17> tjdbx;
215  Bitfield<16> ttee;
216  Bitfield<15> t15;
217  Bitfield<13> t13;
218  Bitfield<12> t12;
219  Bitfield<11> t11;
220  Bitfield<10> t10;
221  Bitfield<9> t9;
222  Bitfield<8> t8;
223  Bitfield<7> t7;
224  Bitfield<6> t6;
225  Bitfield<5> t5;
226  Bitfield<4> t4;
227  Bitfield<3> t3;
228  Bitfield<2> t2;
229  Bitfield<1> t1;
230  Bitfield<0> t0;
231  EndBitUnion(HSTR)
232 
233  BitUnion64(HCR)
234  Bitfield<47> fien;
235  Bitfield<46> fwb;
236  Bitfield<45> nv2;
237  Bitfield<44> at;
238  Bitfield<43> nv1;
239  Bitfield<42> nv;
240  Bitfield<41> api;
241  Bitfield<40> apk;
242  Bitfield<38> miocnce;
243  Bitfield<37> tea;
244  Bitfield<36> terr;
245  Bitfield<35> tlor;
246  Bitfield<34> e2h; // AArch64
247  Bitfield<33> id;
248  Bitfield<32> cd;
249  Bitfield<31> rw; // AArch64
250  Bitfield<30> trvm; // AArch64
251  Bitfield<29> hcd; // AArch64
252  Bitfield<28> tdz; // AArch64
253  Bitfield<27> tge;
254  Bitfield<26> tvm;
255  Bitfield<25> ttlb;
256  Bitfield<24> tpu;
257  Bitfield<23> tpc;
258  Bitfield<22> tsw;
259  Bitfield<21> tac;
260  Bitfield<21> tacr; // AArch64
261  Bitfield<20> tidcp;
262  Bitfield<19> tsc;
263  Bitfield<18> tid3;
264  Bitfield<17> tid2;
265  Bitfield<16> tid1;
266  Bitfield<15> tid0;
267  Bitfield<14> twe;
268  Bitfield<13> twi;
269  Bitfield<12> dc;
270  Bitfield<11, 10> bsu;
271  Bitfield<9> fb;
272  Bitfield<8> va;
273  Bitfield<8> vse; // AArch64
274  Bitfield<7> vi;
275  Bitfield<6> vf;
276  Bitfield<5> amo;
277  Bitfield<4> imo;
278  Bitfield<3> fmo;
279  Bitfield<2> ptw;
280  Bitfield<1> swio;
281  Bitfield<0> vm;
282  EndBitUnion(HCR)
283 
284  BitUnion32(NSACR)
285  Bitfield<20> nstrcdis;
286  Bitfield<19> rfr;
287  Bitfield<15> nsasedis;
288  Bitfield<14> nsd32dis;
289  Bitfield<13> cp13;
290  Bitfield<12> cp12;
291  Bitfield<11> cp11;
292  Bitfield<10> cp10;
293  Bitfield<9> cp9;
294  Bitfield<8> cp8;
295  Bitfield<7> cp7;
296  Bitfield<6> cp6;
297  Bitfield<5> cp5;
298  Bitfield<4> cp4;
299  Bitfield<3> cp3;
300  Bitfield<2> cp2;
301  Bitfield<1> cp1;
302  Bitfield<0> cp0;
303  EndBitUnion(NSACR)
304 
305  BitUnion32(SCR)
306  Bitfield<21> fien;
307  Bitfield<20> nmea;
308  Bitfield<19> ease;
309  Bitfield<18> eel2; // AArch64 (Armv8.4-SecEL2)
310  Bitfield<17> api;
311  Bitfield<16> apk;
312  Bitfield<15> teer;
313  Bitfield<14> tlor;
314  Bitfield<13> twe;
315  Bitfield<12> twi;
316  Bitfield<11> st; // AArch64
317  Bitfield<10> rw; // AArch64
318  Bitfield<9> sif;
319  Bitfield<8> hce;
320  Bitfield<7> scd;
321  Bitfield<7> smd; // AArch64
322  Bitfield<6> nEt;
323  Bitfield<5> aw;
324  Bitfield<4> fw;
325  Bitfield<3> ea;
326  Bitfield<2> fiq;
327  Bitfield<1> irq;
328  Bitfield<0> ns;
329  EndBitUnion(SCR)
330 
331  BitUnion32(SCTLR)
332  Bitfield<31> enia; // ARMv8.3 PAuth
333  Bitfield<30> enib; // ARMv8.3 PAuth
334  Bitfield<30> te; // Thumb Exception Enable (AArch32 only)
335  Bitfield<29> afe; // Access flag enable (AArch32 only)
336  Bitfield<28> tre; // TEX remap enable (AArch32 only)
337  Bitfield<27> nmfi; // Non-maskable FIQ support (ARMv7 only)
338  Bitfield<27> enda; // ARMv8.3 PAuth
339  Bitfield<26> uci; // Enable EL0 access to DC CVAU, DC CIVAC,
340  // DC CVAC and IC IVAU instructions
341  // (AArch64 SCTLR_EL1 only)
342  Bitfield<25> ee; // Exception Endianness
343  Bitfield<24> e0e; // Endianness of explicit data accesses at EL0
344  // (AArch64 SCTLR_EL1 only)
345  Bitfield<23> span; // Set Priviledge Access Never on taking
346  // an exception
347  Bitfield<23> xp; // Extended page table enable (dropped in ARMv7)
348  Bitfield<22> u; // Alignment (dropped in ARMv7)
349  Bitfield<21> fi; // Fast interrupts configuration enable
350  // (ARMv7 only)
351  Bitfield<20> uwxn; // Unprivileged write permission implies EL1 XN
352  // (AArch32 only)
353  Bitfield<19> dz; // Divide by Zero fault enable
354  // (dropped in ARMv7)
355  Bitfield<19> wxn; // Write permission implies XN
356  Bitfield<18> ntwe; // Not trap WFE
357  // (ARMv8 AArch32 and AArch64 SCTLR_EL1 only)
358  Bitfield<18> rao2; // Read as one
359  Bitfield<16> ntwi; // Not trap WFI
360  // (ARMv8 AArch32 and AArch64 SCTLR_EL1 only)
361  Bitfield<16> rao3; // Read as one
362  Bitfield<15> uct; // Enable EL0 access to CTR_EL0
363  // (AArch64 SCTLR_EL1 only)
364  Bitfield<14> rr; // Round Robin select (ARMv7 only)
365  Bitfield<14> dze; // Enable EL0 access to DC ZVA
366  // (AArch64 SCTLR_EL1 only)
367  Bitfield<13> v; // Vectors bit (AArch32 only)
368  Bitfield<13> endb; // ARMv8.3 PAuth
369  Bitfield<12> i; // Instruction cache enable
370  Bitfield<11> z; // Branch prediction enable (ARMv7 only)
371  Bitfield<10> sw; // SWP/SWPB enable (ARMv7 only)
372  Bitfield<9, 8> rs; // Deprecated protection bits (dropped in ARMv7)
373  Bitfield<9> uma; // User mask access (AArch64 SCTLR_EL1 only)
374  Bitfield<8> sed; // SETEND disable
375  // (ARMv8 AArch32 and AArch64 SCTLR_EL1 only)
376  Bitfield<7> b; // Endianness support (dropped in ARMv7)
377  Bitfield<7> itd; // IT disable
378  // (ARMv8 AArch32 and AArch64 SCTLR_EL1 only)
379  Bitfield<6, 3> rao4; // Read as one
380  Bitfield<6> thee; // ThumbEE enable
381  // (ARMv8 AArch32 and AArch64 SCTLR_EL1 only)
382  Bitfield<5> cp15ben; // CP15 barrier enable
383  // (AArch32 and AArch64 SCTLR_EL1 only)
384  Bitfield<4> sa0; // Stack Alignment Check Enable for EL0
385  // (AArch64 SCTLR_EL1 only)
386  Bitfield<3> sa; // Stack Alignment Check Enable (AArch64 only)
387  Bitfield<2> c; // Cache enable
388  Bitfield<1> a; // Alignment check enable
389  Bitfield<0> m; // MMU enable
390  EndBitUnion(SCTLR)
391 
392  BitUnion32(CPACR)
393  Bitfield<1, 0> cp0;
394  Bitfield<3, 2> cp1;
395  Bitfield<5, 4> cp2;
396  Bitfield<7, 6> cp3;
397  Bitfield<9, 8> cp4;
398  Bitfield<11, 10> cp5;
399  Bitfield<13, 12> cp6;
400  Bitfield<15, 14> cp7;
401  Bitfield<17, 16> cp8;
402  Bitfield<17, 16> zen; // SVE
403  Bitfield<19, 18> cp9;
404  Bitfield<21, 20> cp10;
405  Bitfield<21, 20> fpen; // AArch64
406  Bitfield<23, 22> cp11;
407  Bitfield<25, 24> cp12;
408  Bitfield<27, 26> cp13;
409  Bitfield<29, 28> rsvd;
410  Bitfield<28> tta; // AArch64
411  Bitfield<30> d32dis;
412  Bitfield<31> asedis;
413  EndBitUnion(CPACR)
414 
415  BitUnion32(FSR)
416  Bitfield<3, 0> fsLow;
417  Bitfield<5, 0> status; // LPAE
418  Bitfield<7, 4> domain;
419  Bitfield<9> lpae;
420  Bitfield<10> fsHigh;
421  Bitfield<11> wnr;
422  Bitfield<12> ext;
423  Bitfield<13> cm; // LPAE
424  EndBitUnion(FSR)
425 
426  BitUnion32(FPSCR)
427  Bitfield<0> ioc;
428  Bitfield<1> dzc;
429  Bitfield<2> ofc;
430  Bitfield<3> ufc;
431  Bitfield<4> ixc;
432  Bitfield<7> idc;
433  Bitfield<8> ioe;
434  Bitfield<9> dze;
435  Bitfield<10> ofe;
436  Bitfield<11> ufe;
437  Bitfield<12> ixe;
438  Bitfield<15> ide;
439  Bitfield<18, 16> len;
440  Bitfield<19> fz16;
441  Bitfield<21, 20> stride;
442  Bitfield<23, 22> rMode;
443  Bitfield<24> fz;
444  Bitfield<25> dn;
445  Bitfield<26> ahp;
446  Bitfield<27> qc;
447  Bitfield<28> v;
448  Bitfield<29> c;
449  Bitfield<30> z;
450  Bitfield<31> n;
451  EndBitUnion(FPSCR)
452 
453  BitUnion32(FPEXC)
454  Bitfield<31> ex;
455  Bitfield<30> en;
456  Bitfield<29, 0> subArchDefined;
457  EndBitUnion(FPEXC)
458 
459  BitUnion32(MVFR0)
460  Bitfield<3, 0> advSimdRegisters;
461  Bitfield<7, 4> singlePrecision;
462  Bitfield<11, 8> doublePrecision;
463  Bitfield<15, 12> vfpExceptionTrapping;
464  Bitfield<19, 16> divide;
465  Bitfield<23, 20> squareRoot;
466  Bitfield<27, 24> shortVectors;
467  Bitfield<31, 28> roundingModes;
468  EndBitUnion(MVFR0)
469 
470  BitUnion32(MVFR1)
471  Bitfield<3, 0> flushToZero;
472  Bitfield<7, 4> defaultNaN;
473  Bitfield<11, 8> advSimdLoadStore;
474  Bitfield<15, 12> advSimdInteger;
475  Bitfield<19, 16> advSimdSinglePrecision;
476  Bitfield<23, 20> advSimdHalfPrecision;
477  Bitfield<27, 24> vfpHalfPrecision;
478  Bitfield<31, 28> raz;
479  EndBitUnion(MVFR1)
480 
481  BitUnion64(TTBCR)
482  // Short-descriptor translation table format
483  Bitfield<2, 0> n;
484  Bitfield<4> pd0;
485  Bitfield<5> pd1;
486  // Long-descriptor translation table format
487  Bitfield<2, 0> t0sz;
488  Bitfield<6> t2e;
489  Bitfield<7> epd0;
490  Bitfield<9, 8> irgn0;
491  Bitfield<11, 10> orgn0;
492  Bitfield<13, 12> sh0;
493  Bitfield<14> tg0;
494  Bitfield<18, 16> t1sz;
495  Bitfield<22> a1;
496  Bitfield<23> epd1;
497  Bitfield<25, 24> irgn1;
498  Bitfield<27, 26> orgn1;
499  Bitfield<29, 28> sh1;
500  Bitfield<30> tg1;
501  Bitfield<34, 32> ips;
502  Bitfield<36> as;
503  Bitfield<37> tbi0;
504  Bitfield<38> tbi1;
505  // Common
506  Bitfield<31> eae;
507  // TCR_EL2/3 (AArch64)
508  Bitfield<18, 16> ps;
509  Bitfield<20> tbi;
510  Bitfield<41> hpd0;
511  Bitfield<42> hpd1;
512  EndBitUnion(TTBCR)
513 
514  // Fields of TCR_EL{1,2,3} (mostly overlapping)
515  // TCR_EL1 is natively 64 bits, the others are 32 bits
516  BitUnion64(TCR)
517  Bitfield<5, 0> t0sz;
518  Bitfield<7> epd0; // EL1
519  Bitfield<9, 8> irgn0;
520  Bitfield<11, 10> orgn0;
521  Bitfield<13, 12> sh0;
522  Bitfield<15, 14> tg0;
523  Bitfield<18, 16> ps;
524  Bitfield<20> tbi; // EL2/EL3
525  Bitfield<21, 16> t1sz; // EL1
526  Bitfield<22> a1; // EL1
527  Bitfield<23> epd1; // EL1
528  Bitfield<24> hpd; // EL2/EL3, E2H=0
529  Bitfield<25, 24> irgn1; // EL1
530  Bitfield<27, 26> orgn1; // EL1
531  Bitfield<29, 28> sh1; // EL1
532  Bitfield<29> tbid; // EL2
533  Bitfield<31, 30> tg1; // EL1
534  Bitfield<34, 32> ips; // EL1
535  Bitfield<36> as; // EL1
536  Bitfield<37> tbi0; // EL1
537  Bitfield<38> tbi1; // EL1
538  Bitfield<39> ha;
539  Bitfield<40> hd;
540  Bitfield<41> hpd0;
541  Bitfield<42> hpd1;
542  Bitfield<51> tbid0; // EL1
543  Bitfield<52> tbid1; // EL1
544  EndBitUnion(TCR)
545 
546  BitUnion32(HTCR)
547  Bitfield<2, 0> t0sz;
548  Bitfield<9, 8> irgn0;
549  Bitfield<11, 10> orgn0;
550  Bitfield<13, 12> sh0;
551  Bitfield<24> hpd;
552  EndBitUnion(HTCR)
553 
554  BitUnion32(VTCR_t)
555  Bitfield<3, 0> t0sz;
556  Bitfield<4> s;
557  Bitfield<5, 0> t0sz64;
558  Bitfield<7, 6> sl0;
559  Bitfield<9, 8> irgn0;
560  Bitfield<11, 10> orgn0;
561  Bitfield<13, 12> sh0;
562  Bitfield<15, 14> tg0;
563  Bitfield<18, 16> ps; // Only defined for VTCR_EL2
564  Bitfield<21> ha; // Only defined for VTCR_EL2
565  Bitfield<22> hd; // Only defined for VTCR_EL2
566  EndBitUnion(VTCR_t)
567 
568  BitUnion32(PRRR)
569  Bitfield<1,0> tr0;
570  Bitfield<3,2> tr1;
571  Bitfield<5,4> tr2;
572  Bitfield<7,6> tr3;
573  Bitfield<9,8> tr4;
574  Bitfield<11,10> tr5;
575  Bitfield<13,12> tr6;
576  Bitfield<15,14> tr7;
577  Bitfield<16> ds0;
578  Bitfield<17> ds1;
579  Bitfield<18> ns0;
580  Bitfield<19> ns1;
581  Bitfield<24> nos0;
582  Bitfield<25> nos1;
583  Bitfield<26> nos2;
584  Bitfield<27> nos3;
585  Bitfield<28> nos4;
586  Bitfield<29> nos5;
587  Bitfield<30> nos6;
588  Bitfield<31> nos7;
589  EndBitUnion(PRRR)
590 
591  BitUnion32(NMRR)
592  Bitfield<1,0> ir0;
593  Bitfield<3,2> ir1;
594  Bitfield<5,4> ir2;
595  Bitfield<7,6> ir3;
596  Bitfield<9,8> ir4;
597  Bitfield<11,10> ir5;
598  Bitfield<13,12> ir6;
599  Bitfield<15,14> ir7;
600  Bitfield<17,16> or0;
601  Bitfield<19,18> or1;
602  Bitfield<21,20> or2;
603  Bitfield<23,22> or3;
604  Bitfield<25,24> or4;
605  Bitfield<27,26> or5;
606  Bitfield<29,28> or6;
607  Bitfield<31,30> or7;
608  EndBitUnion(NMRR)
609 
610  BitUnion32(CONTEXTIDR)
611  Bitfield<7,0> asid;
612  Bitfield<31,8> procid;
613  EndBitUnion(CONTEXTIDR)
614 
615  BitUnion32(L2CTLR)
616  Bitfield<2,0> sataRAMLatency;
617  Bitfield<4,3> reserved_4_3;
618  Bitfield<5> dataRAMSetup;
619  Bitfield<8,6> tagRAMLatency;
620  Bitfield<9> tagRAMSetup;
621  Bitfield<11,10> dataRAMSlice;
622  Bitfield<12> tagRAMSlice;
623  Bitfield<20,13> reserved_20_13;
624  Bitfield<21> eccandParityEnable;
625  Bitfield<22> reserved_22;
626  Bitfield<23> interptCtrlPresent;
627  Bitfield<25,24> numCPUs;
628  Bitfield<30,26> reserved_30_26;
629  Bitfield<31> l2rstDISABLE_monitor;
630  EndBitUnion(L2CTLR)
631 
632  BitUnion32(CTR)
633  Bitfield<3,0> iCacheLineSize;
634  Bitfield<13,4> raz_13_4;
635  Bitfield<15,14> l1IndexPolicy;
636  Bitfield<19,16> dCacheLineSize;
637  Bitfield<23,20> erg;
638  Bitfield<27,24> cwg;
639  Bitfield<28> raz_28;
640  Bitfield<31,29> format;
641  EndBitUnion(CTR)
642 
643  BitUnion32(PMSELR)
644  Bitfield<4, 0> sel;
645  EndBitUnion(PMSELR)
646 
647  BitUnion64(PAR)
648  // 64-bit format
649  Bitfield<63, 56> attr;
650  Bitfield<39, 12> pa;
651  Bitfield<11> lpae;
652  Bitfield<9> ns;
653  Bitfield<8, 7> sh;
654  Bitfield<0> f;
655  EndBitUnion(PAR)
656 
657  BitUnion32(ESR)
658  Bitfield<31, 26> ec;
659  Bitfield<25> il;
660  Bitfield<15, 0> imm16;
661  EndBitUnion(ESR)
662 
663  BitUnion32(CPTR)
664  Bitfield<31> tcpac;
665  Bitfield<20> tta;
666  Bitfield<13, 12> res1_13_12_el2;
667  Bitfield<10> tfp;
668  Bitfield<9> res1_9_el2;
669  Bitfield<8> res1_8_el2;
670  Bitfield<8> ez; // SVE (CPTR_EL3)
671  Bitfield<8> tz; // SVE (CPTR_EL2)
672  Bitfield<7, 0> res1_7_0_el2;
673  EndBitUnion(CPTR)
674 
675  BitUnion64(ZCR)
676  Bitfield<3, 0> len;
677  EndBitUnion(ZCR)
678 
679 }
680 
681 #endif // __ARCH_ARM_MISCREGS_TYPES_HH__
Bitfield< 13, 12 > ir6
Bitfield< 31 > asedis
Bitfield< 35, 32 > frintts
Bitfield< 31, 8 > procid
Bitfield< 23 > tpc
Bitfield< 3, 2 > tr1
Bitfield< 51 > tbid0
Bitfield< 11, 8 > bigend
Bitfield< 24 > fz
Bitfield< 9 > res1_9_el2
Bitfield< 9, 8 > irgn0
Bitfield< 55, 52 > ts
Bitfield< 7, 4 > vmidbits
Bitfield< 26 > tvm
Bitfield< 28 > v
Bitfield< 8 > hce
Bitfield< 11 > tcp11
Bitfield< 47, 44 > exs
Bitfield< 8 > tz
Bitfield< 20, 13 > reserved_20_13
Bitfield< 7 > i
Bitfield< 7 > hpme
Bitfield< 0 > m
Bitfield< 23, 20 > atomic
Bitfield< 29 > hcd
Bitfield< 31, 28 > roundingModes
Bitfield< 27 > enda
Bitfield< 2 > t2
Bitfield< 10 > fsHigh
Bitfield< 11 > z
Bitfield< 31 > eae
Bitfield< 9 > tagRAMSetup
Bitfield< 30 > trvm
Bitfield< 15, 14 > l1IndexPolicy
Bitfield< 45 > nv2
Bitfield< 6 > tpm
Bitfield< 21, 20 > stride
Bitfield< 27, 24 > shortVectors
Bitfield< 8 > a
Bitfield< 18 > eel2
Bitfield< 17 > tid2
Bitfield< 23, 20 > tgran16
Bitfield< 8, 7 > sh
Bitfield< 21 > tacr
Bitfield< 15, 12 > iesb
Bitfield< 47, 44 > dp
Bitfield< 29, 28 > or6
Bitfield< 8, 6 > aif
Bitfield< 31 > nos7
Bitfield< 5, 4 > tr2
Bitfield< 13 > twi
Bitfield< 0 > sp
Bitfield< 30 > te
Bitfield< 31, 28 > raz
Bitfield< 15, 14 > ir7
Bitfield< 43, 40 > fwb
Bitfield< 35, 32 > at
Bitfield< 15, 12 > sha2
Bitfield< 23 > span
Bitfield< 11, 8 > pmuver
Bitfield< 15, 12 > advSimdInteger
Bitfield< 43, 40 > sm4
Bitfield< 27 > tge
Bitfield< 16 > ttee
Bitfield< 7 > itd
Bitfield< 14 > dze
Bitfield< 26 > uci
Bitfield< 15 > t15
Bitfield< 7 > cp7
Bitfield< 4, 0 > hpmn
Bitfield< 35, 32 > tgran16_2
Bitfield< 12 > ext
Bitfield< 5 > pd1
Bitfield< 12 > cp12
Bitfield< 15, 12 > brps
Bitfield< 31, 28 > ras
Definition: ccregs.hh:41
Bitfield< 59, 56 > evt
Bitfield< 13 > t13
Bitfield< 20 > tidcp
Bitfield< 14 > twe
Bitfield< 7, 4 > el1
Bitfield< 4, 0 > mode
Bitfield< 30 > en
Bitfield< 23, 20 > wrps
EndBitUnion(CPSR) BitUnion64(AA64DFR0) Bitfield< 43
Bitfield< 0 > t0
Bitfield< 19, 16 > divide
Bitfield< 9 > lpae
Bitfield< 5 > dataRAMSetup
Bitfield< 13, 12 > sh0
Bitfield< 1 > cp1
Bitfield< 35 > tlor
Bitfield< 11, 8 > doublePrecision
Bitfield< 30 > nos6
Bitfield< 29 > afe
Bitfield< 11, 8 > vh
Bitfield< 23 > interptCtrlPresent
Bitfield< 4 > fw
Bitfield< 9, 8 > ir4
Bitfield< 35, 32 > sha3
Bitfield< 14 > rr
Bitfield< 16 > ds0
Bitfield< 8 > tde
Bitfield< 18 > ntwe
Bitfield< 39, 36 > tgran64_2
Bitfield< 31 > n
Bitfield< 15 > uct
Bitfield< 14 > nsd32dis
Bitfield< 22 > reserved_22
Bitfield< 8 > ioe
Bitfield< 6 > f
BitUnion32(CPSR) Bitfield< 31
Bitfield< 24 > e0e
Bitfield< 1 > dzc
Bitfield< 4 > cp4
Bitfield< 15, 12 > hpds
Bitfield< 10 > sw
Bitfield< 19, 18 > or1
Bitfield< 16 > tid1
Bitfield< 28 > raz_28
Bitfield< 5, 0 > status
Bitfield< 13 > endb
Bitfield< 11 > ufe
Bitfield< 43, 40 > mpam
Bitfield< 5 > cp5
Bitfield< 8 > t8
Bitfield< 27 > nmfi
Bitfield< 21 > eccandParityEnable
Bitfield< 7 > b
Bitfield< 7, 4 > apa
Bitfield< 10 > tdosa
Bitfield< 40 > apk
Bitfield< 2 > tcp2
Bitfield< 19 > rfr
Bitfield< 8 > cp8
Bitfield< 0 > ns
Bitfield< 21 > fi
Bitfield< 26 > ahp
Bitfield< 4 > tcp4
Bitfield< 23, 20 > lrcpc
Bitfield< 21 > tac
Bitfield< 18, 16 > t1sz
Bitfield< 30 > tg1
Bitfield< 3, 2 > el
Bitfield< 5 > tpmcr
Bitfield< 15 > teer
Bitfield< 14 > tg0
Bitfield< 2 > fiq
Bitfield< 3 > cp3
Bitfield< 4 > s
Bitfield< 22 > u
Bitfield< 5 > t5
Bitfield< 11, 8 > advSimdLoadStore
Bitfield< 13 > tcp13
Bitfield< 39, 36 > ids
Bitfield< 2 > cp2
Bitfield< 16 > rao3
Bitfield< 13, 12 > res1_13_12_el2
Bitfield< 11, 10 > tr5
Bitfield< 5 > cp15ben
Bitfield< 12 > ixe
Bitfield< 19, 16 > lo
Bitfield< 27 > q
Bitfield< 9 > tda
Bitfield< 26, 25 > it1
Bitfield< 55, 52 > bbm
Bitfield< 5 > aw
Bitfield< 8 > res1_8_el2
Bitfield< 9 > tcp9
Bitfield< 2 > ptw
Bitfield< 9 > d
Bitfield< 7 > smd
Bitfield< 27, 24 > tgran64
Bitfield< 29 > tbid
Bitfield< 0 > cp0
Bitfield< 16 > ntwi
Bitfield< 3 > t3
Bitfield< 25 > dn
Bitfield< 3 > sa
Bitfield< 19 > ns1
Bitfield< 39, 12 > pa
Bitfield< 20 > nmea
Bitfield< 42 > hpd1
Bitfield< 18, 16 > len
Bitfield< 11, 10 > orgn0
Bitfield< 35, 32 > pmsver
Bitfield< 3 > fmo
Bitfield< 15 > tase
Bitfield< 19 > wxn
Bitfield< 24 > nos0
Bitfield< 7, 4 > singlePrecision
Bitfield< 13 > cp13
Bitfield< 15, 12 > jscvt
Bitfield< 9, 8 > tr4
Bitfield< 10 > ofe
Bitfield< 9 > sif
Bitfield< 28 > nos4
Bitfield< 30 > d32dis
Bitfield< 7 > scd
Bitfield< 10 > t10
Bitfield< 27 > qc
Bitfield< 23, 20 > squareRoot
Bitfield< 7 > idc
Bitfield< 3, 0 > cnp
Bitfield< 7 > epd0
Bitfield< 23 > xp
Bitfield< 6, 3 > rao4
Bitfield< 11 > wnr
Bitfield< 21 > ss
Bitfield< 43 > nv1
Bitfield< 28 > tdz
Bitfield< 8 > ez
Bitfield< 59, 56 > tlb
Bitfield< 7, 4 > asidbits
Bitfield< 15, 12 > snsmem
Bitfield< 11, 8 > api
Bitfield< 29, 28 > rsvd
Bitfield< 27, 26 > or5
Bitfield< 39, 36 > sm3
Bitfield< 9 > cp9
Bitfield< 15, 0 > imm16
Bitfield< 52 > tbid1
Bitfield< 9 > uma
Bitfield< 7, 4 > tracever
Bitfield< 13, 4 > raz_13_4
Bitfield< 7, 4 > defaultNaN
Bitfield< 25, 24 > numCPUs
Bitfield< 31, 28 > tgran4
Bitfield< 5, 4 > ir2
Bitfield< 39 > ha
Bitfield< 23, 20 > ccidx
Bitfield< 27, 24 > nv
Bitfield< 29, 28 > sh1
Bitfield< 3, 0 > hafdbs
Bitfield< 8 > va
Bitfield< 3, 0 > aes
Bitfield< 19, 16 > varange
Bitfield< 2 > ofc
Bitfield< 27, 24 > gpa
Bitfield< 6 > t6
Bitfield< 20 > tta
Bitfield< 19, 16 > dCacheLineSize
Bitfield< 31, 28 > ctx_cmps
Bitfield< 25 > ee
Bitfield< 22 > tsw
Bitfield< 7, 6 > ir3
Bitfield< 7, 6 > tr3
Bitfield< 24 > j
Bitfield< 51, 48 > dit
Bitfield< 7, 0 > res1_7_0_el2
Bitfield< 7 > vi
Bitfield< 4 > imo
Bitfield< 11, 10 > bsu
Bitfield< 4 > ixc
Bitfield< 25, 24 > irgn1
Bitfield< 36 > as
Bitfield< 9 > e
Bitfield< 41 > hpd0
Bitfield< 3, 2 > ir1
Bitfield< 40 > hd
Bitfield< 25 > nos1
Bitfield< 3, 0 > debugver
Bitfield< 30, 26 > reserved_30_26
Bitfield< 6 > t2e
Bitfield< 19, 16 > ge
Bitfield< 7, 4 > uao
Bitfield< 15, 12 > el3
Bitfield< 10 > cp10
Bitfield< 1 > irq
Bitfield< 29 > c
Bitfield< 5, 0 > t0sz64
Bitfield< 6 > tcp6
Bitfield< 4, 3 > reserved_4_3
Bitfield< 9, 6 > daif
Bitfield< 1 > t1
Bitfield< 6 > vf
Bitfield< 17 > ds1
Bitfield< 37 > tbi0
Bitfield< 7, 4 > domain
Bitfield< 17, 16 > or0
Bitfield< 31, 29 > format
Bitfield< 31, 28 > st
Bitfield< 5 > amo
Bitfield< 19, 16 > advSimdSinglePrecision
Bitfield< 23, 20 > advSimdHalfPrecision
Bitfield< 26 > nos2
Bitfield< 17, 16 > zen
Bitfield< 51, 48 > fhm
Bitfield< 15, 12 > vfpExceptionTrapping
Bitfield< 9 > fb
Bitfield< 29 > nos5
Bitfield< 47, 44 > amu
Bitfield< 7, 6 > sl0
Bitfield< 18 > rao2
Bitfield< 3, 0 > dpb
Bitfield< 7 > tcp7
Bitfield< 22 > pan
Bitfield< 10 > tfp
Bitfield< 23, 20 > advsimd
Bitfield< 24 > hpd
Bitfield< 25, 24 > or4
Bitfield< 28 > tre
Bitfield< 15, 14 > tr7
Bitfield< 8, 6 > tagRAMLatency
Bitfield< 38 > miocnce
Bitfield< 11, 8 > el2
Bitfield< 4 > width
Bitfield< 19, 16 > crc32
Bitfield< 13, 12 > tr6
Bitfield< 27, 24 > gic
Bitfield< 19 > fz16
Bitfield< 31 > rw
Bitfield< 30 > enib
Bitfield< 2, 0 > t0sz
Bitfield< 18 > ns0
Bitfield< 10 > tcp10
Bitfield< 31, 30 > or7
Bitfield< 36 > terr
Bitfield< 24 > tpu
Bitfield< 27, 26 > orgn1
Bitfield< 13 > cm
Bitfield< 3, 0 > el0
Bitfield< 1 > swio
Bitfield< 34, 32 > ips
Bitfield< 11, 8 > lsm
Bitfield< 11, 8 > sha1
Bitfield< 7 > t7
Bitfield< 4 > t4
Bitfield< 27, 24 > vfpHalfPrecision
Bitfield< 34 > e2h
Bitfield< 5 > tcp5
Bitfield< 23, 22 > or3
Bitfield< 6 > cp6
Bitfield< 32 > cd
Bitfield< 12 > t12
Bitfield< 19 > tsc
Bitfield< 25 > ttlb
Bitfield< 11, 10 > dataRAMSlice
Bitfield< 8 > tcp8
Bitfield< 5 > t
Bitfield< 59, 56 > csv2
Bitfield< 15 > ide
Bitfield< 21, 20 > fpen
Bitfield< 0 > vm
Bitfield< 3 > tcp3
Bitfield< 3, 0 > parange
Bitfield< 9 > t9
Bitfield< 19, 16 > fp
Bitfield< 18, 16 > ps
Bitfield< 39, 36 > doublelock
Bitfield< 15 > nsasedis
Bitfield< 15 > tid0
Bitfield< 35, 32 > sve
Bitfield< 31 > l2rstDISABLE_monitor
Bitfield< 6 > thee
Bitfield< 9, 8 > rs
Bitfield< 39, 36 > sb
Bitfield< 11 > cp11
Bitfield< 31, 28 > gpi
Bitfield< 19, 16 > fcma
Bitfield< 4 > pd0
Bitfield< 27 > nos3
Bitfield< 19, 16 > bigendEL0
Bitfield< 23, 22 > rMode
Bitfield< 51, 48 > ttl
Bitfield< 3 > ufc
Bitfield< 0 > tcp0
Bitfield< 12 > tcp12
Bitfield< 3 > ea
Bitfield< 27, 24 > specsei
Bitfield< 22 > a1
Bitfield< 29, 0 > subArchDefined
Bitfield< 15, 10 > it2
Bitfield< 21, 20 > or2
Bitfield< 37 > tea
Bitfield< 31, 28 > rdm
Bitfield< 1 > tcp1
Bitfield< 20 > uwxn
Bitfield< 12 > dc
Bitfield< 20 > il
Bitfield< 12 > tagRAMSlice
Bitfield< 19 > dz
Bitfield< 8 > sed
Bitfield< 20 > tbi
Bitfield< 39, 36 > sel2
Bitfield< 43, 40 > tgran4_2
Bitfield< 18 > tid3
Bitfield< 11 > t11
Bitfield< 27, 24 > cwg
Bitfield< 6 > nEt
Bitfield< 23 > epd1
Bitfield< 38 > tbi1
Bitfield< 11, 10 > ir5
BitUnion64(CNTKCTL) Bitfield< 17 > evntis
Bitfield< 4 > sa0
Bitfield< 8 > vse
Bitfield< 19 > ease
Bitfield< 23, 20 > erg

Generated on Thu May 28 2020 16:11:02 for gem5 by doxygen 1.8.13