gem5 v24.0.0.0
Loading...
Searching...
No Matches
misc_types.hh
Go to the documentation of this file.
1/*
2 * Copyright (c) 2010-2024 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_REGS_MISC_TYPES_HH__
42#define __ARCH_ARM_REGS_MISC_TYPES_HH__
43
44#include "base/bitunion.hh"
45
46namespace gem5
47{
48
49namespace ArmISA
50{
52 Bitfield<31, 30> nz;
53 Bitfield<29> c;
54 Bitfield<28> v;
55 Bitfield<27> q;
56 Bitfield<26, 25> it1;
57 Bitfield<24> dit; // AArch64
58 Bitfield<23> uao; // AArch64
59 Bitfield<22> pan;
60 Bitfield<21> ss; // AArch64
61 Bitfield<20> il; // AArch64
62 Bitfield<19, 16> ge;
63 Bitfield<15, 10> it2;
64 Bitfield<9> d; // AArch64
65 Bitfield<9> e;
66 Bitfield<8> a;
67 Bitfield<7> i;
68 Bitfield<6> f;
69 Bitfield<8, 6> aif;
70 Bitfield<9, 6> daif; // AArch64
71 Bitfield<5> t;
72 Bitfield<4> width; // AArch64
73 Bitfield<3, 2> el; // AArch64
74 Bitfield<4, 0> mode;
75 Bitfield<0> sp; // AArch64
77
79 Bitfield<8> a;
80 Bitfield<7> i;
81 Bitfield<6> f;
83
84 BitUnion32(ISAR5)
85 Bitfield<31, 28> vcma;
86 Bitfield<27, 24> rdm;
87 Bitfield<19, 16> crc32;
88 Bitfield<15, 12> sha2;
89 Bitfield<11, 8> sha1;
90 Bitfield<7, 4> aes;
91 Bitfield<3, 0> sevl;
93
94 BitUnion32(ISAR6)
95 Bitfield<31, 28> clrbhb;
96 Bitfield<27, 24> i8mm;
97 Bitfield<23, 20> bf16;
98 Bitfield<19, 16> specres;
99 Bitfield<15, 12> sb;
100 Bitfield<11, 8> fhm;
101 Bitfield<7, 4> dp;
102 Bitfield<3, 0> jscvt;
104
105 BitUnion64(AA64DFR0)
106 Bitfield<43, 40> tracefilt;
107 Bitfield<39, 36> doublelock;
108 Bitfield<35, 32> pmsver;
109 Bitfield<31, 28> ctx_cmps;
110 Bitfield<23, 20> wrps;
111 Bitfield<15, 12> brps;
112 Bitfield<11, 8> pmuver;
113 Bitfield<7, 4> tracever;
114 Bitfield<3, 0> debugver;
115 EndBitUnion(AA64DFR0)
116
117 BitUnion64(AA64ISAR0)
118 Bitfield<63, 60> rndr;
119 Bitfield<59, 56> tlb;
120 Bitfield<55, 52> ts;
121 Bitfield<51, 48> fhm;
122 Bitfield<47, 44> dp;
123 Bitfield<43, 40> sm4;
124 Bitfield<39, 36> sm3;
125 Bitfield<35, 32> sha3;
126 Bitfield<31, 28> rdm;
127 Bitfield<27, 24> tme;
128 Bitfield<23, 20> atomic;
129 Bitfield<19, 16> crc32;
130 Bitfield<15, 12> sha2;
131 Bitfield<11, 8> sha1;
132 Bitfield<7, 4> aes;
133 EndBitUnion(AA64ISAR0)
134
135 BitUnion64(AA64ISAR1)
136 Bitfield<55, 52> i8mm;
137 Bitfield<43, 40> specres;
138 Bitfield<39, 36> sb;
139 Bitfield<35, 32> frintts;
140 Bitfield<31, 28> gpi;
141 Bitfield<27, 24> gpa;
142 Bitfield<23, 20> lrcpc;
143 Bitfield<19, 16> fcma;
144 Bitfield<15, 12> jscvt;
145 Bitfield<11, 8> api;
146 Bitfield<7, 4> apa;
147 Bitfield<3, 0> dpb;
148 EndBitUnion(AA64ISAR1)
149
150 BitUnion64(AA64MMFR0)
151 Bitfield<63, 60> ecv;
152 Bitfield<47, 44> exs;
153 Bitfield<43, 40> tgran4_2;
154 Bitfield<39, 36> tgran64_2;
155 Bitfield<35, 32> tgran16_2;
156 Bitfield<31, 28> tgran4;
157 Bitfield<27, 24> tgran64;
158 Bitfield<23, 20> tgran16;
159 Bitfield<19, 16> bigendEL0;
160 Bitfield<15, 12> snsmem;
161 Bitfield<11, 8> bigend;
162 Bitfield<7, 4> asidbits;
163 Bitfield<3, 0> parange;
164 EndBitUnion(AA64MMFR0)
165
166 BitUnion64(AA64MMFR1)
167 Bitfield<43, 40> hcx;
168 Bitfield<31, 28> xnx;
169 Bitfield<27, 24> specsei;
170 Bitfield<23, 20> pan;
171 Bitfield<19, 16> lo;
172 Bitfield<15, 12> hpds;
173 Bitfield<11, 8> vh;
174 Bitfield<7, 4> vmidbits;
175 Bitfield<3, 0> hafdbs;
176 EndBitUnion(AA64MMFR1)
177
178 BitUnion64(AA64MMFR2)
179 Bitfield<63, 60> e0pd;
180 Bitfield<59, 56> evt;
181 Bitfield<55, 52> bbm;
182 Bitfield<51, 48> ttl;
183 Bitfield<43, 40> fwb;
184 Bitfield<39, 36> ids;
185 Bitfield<35, 32> at;
186 Bitfield<31, 28> st;
187 Bitfield<27, 24> nv;
188 Bitfield<23, 20> ccidx;
189 Bitfield<19, 16> varange;
190 Bitfield<15, 12> iesb;
191 Bitfield<11, 8> lsm;
192 Bitfield<7, 4> uao;
193 Bitfield<3, 0> cnp;
194 EndBitUnion(AA64MMFR2)
195
196 BitUnion64(AA64MMFR3)
197 Bitfield<47, 44> anerr;
198 Bitfield<43, 40> snerr;
199 Bitfield<39, 36> d128_2;
200 Bitfield<35, 32> d128;
201 Bitfield<31, 28> mec;
202 Bitfield<27, 24> aie;
203 Bitfield<23, 20> s2poe;
204 Bitfield<19, 16> s1poe;
205 Bitfield<15, 12> s2pie;
206 Bitfield<11, 8> s1pie;
207 Bitfield<7, 4> sctlrx;
208 Bitfield<3, 0> tcrx;
209 EndBitUnion(AA64MMFR3)
210
211 BitUnion64(AA64PFR0)
212 Bitfield<63, 60> csv3;
213 Bitfield<59, 56> csv2;
214 Bitfield<51, 48> dit;
215 Bitfield<47, 44> amu;
216 Bitfield<43, 40> mpam;
217 Bitfield<39, 36> sel2;
218 Bitfield<35, 32> sve;
219 Bitfield<31, 28> ras;
220 Bitfield<27, 24> gic;
221 Bitfield<23, 20> advsimd;
222 Bitfield<19, 16> fp;
223 Bitfield<15, 12> el3;
224 Bitfield<11, 8> el2;
225 Bitfield<7, 4> el1;
226 Bitfield<3, 0> el0;
227 EndBitUnion(AA64PFR0)
228
229 BitUnion64(AA64PFR1)
230 Bitfield<27, 24> sme;
231 Bitfield<19, 16> mpamFrac;
232 EndBitUnion(AA64PFR1)
233
234 BitUnion64(AA64ZFR0)
235 Bitfield<59, 56> f64mm;
236 Bitfield<55, 52> f32mm;
237 Bitfield<47, 44> i8mm;
238 Bitfield<43, 40> sm4;
239 Bitfield<35, 32> sha3;
240 Bitfield<27, 24> b16b16;
241 Bitfield<23, 20> bf16;
242 Bitfield<19, 16> bitPerm;
243 Bitfield<7, 4> aes;
244 Bitfield<3, 0> sveVer;
245 EndBitUnion(AA64ZFR0)
246
247 BitUnion64(AA64SMFR0)
248 Bitfield<63> fa64;
249 Bitfield<59, 56> smEver;
250 Bitfield<55, 52> i16i64;
251 Bitfield<48> f64f64;
252 Bitfield<39, 36> i8i32;
253 Bitfield<35> f16f32;
254 Bitfield<34> b16f32;
255 Bitfield<32> f32f32;
256 EndBitUnion(AA64SMFR0)
257
258 BitUnion32(HDCR)
259 Bitfield<27> tdcc;
260 Bitfield<11> tdra;
261 Bitfield<10> tdosa;
262 Bitfield<9> tda;
263 Bitfield<8> tde;
264 Bitfield<7> hpme;
265 Bitfield<6> tpm;
266 Bitfield<5> tpmcr;
267 Bitfield<4, 0> hpmn;
269
270 BitUnion32(HCPTR)
271 Bitfield<31> tcpac;
272 Bitfield<20> tta;
273 Bitfield<15> tase;
274 Bitfield<13> tcp13;
275 Bitfield<12> tcp12;
276 Bitfield<11> tcp11;
277 Bitfield<10> tcp10;
278 Bitfield<10> tfp; // AArch64
279 Bitfield<9> tcp9;
280 Bitfield<8> tcp8;
281 Bitfield<8> tz; // SVE
282 Bitfield<7> tcp7;
283 Bitfield<6> tcp6;
284 Bitfield<5> tcp5;
285 Bitfield<4> tcp4;
286 Bitfield<3> tcp3;
287 Bitfield<2> tcp2;
288 Bitfield<1> tcp1;
289 Bitfield<0> tcp0;
291
292 BitUnion32(HSTR)
293 Bitfield<17> tjdbx;
294 Bitfield<16> ttee;
295 Bitfield<15> t15;
296 Bitfield<13> t13;
297 Bitfield<12> t12;
298 Bitfield<11> t11;
299 Bitfield<10> t10;
300 Bitfield<9> t9;
301 Bitfield<8> t8;
302 Bitfield<7> t7;
303 Bitfield<6> t6;
304 Bitfield<5> t5;
305 Bitfield<4> t4;
306 Bitfield<3> t3;
307 Bitfield<2> t2;
308 Bitfield<1> t1;
309 Bitfield<0> t0;
311
312 BitUnion64(HCR)
313 Bitfield<55> ttlbos;
314 Bitfield<54> ttlbis;
315 Bitfield<52> tocu;
316 Bitfield<50> ticab;
317 Bitfield<49> tid4;
318 Bitfield<47> fien;
319 Bitfield<46> fwb;
320 Bitfield<45> nv2;
321 Bitfield<44> at;
322 Bitfield<43> nv1;
323 Bitfield<42> nv;
324 Bitfield<41> api;
325 Bitfield<40> apk;
326 Bitfield<38> miocnce;
327 Bitfield<37> tea;
328 Bitfield<36> terr;
329 Bitfield<35> tlor;
330 Bitfield<34> e2h; // AArch64
331 Bitfield<33> id;
332 Bitfield<32> cd;
333 Bitfield<31> rw; // AArch64
334 Bitfield<30> trvm; // AArch64
335 Bitfield<29> hcd; // AArch64
336 Bitfield<28> tdz; // AArch64
337 Bitfield<27> tge;
338 Bitfield<26> tvm;
339 Bitfield<25> ttlb;
340 Bitfield<24> tpu;
341 Bitfield<23> tpc;
342 Bitfield<22> tsw;
343 Bitfield<21> tac;
344 Bitfield<21> tacr; // AArch64
345 Bitfield<20> tidcp;
346 Bitfield<19> tsc;
347 Bitfield<18> tid3;
348 Bitfield<17> tid2;
349 Bitfield<16> tid1;
350 Bitfield<15> tid0;
351 Bitfield<14> twe;
352 Bitfield<13> twi;
353 Bitfield<12> dc;
354 Bitfield<11, 10> bsu;
355 Bitfield<9> fb;
356 Bitfield<8> va;
357 Bitfield<8> vse; // AArch64
358 Bitfield<7> vi;
359 Bitfield<6> vf;
360 Bitfield<5> amo;
361 Bitfield<4> imo;
362 Bitfield<3> fmo;
363 Bitfield<2> ptw;
364 Bitfield<1> swio;
365 Bitfield<0> vm;
367
368 BitUnion32(NSACR)
369 Bitfield<20> nstrcdis;
370 Bitfield<19> rfr;
371 Bitfield<15> nsasedis;
372 Bitfield<14> nsd32dis;
373 Bitfield<13> cp13;
374 Bitfield<12> cp12;
375 Bitfield<11> cp11;
376 Bitfield<10> cp10;
377 Bitfield<9> cp9;
378 Bitfield<8> cp8;
379 Bitfield<7> cp7;
380 Bitfield<6> cp6;
381 Bitfield<5> cp5;
382 Bitfield<4> cp4;
383 Bitfield<3> cp3;
384 Bitfield<2> cp2;
385 Bitfield<1> cp1;
386 Bitfield<0> cp0;
388
389 BitUnion64(SCR)
390 Bitfield<44> sctlr2En;
391 Bitfield<43> tcr2En;
392 Bitfield<40> trndr;
393 Bitfield<38> hxen;
394 Bitfield<27> fgten;
395 Bitfield<21> fien;
396 Bitfield<20> nmea;
397 Bitfield<19> ease;
398 Bitfield<18> eel2; // AArch64 (Armv8.4-SecEL2)
399 Bitfield<17> api;
400 Bitfield<16> apk;
401 Bitfield<15> teer;
402 Bitfield<14> tlor;
403 Bitfield<13> twe;
404 Bitfield<12> twi;
405 Bitfield<11> st; // AArch64
406 Bitfield<10> rw; // AArch64
407 Bitfield<9> sif;
408 Bitfield<8> hce;
409 Bitfield<7> scd;
410 Bitfield<7> smd; // AArch64
411 Bitfield<6> nEt;
412 Bitfield<5> aw;
413 Bitfield<4> fw;
414 Bitfield<3> ea;
415 Bitfield<2> fiq;
416 Bitfield<1> irq;
417 Bitfield<0> ns;
419
420 BitUnion64(SCTLR)
421 Bitfield<31> enia; // ARMv8.3 PAuth
422 Bitfield<30> enib; // ARMv8.3 PAuth
423 Bitfield<30> te; // Thumb Exception Enable (AArch32 only)
424 Bitfield<29> afe; // Access flag enable (AArch32 only)
425 Bitfield<28> tre; // TEX remap enable (AArch32 only)
426 Bitfield<27> nmfi; // Non-maskable FIQ support (ARMv7 only)
427 Bitfield<27> enda; // ARMv8.3 PAuth
428 Bitfield<26> uci; // Enable EL0 access to DC CVAU, DC CIVAC,
429 // DC CVAC and IC IVAU instructions
430 // (AArch64 SCTLR_EL1 only)
431 Bitfield<25> ee; // Exception Endianness
432 Bitfield<24> e0e; // Endianness of explicit data accesses at EL0
433 // (AArch64 SCTLR_EL1 only)
434 Bitfield<23> span; // Set Priviledge Access Never on taking
435 // an exception
436 Bitfield<23> xp; // Extended page table enable
437 // (dropped in ARMv7)
438 Bitfield<22> u; // Alignment (dropped in ARMv7)
439 Bitfield<21> fi; // Fast interrupts configuration enable
440 // (ARMv7 only)
441 Bitfield<20> uwxn; // Unprivileged write permission implies EL1 XN
442 // (AArch32 only)
443 Bitfield<19> dz; // Divide by Zero fault enable
444 // (dropped in ARMv7)
445 Bitfield<19> wxn; // Write permission implies XN
446 Bitfield<18> ntwe; // Not trap WFE
447 // (ARMv8 AArch32 and AArch64 SCTLR_EL1 only)
448 Bitfield<18> rao2; // Read as one
449 Bitfield<16> ntwi; // Not trap WFI
450 // (ARMv8 AArch32 and AArch64 SCTLR_EL1 only)
451 Bitfield<16> rao3; // Read as one
452 Bitfield<15> uct; // Enable EL0 access to CTR_EL0
453 // (AArch64 SCTLR_EL1 only)
454 Bitfield<14> rr; // Round Robin select (ARMv7 only)
455 Bitfield<14> dze; // Enable EL0 access to DC ZVA
456 // (AArch64 SCTLR_EL1 only)
457 Bitfield<13> v; // Vectors bit (AArch32 only)
458 Bitfield<13> endb; // ARMv8.3 PAuth
459 Bitfield<12> i; // Instruction cache enable
460 Bitfield<11> z; // Branch prediction enable (ARMv7 only)
461 Bitfield<10> sw; // SWP/SWPB enable (ARMv7 only)
462 Bitfield<9, 8> rs; // Deprecated protection bits
463 // (dropped in ARMv7)
464 Bitfield<9> uma; // User mask access (AArch64 SCTLR_EL1 only)
465 Bitfield<8> sed; // SETEND disable
466 // (ARMv8 AArch32 and AArch64 SCTLR_EL1 only)
467 Bitfield<7> b; // Endianness support (dropped in ARMv7)
468 Bitfield<7> itd; // IT disable
469 // (ARMv8 AArch32 and AArch64 SCTLR_EL1 only)
470 Bitfield<6, 3> rao4; // Read as one
471 Bitfield<5> cp15ben; // CP15 barrier enable
472 // (AArch32 and AArch64 SCTLR_EL1 only)
473 Bitfield<4> sa0; // Stack Alignment Check Enable for EL0
474 // (AArch64 SCTLR_EL1 only)
475 Bitfield<3> sa; // Stack Alignment Check Enable (AArch64 only)
476 Bitfield<2> c; // Cache enable
477 Bitfield<1> a; // Alignment check enable
478 Bitfield<0> m; // MMU enable
480
481 BitUnion32(CPACR)
482 Bitfield<1, 0> cp0;
483 Bitfield<3, 2> cp1;
484 Bitfield<5, 4> cp2;
485 Bitfield<7, 6> cp3;
486 Bitfield<9, 8> cp4;
487 Bitfield<11, 10> cp5;
488 Bitfield<13, 12> cp6;
489 Bitfield<15, 14> cp7;
490 Bitfield<17, 16> cp8;
491 Bitfield<17, 16> zen; // SVE
492 Bitfield<19, 18> cp9;
493 Bitfield<21, 20> cp10;
494 Bitfield<21, 20> fpen; // AArch64
495 Bitfield<23, 22> cp11;
496 Bitfield<25, 24> smen; // SME
497 Bitfield<25, 24> cp12;
498 Bitfield<27, 26> cp13;
499 Bitfield<29, 28> rsvd;
500 Bitfield<28> tta; // AArch64
501 Bitfield<30> d32dis;
502 Bitfield<31> asedis;
504
505 BitUnion32(FSR)
506 Bitfield<3, 0> fsLow;
507 Bitfield<5, 0> status; // LPAE
508 Bitfield<7, 4> domain;
509 Bitfield<9> lpae;
510 Bitfield<10> fsHigh;
511 Bitfield<11> wnr;
512 Bitfield<12> ext;
513 Bitfield<13> cm; // LPAE
515
516 BitUnion32(FPSCR)
517 Bitfield<0> ioc;
518 Bitfield<1> dzc;
519 Bitfield<2> ofc;
520 Bitfield<3> ufc;
521 Bitfield<4> ixc;
522 Bitfield<7> idc;
523 Bitfield<8> ioe;
524 Bitfield<9> dze;
525 Bitfield<10> ofe;
526 Bitfield<11> ufe;
527 Bitfield<12> ixe;
528 Bitfield<15> ide;
529 Bitfield<18, 16> len;
530 Bitfield<19> fz16;
531 Bitfield<21, 20> stride;
532 Bitfield<23, 22> rMode;
533 Bitfield<24> fz;
534 Bitfield<25> dn;
535 Bitfield<26> ahp;
536 Bitfield<27> qc;
537 Bitfield<28> v;
538 Bitfield<29> c;
539 Bitfield<30> z;
540 Bitfield<31> n;
542
543 BitUnion32(FPEXC)
544 Bitfield<31> ex;
545 Bitfield<30> en;
546 Bitfield<29, 0> subArchDefined;
548
549 BitUnion32(MVFR0)
550 Bitfield<3, 0> advSimdRegisters;
551 Bitfield<7, 4> singlePrecision;
552 Bitfield<11, 8> doublePrecision;
553 Bitfield<15, 12> vfpExceptionTrapping;
554 Bitfield<19, 16> divide;
555 Bitfield<23, 20> squareRoot;
556 Bitfield<27, 24> shortVectors;
557 Bitfield<31, 28> roundingModes;
559
560 BitUnion32(MVFR1)
561 Bitfield<3, 0> flushToZero;
562 Bitfield<7, 4> defaultNaN;
563 Bitfield<11, 8> advSimdLoadStore;
564 Bitfield<15, 12> advSimdInteger;
565 Bitfield<19, 16> advSimdSinglePrecision;
566 Bitfield<23, 20> advSimdHalfPrecision;
567 Bitfield<27, 24> vfpHalfPrecision;
568 Bitfield<31, 28> raz;
570
571 BitUnion64(TTBCR)
572 // Short-descriptor translation table format
573 Bitfield<2, 0> n;
574 Bitfield<4> pd0;
575 Bitfield<5> pd1;
576 // Long-descriptor translation table format
577 Bitfield<2, 0> t0sz;
578 Bitfield<6> t2e;
579 Bitfield<7> epd0;
580 Bitfield<9, 8> irgn0;
581 Bitfield<11, 10> orgn0;
582 Bitfield<13, 12> sh0;
583 Bitfield<14> tg0;
584 Bitfield<18, 16> t1sz;
585 Bitfield<22> a1;
586 Bitfield<23> epd1;
587 Bitfield<25, 24> irgn1;
588 Bitfield<27, 26> orgn1;
589 Bitfield<29, 28> sh1;
590 Bitfield<30> tg1;
591 Bitfield<34, 32> ips;
592 Bitfield<36> as;
593 Bitfield<37> tbi0;
594 Bitfield<38> tbi1;
595 // Common
596 Bitfield<31> eae;
597 // TCR_EL2/3 (AArch64)
598 Bitfield<18, 16> ps;
599 Bitfield<20> tbi;
600 Bitfield<41> hpd0;
601 Bitfield<42> hpd1;
603
604 // Fields of TCR_EL{1,2,3} (mostly overlapping)
605 // TCR_EL1 is natively 64 bits, the others are 32 bits
606 BitUnion64(TCR)
607 Bitfield<5, 0> t0sz;
608 Bitfield<7> epd0; // EL1
609 Bitfield<9, 8> irgn0;
610 Bitfield<11, 10> orgn0;
611 Bitfield<13, 12> sh0;
612 Bitfield<15, 14> tg0;
613 Bitfield<18, 16> ps;
614 Bitfield<20> tbi; // EL2/EL3
615 Bitfield<21, 16> t1sz; // EL1
616 Bitfield<22> a1; // EL1
617 Bitfield<23> epd1; // EL1
618 Bitfield<24> hpd; // EL2/EL3, E2H=0
619 Bitfield<25, 24> irgn1; // EL1
620 Bitfield<27, 26> orgn1; // EL1
621 Bitfield<29, 28> sh1; // EL1
622 Bitfield<29> tbid; // EL2
623 Bitfield<31, 30> tg1; // EL1
624 Bitfield<34, 32> ips; // EL1
625 Bitfield<36> as; // EL1
626 Bitfield<37> tbi0; // EL1
627 Bitfield<38> tbi1; // EL1
628 Bitfield<39> ha;
629 Bitfield<40> hd;
630 Bitfield<41> hpd0;
631 Bitfield<42> hpd1;
632 Bitfield<51> tbid0; // EL1
633 Bitfield<52> tbid1; // EL1
635
636 BitUnion32(HTCR)
637 Bitfield<2, 0> t0sz;
638 Bitfield<9, 8> irgn0;
639 Bitfield<11, 10> orgn0;
640 Bitfield<13, 12> sh0;
641 Bitfield<24> hpd;
643
644 BitUnion32(VTCR_t)
645 Bitfield<3, 0> t0sz;
646 Bitfield<4> s;
647 Bitfield<5, 0> t0sz64;
648 Bitfield<7, 6> sl0;
649 Bitfield<9, 8> irgn0;
650 Bitfield<11, 10> orgn0;
651 Bitfield<13, 12> sh0;
652 Bitfield<15, 14> tg0;
653 Bitfield<18, 16> ps; // Only defined for VTCR_EL2
654 Bitfield<19> vs; // Only defined for VTCR_EL2
655 Bitfield<21> ha; // Only defined for VTCR_EL2
656 Bitfield<22> hd; // Only defined for VTCR_EL2
658
659 BitUnion32(PRRR)
660 Bitfield<1,0> tr0;
661 Bitfield<3,2> tr1;
662 Bitfield<5,4> tr2;
663 Bitfield<7,6> tr3;
664 Bitfield<9,8> tr4;
665 Bitfield<11,10> tr5;
666 Bitfield<13,12> tr6;
667 Bitfield<15,14> tr7;
668 Bitfield<16> ds0;
669 Bitfield<17> ds1;
670 Bitfield<18> ns0;
671 Bitfield<19> ns1;
672 Bitfield<24> nos0;
673 Bitfield<25> nos1;
674 Bitfield<26> nos2;
675 Bitfield<27> nos3;
676 Bitfield<28> nos4;
677 Bitfield<29> nos5;
678 Bitfield<30> nos6;
679 Bitfield<31> nos7;
681
682 BitUnion32(NMRR)
683 Bitfield<1,0> ir0;
684 Bitfield<3,2> ir1;
685 Bitfield<5,4> ir2;
686 Bitfield<7,6> ir3;
687 Bitfield<9,8> ir4;
688 Bitfield<11,10> ir5;
689 Bitfield<13,12> ir6;
690 Bitfield<15,14> ir7;
691 Bitfield<17,16> or0;
692 Bitfield<19,18> or1;
693 Bitfield<21,20> or2;
694 Bitfield<23,22> or3;
695 Bitfield<25,24> or4;
696 Bitfield<27,26> or5;
697 Bitfield<29,28> or6;
698 Bitfield<31,30> or7;
700
701 BitUnion32(CONTEXTIDR)
702 Bitfield<7,0> asid;
703 Bitfield<31,8> procid;
704 EndBitUnion(CONTEXTIDR)
705
706 BitUnion32(L2CTLR)
707 Bitfield<2,0> sataRAMLatency;
708 Bitfield<4,3> reserved_4_3;
709 Bitfield<5> dataRAMSetup;
710 Bitfield<8,6> tagRAMLatency;
711 Bitfield<9> tagRAMSetup;
712 Bitfield<11,10> dataRAMSlice;
713 Bitfield<12> tagRAMSlice;
714 Bitfield<20,13> reserved_20_13;
715 Bitfield<21> eccandParityEnable;
716 Bitfield<22> reserved_22;
717 Bitfield<23> interptCtrlPresent;
718 Bitfield<25,24> numCPUs;
719 Bitfield<30,26> reserved_30_26;
722
723 BitUnion32(CTR)
724 Bitfield<3,0> iCacheLineSize;
725 Bitfield<13,4> raz_13_4;
726 Bitfield<15,14> l1IndexPolicy;
727 Bitfield<19,16> dCacheLineSize;
728 Bitfield<23,20> erg;
729 Bitfield<27,24> cwg;
730 Bitfield<28> raz_28;
731 Bitfield<31,29> format;
733
734 BitUnion32(PMSELR)
735 Bitfield<4, 0> sel;
737
738 BitUnion64(PAR)
739 // 64-bit format
740 Bitfield<63, 56> attr;
741 Bitfield<39, 12> pa;
742 Bitfield<11> lpae;
743 Bitfield<9> ns;
744 Bitfield<9> s;
745 Bitfield<8, 7> sh;
746 Bitfield<8> ptw;
747 Bitfield<6, 1> fst;
748 Bitfield<6> fs5;
749 Bitfield<5, 1> fs4_0;
750 Bitfield<0> f;
752
753 BitUnion32(ESR)
754 Bitfield<31, 26> ec;
755 Bitfield<25> il;
756 Bitfield<24, 0> iss;
757
758 // Generic Condition ISS
759 // Used by exception syndromes holding the condition code of
760 // the trapped instruction. TODO: We should really have a
761 // different SubBitUnion per exception type and avoid
762 // such generic sub-fields
763 SubBitUnion(cond_iss, 24, 0)
764 Bitfield<24> cv;
765 Bitfield<23, 20> cond;
766 Bitfield<19, 0> iss;
768
769 // Data Abort ISS
770 SubBitUnion(data_abort_iss, 24, 0)
771 Bitfield<24> isv;
772 Bitfield<23, 22> sas;
773 Bitfield<21> sse;
774 Bitfield<20, 16> srt;
775 Bitfield<15> sf;
776 Bitfield<14> ar;
777 Bitfield<13> vncr;
778 Bitfield<10> fnv;
779 Bitfield<9> ea;
780 Bitfield<8> cm;
781 Bitfield<7> s1ptw;
782 Bitfield<6> wnr;
783 Bitfield<5, 0> dfsc;
784 EndSubBitUnion(data_abort_iss)
785
786 // Instruction Abort ISS
787 SubBitUnion(instruction_abort_iss, 24, 0)
788 Bitfield<12, 11> set;
789 Bitfield<10> fnv;
790 Bitfield<9> ea;
791 Bitfield<7> s1ptw;
792 Bitfield<5, 0> ifsc;
793 EndSubBitUnion(instruction_abort_iss)
794
795 // Software Step ISS
796 SubBitUnion(software_step_iss, 24, 0)
797 Bitfield<24> isv;
798 Bitfield<6> ex;
799 Bitfield<5, 0> ifsc;
800 EndSubBitUnion(software_step_iss)
801
802 // Watchpoint ISS
803 SubBitUnion(watchpoint_iss, 24, 0)
804 Bitfield<13> vncr;
805 Bitfield<8> cm;
806 Bitfield<6> wnr;
807 Bitfield<5, 0> dfsc;
808 EndSubBitUnion(watchpoint_iss)
809 EndBitUnion(ESR)
810
811 BitUnion32(CPTR)
812 Bitfield<31> tcpac;
813 Bitfield<30> tam;
814 Bitfield<28> tta_e2h;
815 Bitfield<25, 24> smen;
816 Bitfield<21, 20> fpen;
817 Bitfield<20> tta;
818 Bitfield<17, 16> zen;
819 Bitfield<13, 13> res1_13_el2;
820 Bitfield<12, 12> res1_12_el2;
821 Bitfield<12> esm; // SME (CPTR_EL3)
822 Bitfield<12> tsm; // SME (CPTR_EL2)
823 Bitfield<10> tfp;
824 Bitfield<9> res1_9_el2;
825 Bitfield<8> res1_8_el2;
826 Bitfield<8> ez; // SVE (CPTR_EL3)
827 Bitfield<8> tz; // SVE (CPTR_EL2)
828 Bitfield<7, 0> res1_7_0_el2;
830
831 BitUnion64(ZCR)
832 Bitfield<3, 0> len;
834
835 BitUnion64(SMCR)
836 Bitfield<63, 32> res0_63_32;
837 Bitfield<31, 31> fa64;
838 Bitfield<30, 9> res0_30_9;
839 Bitfield<8, 4> razwi_8_4;
840 Bitfield<3, 0> len;
842
843 BitUnion64(SVCR)
844 Bitfield<63, 2> res0_63_2;
845 Bitfield<1, 1> za;
846 Bitfield<0, 0> sm;
848
849 BitUnion64(SMIDR)
850 Bitfield<63, 32> res0_63_32;
851 Bitfield<31, 24> implementer;
852 Bitfield<23, 16> revision;
853 Bitfield<15, 15> smps;
854 Bitfield<14, 12> res0_14_12;
855 Bitfield<11, 0> affinity;
857
858 BitUnion64(SMPRI)
859 Bitfield<63, 4> res0_63_4;
860 Bitfield<3, 0> priority;
862
863 BitUnion32(OSL)
864 Bitfield<64, 4> res0;
865 Bitfield<3> oslm_3;
866 Bitfield<2> nTT;
867 Bitfield<1> oslk;
868 Bitfield<0> oslm_0;
870
871 BitUnion64(DBGBCR)
872 Bitfield<63, 24> res0_2;
873 Bitfield<23, 20> bt;
874 Bitfield<19, 16> lbn;
875 Bitfield<15, 14> ssc;
876 Bitfield<13> hmc;
877 Bitfield<12, 9> res0_1;
878 Bitfield<8, 5> bas;
879 Bitfield<4, 3> res0_0;
880 Bitfield<2, 1> pmc;
881 Bitfield<0> e;
883
884 BitUnion64(DBGWCR)
885 Bitfield<63, 29> res0_2;
886 Bitfield<28, 24> mask;
887 Bitfield<23, 21> res0_1;
888 Bitfield<20> wt;
889 Bitfield<19, 16> lbn;
890 Bitfield<15, 14> ssc;
891 Bitfield<13> hmc;
892 Bitfield<12, 5> bas;
893 Bitfield<4, 3> lsv;
894 Bitfield<2, 1> pac;
895 Bitfield<0> e;
897
898 BitUnion32(DBGDS32)
899 Bitfield<31> tfo;
900 Bitfield<30> rxfull;
901 Bitfield<29> txfull;
902 Bitfield<28> res0_5;
903 Bitfield<27> rxo;
904 Bitfield<26> txu;
905 Bitfield<25, 24> res0_4;
906 Bitfield<23, 22> intdis;
907 Bitfield<21> tda;
908 Bitfield<20> res0_3;
909 Bitfield<19> sc2;
910 Bitfield<18> ns;
911 Bitfield<17> spniddis;
912 Bitfield<16> spiddis;
913 Bitfield<15> mdbgen;
914 Bitfield<14> hde;
915 Bitfield<13> res0_;
916 Bitfield<12> udccdis;
917 Bitfield<12> tdcc;
918 Bitfield<11, 7> res0_2;
919 Bitfield<6> err;
920 Bitfield<5, 2> moe;
921 Bitfield<1, 0> res0_1;
922 EndBitUnion(DBGDS32)
923
924 BitUnion32(DBGVCR)
925 Bitfield<31> nsf;
926 Bitfield<30> nsi;
927 Bitfield<29> res0_5;
928 Bitfield<28> nsd;
929 Bitfield<27> nsp;
930 Bitfield<26> nss;
931 Bitfield<25> nsu;
932 Bitfield<24, 16> res0_4;
933 Bitfield<15> mf;
934 Bitfield<14> mi;
935 Bitfield<13> res0_3;
936 Bitfield<12> md;
937 Bitfield<11> mp;
938 Bitfield<10> ms;
939 Bitfield<9,8> res0_2;
940 Bitfield<7> sf;
941 Bitfield<6> si;
942 Bitfield<5> res0_1;
943 Bitfield<4> sd;
944 Bitfield<3> sp;
945 Bitfield<2> ss;
946 Bitfield<1> su;
947 Bitfield<0> res0_0;
949
950 BitUnion32(DEVID)
951 Bitfield<31,28> cidmask;
952 Bitfield<27,24> auxregs;
953 Bitfield<23,20> doublelock;
954 Bitfield<19,16> virtextns;
955 Bitfield<15,12> vectorcatch;
956 Bitfield<11,8> bpaddremask;
957 Bitfield<7,4> wpaddrmask;
958 Bitfield<3,0> pcsample;
960
961 BitUnion64(HFGITR)
962 Bitfield<54> dccvac;
963 Bitfield<53> svcEL1;
964 Bitfield<52> svcEL0;
965 Bitfield<51> eret;
966 Bitfield<47> tlbivaale1;
967 Bitfield<46> tlbivale1;
968 Bitfield<45> tlbivaae1;
969 Bitfield<44> tlbiaside1;
970 Bitfield<43> tlbivae1;
971 Bitfield<42> tlbivmalle1;
972 Bitfield<41> tlbirvaale1;
973 Bitfield<40> tlbirvale1;
974 Bitfield<39> tlbirvaae1;
975 Bitfield<38> tlbirvae1;
976 Bitfield<37> tlbirvaale1is;
977 Bitfield<36> tlbirvale1is;
978 Bitfield<35> tlbirvaae1is;
979 Bitfield<34> tlbirvae1is;
980 Bitfield<33> tlbivaale1is;
981 Bitfield<32> tlbivale1is;
982 Bitfield<31> tlbivaae1is;
983 Bitfield<30> tlbiaside1is;
984 Bitfield<29> tlbivae1is;
985 Bitfield<28> tlbivmalle1is;
986 Bitfield<27> tlbirvaale1os;
987 Bitfield<26> tlbirvale1os;
988 Bitfield<25> tlbirvaae1os;
989 Bitfield<24> tlbirvae1os;
990 Bitfield<23> tlbivaale1os;
991 Bitfield<22> tlbivale1os;
992 Bitfield<21> tlbivaae1os;
993 Bitfield<20> tlbiaside1os;
994 Bitfield<19> tlbivae1os;
995 Bitfield<18> tlbivmalle1os;
996 Bitfield<17> ats1e1wp;
997 Bitfield<16> ats1e1rp;
998 Bitfield<15> ats1e0w;
999 Bitfield<14> ats1e0r;
1000 Bitfield<13> ats1e1w;
1001 Bitfield<12> ats1e1r;
1002 Bitfield<11> dczva;
1003 Bitfield<10> dccivac;
1004 Bitfield<9> dccvapd;
1005 Bitfield<8> dccvap;
1006 Bitfield<7> dccvau;
1007 Bitfield<6> dccisw;
1008 Bitfield<5> dccsw;
1009 Bitfield<4> dcisw;
1010 Bitfield<3> dcivac;
1011 Bitfield<2> icivau;
1012 Bitfield<1> iciallu;
1013 Bitfield<0> icialluis;
1015
1016 // HFGRTR and HFGWTR. Some fields are
1017 // for HFGRTR only (RO registers)
1018 BitUnion64(HFGTR)
1019 Bitfield<50> nAccdataEL1;
1020 Bitfield<49> erxaddrEL1;
1021 Bitfield<48> erxpfgcdnEL1;
1022 Bitfield<47> erxpfgctlEL1;
1023 Bitfield<46> erxpfgfEL1; // RES0 for HFGWTR
1024 Bitfield<45> erxmiscNEL1;
1025 Bitfield<44> erxstatusEL1;
1026 Bitfield<43> erxctlrEL1;
1027 Bitfield<42> erxfrEL1;
1028 Bitfield<41> errselrEL1;
1029 Bitfield<40> erridrEL1; // RES0 for HFGWTR
1030 Bitfield<39> iccIgrpEnEL1;
1031 Bitfield<38> vbarEL1;
1032 Bitfield<37> ttbr1EL1;
1033 Bitfield<36> ttbr0EL1;
1034 Bitfield<35> tpidrEL0;
1035 Bitfield<34> tpidrroEL0;
1036 Bitfield<33> tpidrEL1;
1037 Bitfield<32> tcrEL1;
1038 Bitfield<31> scxtnumEL0;
1039 Bitfield<30> scxtnumEL1;
1040 Bitfield<29> sctlrEL1;
1041 Bitfield<28> revidrEL1; // RES0 for HFGWTR
1042 Bitfield<27> parEL1;
1043 Bitfield<26> mpidrEL1; // RES0 for HFGWTR
1044 Bitfield<25> midrEL1; // RES0 for HFGWTR
1045 Bitfield<24> mairEL1;
1046 Bitfield<23> lorsaEL1;
1047 Bitfield<22> lornEL1;
1048 Bitfield<21> loridEL1; // RES0 for HFGWTR
1049 Bitfield<20> loreaEL1;
1050 Bitfield<19> lorcEL1;
1051 Bitfield<18> isrEL1; // RES0 for HFGWTR
1052 Bitfield<17> farEL1;
1053 Bitfield<16> esrEL1;
1054 Bitfield<15> dczidEL0; // RES0 for HFGWTR
1055 Bitfield<14> ctrEL0; // RES0 for HFGWTR
1056 Bitfield<13> csselrEL1;
1057 Bitfield<12> cpacrEL1;
1058 Bitfield<11> contextidrEL1;
1059 Bitfield<10> clidrEL1; // RES0 for HFGWTR
1060 Bitfield<9> ccsidrEL1; // RES0 for HFGWTR
1061 Bitfield<8> apibKey;
1062 Bitfield<7> apiaKey;
1063 Bitfield<6> apgaKey;
1064 Bitfield<5> apdbKey;
1065 Bitfield<4> apdaKey;
1066 Bitfield<3> amairEL1;
1067 Bitfield<2> aidrEL1; // RES0 for HFGWTR
1068 Bitfield<1> afsr1EL1;
1069 Bitfield<0> afsr0EL1;
1071
1072 // HDFGRTR and HDFGWTR
1073 BitUnion64(HDFGTR)
1074 Bitfield<11> osdlrEL1;
1075 Bitfield<10> oseccrEL1;
1076 Bitfield<9> oslsrEL1;
1077 Bitfield<8> oslarEL1;
1078 Bitfield<7> dbgprcrEL1;
1079 Bitfield<6> dbgauthstatusEL1;
1080 Bitfield<5> dbgclaim;
1081 Bitfield<4> mdscrEL1;
1082 Bitfield<3> dbgwvrnEL1;
1083 Bitfield<2> dbgwcrnEL1;
1084 Bitfield<1> dbgbvrnEL1;
1085 Bitfield<0> dbgbcrnEL1;
1087
1088 BitUnion64(HCRX)
1089 Bitfield<15> sctlr2En;
1090 Bitfield<14> tcr2En;
1092
1093 BitUnion64(MPAMIDR)
1094 Bitfield<61> hasSdeflt;
1095 Bitfield<60> hasForceNs;
1096 Bitfield<58> hasTidr;
1097 Bitfield<39,32> pmgMax;
1098 Bitfield<20,18> vpmrMax;
1099 Bitfield<17> hasHcr;
1100 Bitfield<15,0> partidMax;
1102
1103 // Generic view of MPAMx_ELy
1104 BitUnion64(MPAM)
1105 Bitfield<63> mpamEn;
1106
1107 // MPAM1_EL1 only
1109 Bitfield<60> forcedNs;
1111
1112 // MPAM2_EL2 only
1113 SubBitUnion(el2, 62, 48)
1114 Bitfield<58> tidr;
1115 Bitfield<50> enMpamSm;
1116 Bitfield<49> trapMpam0EL1;
1117 Bitfield<48> trapMpam1EL1;
1119
1120 // MPAM3_EL3 only
1121 SubBitUnion(el3, 62, 48)
1122 Bitfield<62> trapLower;
1123 Bitfield<61> sdeflt;
1124 Bitfield<60> forceNs;
1126
1127 Bitfield<47,40> pmgD;
1128 Bitfield<39,32> pmgI;
1129 Bitfield<31,16> partidD;
1130 Bitfield<15,0> partidI;
1132
1133 BitUnion64(MPAMHCR)
1134 Bitfield<31> trapMpamIdrEL1;
1135 Bitfield<8> gstappPlk;
1136 Bitfield<1> el1Vpmen;
1137 Bitfield<0> el0Vpmen;
1138 EndBitUnion(MPAMHCR)
1139
1140} // namespace ArmISA
1141} // namespace gem5
1142
1143#endif // __ARCH_ARM_REGS_MISC_TYPES_HH__
#define BitUnion32(name)
Definition bitunion.hh:495
#define BitUnion64(name)
Use this to define conveniently sized values overlayed with bitfields.
Definition bitunion.hh:494
#define EndBitUnion(name)
This closes off the class and union started by the above macro.
Definition bitunion.hh:428
#define SubBitUnion(name, first, last)
Regular bitfields These define macros for read/write regular bitfield based subbitfields.
Definition bitunion.hh:470
#define EndSubBitUnion(name)
This closes off the union created above and gives it a name.
Definition bitunion.hh:455
Bitfield< 34 > b16f32
Bitfield< 23, 20 > atomic
Bitfield< 11, 8 > bigend
Bitfield< 2 > icivau
Bitfield< 15, 12 > vfpExceptionTrapping
Bitfield< 31 > rw
Bitfield< 11, 8 > lsm
Bitfield< 18 > ns0
Bitfield< 20 > uwxn
Bitfield< 7, 4 > tracever
Bitfield< 60 > forceNs
Bitfield< 31 > scxtnumEL0
Bitfield< 26 > mpidrEL1
Bitfield< 25, 24 > res0_4
Bitfield< 19 > tsc
Bitfield< 28 > v
Definition misc_types.hh:54
Bitfield< 16 > ntwi
Bitfield< 11, 8 > el2
Bitfield< 35, 32 > pmsver
Bitfield< 15, 14 > ssc
Bitfield< 11 > t11
Bitfield< 12 > tcp12
Bitfield< 9, 8 > ir4
Bitfield< 27, 24 > gpa
Bitfield< 23 > tlbivaale1os
Bitfield< 37 > tea
Bitfield< 30 > en
Bitfield< 7, 4 > asidbits
Bitfield< 23, 20 > erg
Bitfield< 12 > dc
Bitfield< 49 > tid4
Bitfield< 15 > dczidEL0
Bitfield< 4 > t4
Bitfield< 30 > te
Bitfield< 15, 15 > smps
Bitfield< 10 > tfp
Bitfield< 46 > tlbivale1
Bitfield< 39, 36 > ids
Bitfield< 39 > iccIgrpEnEL1
Bitfield< 20 > tidcp
Bitfield< 35 > tlbirvaae1is
Bitfield< 14 > tg0
Bitfield< 10 > t10
Bitfield< 20, 16 > srt
Bitfield< 1 > el1Vpmen
Bitfield< 5 > aw
Bitfield< 8 > res1_8_el2
Bitfield< 28 > res0_5
Bitfield< 22 > a1
Bitfield< 47 > tlbivaale1
Bitfield< 9 > oslsrEL1
Bitfield< 13 > endb
Bitfield< 7 > tcp7
Bitfield< 28 > nsd
Bitfield< 40 > hd
Bitfield< 8 > t8
Bitfield< 0 > oslm_0
Bitfield< 32 > cd
Bitfield< 31 > n
Bitfield< 20 > res0_3
Bitfield< 2 > t2
Bitfield< 21, 20 > or2
Bitfield< 25 > ttlb
Bitfield< 5, 0 > t0sz64
Bitfield< 13 > hmc
Bitfield< 6 > nEt
Bitfield< 3 > sa
Bitfield< 30 > scxtnumEL1
Bitfield< 3, 0 > sveVer
Bitfield< 58 > tidr
Bitfield< 29 > sctlrEL1
Bitfield< 19, 16 > divide
Bitfield< 24 > hpd
Bitfield< 23 > lorsaEL1
Bitfield< 38 > hxen
Bitfield< 28 > raz_28
Bitfield< 11, 10 > orgn0
Bitfield< 1 > tcp1
Bitfield< 37 > tbi0
Bitfield< 16 > ds0
Bitfield< 3 > ufc
Bitfield< 19 > ns1
Bitfield< 3, 0 > mask
Definition pcstate.hh:63
Bitfield< 21 > fi
Bitfield< 18, 16 > len
Bitfield< 20 > wt
Bitfield< 9 > tda
Bitfield< 43 > nv1
Bitfield< 16 > spiddis
Bitfield< 61 > sdeflt
Bitfield< 9 > t9
Bitfield< 16 > rao3
Bitfield< 17 > ds1
Bitfield< 4, 0 > mode
Definition misc_types.hh:74
Bitfield< 3, 0 > dpb
Bitfield< 4 > width
Definition misc_types.hh:72
Bitfield< 59, 56 > smEver
Bitfield< 19 > wxn
Bitfield< 53 > svcEL1
Bitfield< 22 > tlbivale1os
Bitfield< 19, 16 > bigendEL0
Bitfield< 12 > cpacrEL1
Bitfield< 7 > smd
Bitfield< 9 > lpae
Bitfield< 28 > revidrEL1
Bitfield< 9 > cp9
Bitfield< 16 > esrEL1
Bitfield< 15, 12 > vectorcatch
Bitfield< 21, 20 > fpen
Bitfield< 8 > vse
Bitfield< 29, 0 > subArchDefined
Bitfield< 34 > e2h
Bitfield< 7, 6 > ir3
Bitfield< 3 > oslm_3
Bitfield< 25, 24 > numCPUs
SignedBitfield< 31, 0 > sw
Definition int.hh:64
Bitfield< 43, 40 > snerr
Bitfield< 8, 6 > aif
Definition misc_types.hh:69
Bitfield< 29 > afe
Bitfield< 6 > t2e
Bitfield< 15, 0 > partidMax
Bitfield< 10 > fnv
Bitfield< 8 > apibKey
Bitfield< 18, 16 > ps
Bitfield< 5 > apdbKey
Bitfield< 13 > cp13
Bitfield< 14 > twe
Bitfield< 7 > apiaKey
Bitfield< 1 > iciallu
Bitfield< 11, 8 > pmuver
Bitfield< 31, 31 > fa64
Bitfield< 51, 48 > ttl
Bitfield< 31, 28 > ctx_cmps
Bitfield< 2 > tcp2
Bitfield< 15 > ide
Bitfield< 5 > t
Definition misc_types.hh:71
Bitfield< 7, 4 > wpaddrmask
Bitfield< 34, 32 > ips
Bitfield< 14 > hde
Bitfield< 20, 18 > vpmrMax
Bitfield< 11 > tdra
Bitfield< 10 > dccivac
Bitfield< 22 > pan
Definition misc_types.hh:59
Bitfield< 4 > apdaKey
Bitfield< 3, 0 > pcsample
Bitfield< 23, 20 > advsimd
Bitfield< 23, 20 > ccidx
Bitfield< 23 > interptCtrlPresent
Bitfield< 18, 16 > t1sz
Bitfield< 15, 0 > partidI
Bitfield< 27, 24 > rdm
Definition misc_types.hh:86
Bitfield< 15 > teer
Bitfield< 55, 52 > i16i64
Bitfield< 4 > s
Bitfield< 24 > fz
Bitfield< 15, 12 > sha2
Definition misc_types.hh:88
Bitfield< 25, 24 > or4
Bitfield< 8, 4 > razwi_8_4
Bitfield< 14 > dze
Bitfield< 7 > b
Bitfield< 13 > t13
Bitfield< 19 > rfr
Bitfield< 3 > t3
Bitfield< 8 > tz
Bitfield< 15, 14 > tr7
Bitfield< 0 > dbgbcrnEL1
Bitfield< 6, 3 > rao4
Bitfield< 11, 10 > tr5
Bitfield< 39, 36 > d128_2
Bitfield< 48 > trapMpam1EL1
Bitfield< 5 > dataRAMSetup
Bitfield< 38 > miocnce
Bitfield< 25 > tlbirvaae1os
Bitfield< 29 > hcd
Bitfield< 40 > trndr
Bitfield< 15 > nsasedis
Bitfield< 59, 56 > evt
Bitfield< 11, 0 > affinity
Bitfield< 27 > q
Definition misc_types.hh:55
Bitfield< 8, 7 > sh
Bitfield< 6 > err
Bitfield< 5 > dbgclaim
Bitfield< 27, 24 > shortVectors
Bitfield< 44 > erxstatusEL1
Bitfield< 7 > i
Definition misc_types.hh:67
Bitfield< 11, 10 > dataRAMSlice
Bitfield< 9 > tagRAMSetup
Bitfield< 0 > el0Vpmen
Bitfield< 12 > tagRAMSlice
Bitfield< 52 > svcEL0
Bitfield< 27, 24 > gic
Bitfield< 3, 0 > hafdbs
Bitfield< 19, 16 > crc32
Definition misc_types.hh:87
Bitfield< 31, 28 > roundingModes
Bitfield< 32 > tcrEL1
Bitfield< 11 > ufe
Bitfield< 17 > hasHcr
Bitfield< 17 > spniddis
Bitfield< 38 > tbi1
Bitfield< 39, 36 > tgran64_2
Bitfield< 5 > tcp5
Bitfield< 25 > ee
Bitfield< 23, 20 > bt
Bitfield< 5, 2 > moe
Bitfield< 6 > si
Bitfield< 7, 4 > defaultNaN
Bitfield< 27, 24 > aie
Bitfield< 23, 22 > or3
Bitfield< 37 > ttbr1EL1
Bitfield< 30 > nos6
Bitfield< 13 > vncr
Bitfield< 1 > swio
Bitfield< 14 > ctrEL0
Bitfield< 13, 12 > ir6
Bitfield< 20 > il
Definition misc_types.hh:61
Bitfield< 1 > dbgbvrnEL1
Bitfield< 55, 52 > bbm
Bitfield< 7 > idc
Bitfield< 16 > tid1
Bitfield< 17 > farEL1
Bitfield< 47 > erxpfgctlEL1
Bitfield< 27 > nos3
Bitfield< 51 > tbid0
Bitfield< 27, 24 > i8mm
Definition misc_types.hh:96
Bitfield< 18 > tid3
Bitfield< 29 > txfull
Bitfield< 12 > ats1e1r
Bitfield< 1 > dzc
Bitfield< 8 > dccvap
Bitfield< 28 > tta_e2h
Bitfield< 55, 52 > f32mm
Bitfield< 9, 8 > rs
Bitfield< 15, 12 > iesb
Bitfield< 39, 36 > sm3
Bitfield< 30 > nsi
Bitfield< 35, 32 > d128
Bitfield< 8 > ioe
Bitfield< 2 > aidrEL1
Bitfield< 27, 26 > orgn1
Bitfield< 23, 16 > revision
Bitfield< 11, 8 > fhm
Bitfield< 4 > imo
Bitfield< 40 > tlbirvale1
Bitfield< 27, 24 > tgran64
Bitfield< 10 > tcp10
Bitfield< 26 > txu
Bitfield< 23, 20 > advSimdHalfPrecision
Bitfield< 49 > trapMpam0EL1
Bitfield< 7, 4 > domain
Bitfield< 21 > tacr
Bitfield< 7, 4 > vmidbits
Bitfield< 15 > t15
Bitfield< 11, 8 > api
Bitfield< 27, 26 > or5
Bitfield< 23, 22 > rMode
Bitfield< 9 > sif
Bitfield< 2 > ofc
Bitfield< 19, 16 > lo
Bitfield< 27, 24 > cwg
Bitfield< 3, 0 > tcrx
Bitfield< 17 > ats1e1wp
Bitfield< 3 > cp3
Bitfield< 0 > afsr0EL1
Bitfield< 28 > tdz
Bitfield< 3, 0 > parange
Bitfield< 11 > z
Bitfield< 1 > cp1
Bitfield< 39 > tlbirvaae1
Bitfield< 3 > dcivac
Bitfield< 4 > ixc
Bitfield< 16 > ats1e1rp
Bitfield< 47 > fien
Bitfield< 43, 40 > tgran4_2
Bitfield< 26 > uci
Bitfield< 5 > cp15ben
Bitfield< 7, 4 > dp
Bitfield< 20 > tta
Bitfield< 21 > loridEL1
Bitfield< 12 > tsm
Bitfield< 34 > tpidrroEL0
Bitfield< 19 > sc2
Bitfield< 42 > erxfrEL1
Bitfield< 31, 28 > st
Bitfield< 7, 6 > tr3
Bitfield< 10 > ofe
Bitfield< 5, 1 > fs4_0
Bitfield< 5, 4 > tr2
Bitfield< 31, 30 > or7
Bitfield< 38 > tlbirvae1
Bitfield< 7, 0 > res1_7_0_el2
Bitfield< 31, 16 > partidD
Bitfield< 2 > dbgwcrnEL1
Bitfield< 15, 14 > ir7
Bitfield< 1 > afsr1EL1
Bitfield< 11, 8 > vh
Bitfield< 7 > vi
Bitfield< 18 > rao2
Bitfield< 5 > dccsw
Bitfield< 4 > cp4
Bitfield< 11, 8 > sha1
Definition misc_types.hh:89
Bitfield< 31, 28 > gpi
Bitfield< 3, 2 > tr1
Bitfield< 3 > amairEL1
Bitfield< 35, 32 > tgran16_2
Bitfield< 9 > fb
Bitfield< 12, 12 > res1_12_el2
Bitfield< 28 > tlbivmalle1is
Bitfield< 11 > cp11
Bitfield< 22 > tsw
Bitfield< 17 > tid2
Bitfield< 27, 24 > specsei
Bitfield< 25, 24 > smen
Bitfield< 9 > uma
Bitfield< 43, 40 > fwb
Bitfield< 2 > ptw
Bitfield< 18 > isrEL1
Bitfield< 27, 24 > vfpHalfPrecision
Bitfield< 26 > ahp
Bitfield< 5, 4 > ir2
Bitfield< 47, 44 > amu
Bitfield< 33 > tlbivaale1is
Bitfield< 23, 20 > squareRoot
Bitfield< 35, 32 > at
Bitfield< 26 > nos2
Bitfield< 20 > tlbiaside1os
Bitfield< 4, 0 > hpmn
Bitfield< 19, 16 > dCacheLineSize
Bitfield< 9 > e
Definition misc_types.hh:65
Bitfield< 3 > dbgwvrnEL1
Bitfield< 15 > tase
Bitfield< 15 > tid0
Bitfield< 24 > e0e
Bitfield< 3, 0 > debugver
Bitfield< 14 > mi
Bitfield< 2, 1 > pmc
Bitfield< 29, 28 > or6
Bitfield< 8 > ez
Bitfield< 19 > ease
Bitfield< 9 > tcp9
Bitfield< 7 > itd
Bitfield< 15 > mdbgen
Bitfield< 31, 24 > implementer
Bitfield< 43 > tlbivae1
Bitfield< 23 > tpc
Bitfield< 28 > tre
Bitfield< 8 > tde
Bitfield< 13 > res0_
Bitfield< 18 > tlbivmalle1os
Bitfield< 4 > tcp4
Bitfield< 0 > ns
Bitfield< 12 > cp12
Bitfield< 31, 8 > procid
Bitfield< 11, 8 > bpaddremask
Bitfield< 30 > rxfull
Bitfield< 24 > dit
Definition misc_types.hh:57
Bitfield< 3 > ea
Bitfield< 39, 36 > i8i32
Bitfield< 12 > t12
Bitfield< 21 > eccandParityEnable
Bitfield< 25 > midrEL1
Bitfield< 19, 16 > mpamFrac
Bitfield< 8 > oslarEL1
Bitfield< 49 > erxaddrEL1
Bitfield< 4 > pd0
Bitfield< 24 > nos0
Bitfield< 19, 16 > virtextns
Bitfield< 58 > hasTidr
Bitfield< 31, 29 > format
Bitfield< 17, 16 > zen
Bitfield< 39, 36 > sel2
Bitfield< 27 > tge
Bitfield< 5 > tpmcr
Bitfield< 29 > nos5
Bitfield< 27 > nmfi
Bitfield< 42 > tlbivmalle1
Bitfield< 34 > tlbirvae1is
Bitfield< 15, 12 > s2pie
Bitfield< 19, 16 > ge
Definition misc_types.hh:62
Bitfield< 18 > eel2
Bitfield< 9, 8 > tr4
Bitfield< 23 > epd1
Bitfield< 7, 4 > aes
Definition misc_types.hh:90
Bitfield< 7, 4 > apa
Bitfield< 23 > span
Bitfield< 29 > tbid
Bitfield< 19, 16 > fcma
Bitfield< 4 > fw
Bitfield< 4, 3 > res0_0
Bitfield< 5, 0 > status
Bitfield< 23 > xp
Bitfield< 6 > dccisw
Bitfield< 41 > errselrEL1
Bitfield< 29 > c
Definition misc_types.hh:53
Bitfield< 43 > tcr2En
Bitfield< 5 > cp5
Bitfield< 40 > apk
Bitfield< 24, 0 > iss
Bitfield< 23, 20 > tgran16
Bitfield< 26 > nss
Bitfield< 20 > tbi
Bitfield< 2 > fiq
Bitfield< 19 > dz
Bitfield< 4 > dcisw
Bitfield< 5, 0 > ifsc
Bitfield< 6 > ex
Bitfield< 8 > a
Definition misc_types.hh:66
Bitfield< 25 > nsu
Bitfield< 14 > nsd32dis
Bitfield< 36 > tlbirvale1is
Bitfield< 30 > trvm
Bitfield< 27 > tlbirvaale1os
Bitfield< 21 > tlbivaae1os
Bitfield< 15, 12 > snsmem
Bitfield< 4 > mdscrEL1
Bitfield< 11, 8 > s1pie
Bitfield< 21, 20 > stride
Bitfield< 23, 20 > bf16
Definition misc_types.hh:97
Bitfield< 41 > tlbirvaale1
Bitfield< 4, 3 > reserved_4_3
Bitfield< 31 > tlbivaae1is
Bitfield< 45 > tlbivaae1
Bitfield< 9, 8 > irgn0
Bitfield< 29, 28 > rsvd
Bitfield< 1, 1 > za
Bitfield< 22 > u
Bitfield< 0 > vm
Bitfield< 11, 10 > bsu
Bitfield< 30 > d32dis
Bitfield< 52 > tbid1
Bitfield< 6 > vf
Bitfield< 31, 28 > tgran4
Bitfield< 1 > irq
Bitfield< 8 > tcp8
Bitfield< 28 > nos4
Bitfield< 21 > tac
Bitfield< 32 > f32f32
Bitfield< 0, 0 > sm
Bitfield< 1 > oslk
Bitfield< 35, 32 > sve
Bitfield< 24 > mairEL1
Bitfield< 3 > fmo
Bitfield< 9 > dccvapd
Bitfield< 26 > tlbirvale1os
Bitfield< 7 > s1ptw
Bitfield< 4, 3 > lsv
Bitfield< 23, 20 > s2poe
Bitfield< 19, 16 > specres
Definition misc_types.hh:98
Bitfield< 11, 8 > advSimdLoadStore
Bitfield< 11, 10 > ir5
Bitfield< 5 > pd1
Bitfield< 27, 24 > auxregs
Bitfield< 48 > f64f64
Bitfield< 22 > lornEL1
Bitfield< 31 > nos7
Bitfield< 6 > fs5
Bitfield< 25, 24 > irgn1
Bitfield< 27 > parEL1
Bitfield< 13, 4 > raz_13_4
Bitfield< 27, 24 > b16b16
Bitfield< 7, 4 > sctlrx
Bitfield< 20 > loreaEL1
Bitfield< 59, 56 > csv2
Bitfield< 30 > tam
Bitfield< 20, 13 > reserved_20_13
Bitfield< 48 > erxpfgcdnEL1
Bitfield< 6 > tpm
Bitfield< 8, 6 > tagRAMLatency
Bitfield< 5 > t5
Bitfield< 19, 16 > lbn
Bitfield< 9 > res1_9_el2
Bitfield< 45 > erxmiscNEL1
Bitfield< 1 > su
Bitfield< 17, 16 > or0
Bitfield< 12 > ixe
Bitfield< 6 > tcp6
Bitfield< 27 > enda
Bitfield< 9, 6 > daif
Definition misc_types.hh:70
Bitfield< 7 > hpme
Bitfield< 26 > tvm
Bitfield< 24 > isv
Bitfield< 30 > enib
Bitfield< 43, 40 > sm4
Bitfield< 4 > sd
Bitfield< 12 > tdcc
Bitfield< 6 > f
Definition misc_types.hh:68
Bitfield< 7 > scd
Bitfield< 6 > apgaKey
Bitfield< 40 > erridrEL1
Bitfield< 12 > md
Bitfield< 10 > ms
Bitfield< 38 > vbarEL1
Bitfield< 36 > terr
Bitfield< 2 > cp2
Bitfield< 47, 44 > exs
Bitfield< 36 > as
Bitfield< 3, 2 > el
Definition misc_types.hh:73
Bitfield< 16 > ttee
Bitfield< 0 > icialluis
Bitfield< 31, 28 > mec
Bitfield< 39 > ha
Bitfield< 2, 0 > t0sz
Bitfield< 50 > enMpamSm
Bitfield< 19, 16 > s1poe
Bitfield< 45 > nv2
Bitfield< 15, 14 > l1IndexPolicy
Bitfield< 22 > reserved_22
Bitfield< 35 > f16f32
Bitfield< 3, 0 > sevl
Definition misc_types.hh:91
Bitfield< 1 > t1
Bitfield< 15, 10 > it2
Definition misc_types.hh:63
Bitfield< 10 > fsHigh
Bitfield< 43 > erxctlrEL1
Bitfield< 27 > rxo
Bitfield< 8 > sed
Bitfield< 15, 12 > brps
Bitfield< 6 > t6
Bitfield< 19, 16 > advSimdSinglePrecision
Bitfield< 0 > sp
Definition misc_types.hh:75
Bitfield< 3 > tcp3
Bitfield< 19 > fz16
Bitfield< 25 > nos1
Bitfield< 24 > tpu
Bitfield< 27 > qc
Bitfield< 31 > eae
Bitfield< 15 > sf
Bitfield< 36 > ttbr0EL1
Bitfield< 9 > ccsidrEL1
Bitfield< 31, 28 > xnx
Bitfield< 7 > epd0
Bitfield< 23, 22 > sas
Bitfield< 23, 20 > wrps
Bitfield< 12 > esm
Bitfield< 21 > sse
Bitfield< 26, 25 > it1
Definition misc_types.hh:56
Bitfield< 12 > udccdis
Bitfield< 13 > cm
SignedBitfield< 31, 16 > sh1
Definition int.hh:61
Bitfield< 35, 32 > frintts
Bitfield< 0 > cp0
Bitfield< 35, 32 > sha3
Bitfield< 15, 12 > advSimdInteger
Bitfield< 27 > nsp
Bitfield< 52 > tocu
Bitfield< 2, 1 > pac
Bitfield< 33 > tpidrEL1
Bitfield< 5 > amo
Bitfield< 30 > tlbiaside1is
Bitfield< 13 > csselrEL1
Bitfield< 12, 11 > set
Bitfield< 13, 13 > res1_13_el2
Bitfield< 11 > wnr
Bitfield< 10 > clidrEL1
Bitfield< 10 > tdosa
Bitfield< 3, 0 > el0
Bitfield< 35 > tlor
Bitfield< 7 > t7
Bitfield< 35 > tpidrEL0
Bitfield< 24 > tlbirvae1os
Bitfield< 18 > ntwe
Bitfield< 11, 8 > doublePrecision
Bitfield< 19, 16 > fp
Bitfield< 50 > ticab
Bitfield< 32 > tlbivale1is
Bitfield< 20 > nmea
Bitfield< 30, 9 > res0_30_9
Bitfield< 39, 36 > doublelock
Bitfield< 30, 26 > reserved_30_26
Bitfield< 7 > dbgprcrEL1
Bitfield< 4 > sa0
Bitfield< 37 > tlbirvaale1is
Bitfield< 15 > mf
Bitfield< 31, 28 > ras
Bitfield< 5, 0 > dfsc
Bitfield< 6, 1 > fst
Bitfield< 54 > ttlbis
Bitfield< 19 > vs
Bitfield< 12, 9 > res0_1
Bitfield< 15, 12 > el3
Bitfield< 19 > tlbivae1os
Bitfield< 3, 0 > jscvt
Bitfield< 27 > fgten
Bitfield< 31, 28 > raz
Bitfield< 9 > d
Definition misc_types.hh:64
SignedBitfield< 15, 0 > sh0
Definition int.hh:62
Bitfield< 0 > m
Bitfield< 31 > asedis
Bitfield< 19, 16 > varange
Bitfield< 8, 5 > bas
Bitfield< 15 > ats1e0w
Bitfield< 39, 32 > pmgMax
Bitfield< 7 > cp7
Bitfield< 8 > gstappPlk
Bitfield< 15, 12 > sb
Definition misc_types.hh:99
Bitfield< 13, 12 > tr6
Bitfield< 27, 24 > tme
Bitfield< 10 > cp10
Bitfield< 23 > uao
Definition misc_types.hh:58
Bitfield< 7, 4 > el1
Bitfield< 30 > tg1
Bitfield< 15 > uct
Bitfield< 14 > ats1e0r
Bitfield< 31 > l2rstDISABLE_monitor
Bitfield< 14 > ar
Bitfield< 46 > erxpfgfEL1
Bitfield< 44 > tlbiaside1
Bitfield< 13 > tcp13
Bitfield< 21 > ss
Definition misc_types.hh:60
Bitfield< 8 > hce
Bitfield< 13 > twi
Bitfield< 27, 24 > nv
Bitfield< 3, 0 > priority
Bitfield< 29 > tlbivae1is
Bitfield< 7 > dccvau
Bitfield< 11 > tcp11
Bitfield< 7, 4 > singlePrecision
Bitfield< 41 > hpd0
Bitfield< 19, 18 > or1
Bitfield< 39, 32 > pmgI
Bitfield< 14 > rr
Bitfield< 15, 12 > hpds
Bitfield< 11 > mp
Bitfield< 3, 0 > cnp
Bitfield< 0 > tcp0
Bitfield< 6 > cp6
Bitfield< 11 > contextidrEL1
Bitfield< 0 > t0
Bitfield< 12 > ext
Bitfield< 13 > ats1e1w
Bitfield< 23, 20 > lrcpc
Bitfield< 55, 52 > ts
Bitfield< 62 > trapLower
Bitfield< 6 > dbgauthstatusEL1
Bitfield< 39, 12 > pa
Bitfield< 14, 12 > res0_14_12
Bitfield< 8 > cp8
Bitfield< 19, 16 > bitPerm
Bitfield< 60 > hasForceNs
Bitfield< 10 > oseccrEL1
Bitfield< 51 > eret
Bitfield< 19 > lorcEL1
Bitfield< 42 > hpd1
Bitfield< 8 > va
Bitfield< 11 > dczva
Bitfield< 59, 56 > tlb
Bitfield< 25 > dn
Bitfield< 2 > nTT
Bitfield< 7, 6 > sl0
Bitfield< 3, 2 > ir1
Bitfield< 23, 22 > intdis
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
Definition binary32.hh:36

Generated on Tue Jun 18 2024 16:23:57 for gem5 by doxygen 1.11.0