gem5  v20.1.0.0
registers.hh
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2013 ARM Limited
3  * Copyright (c) 2014-2015 Sven Karlsson
4  * Copyright (c) 2019 Yifei Liu
5  * Copyright (c) 2020 Barkhausen Institut
6  * All rights reserved
7  *
8  * The license below extends only to copyright in the software and shall
9  * not be construed as granting a license to any other intellectual
10  * property including but not limited to intellectual property relating
11  * to a hardware implementation of the functionality of the software
12  * licensed hereunder. You may use the software subject to the license
13  * terms below provided that you ensure that this notice is replicated
14  * unmodified and in its entirety in all distributions of the software,
15  * modified or unmodified, in source code or in binary form.
16  *
17  * Copyright (c) 2016 RISC-V Foundation
18  * Copyright (c) 2016 The University of Virginia
19  * All rights reserved.
20  *
21  * Redistribution and use in source and binary forms, with or without
22  * modification, are permitted provided that the following conditions are
23  * met: redistributions of source code must retain the above copyright
24  * notice, this list of conditions and the following disclaimer;
25  * redistributions in binary form must reproduce the above copyright
26  * notice, this list of conditions and the following disclaimer in the
27  * documentation and/or other materials provided with the distribution;
28  * neither the name of the copyright holders nor the names of its
29  * contributors may be used to endorse or promote products derived from
30  * this software without specific prior written permission.
31  *
32  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
33  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
34  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
35  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
36  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
37  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
38  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
39  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
40  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
41  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
42  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
43  */
44 
45 #ifndef __ARCH_RISCV_REGISTERS_HH__
46 #define __ARCH_RISCV_REGISTERS_HH__
47 
48 #include <map>
49 #include <string>
50 #include <vector>
51 
52 #include "arch/generic/types.hh"
54 #include "arch/generic/vec_reg.hh"
55 #include "arch/riscv/generated/max_inst_regs.hh"
56 #include "base/types.hh"
57 
58 namespace RiscvISA {
59 
61 using RiscvISAInst::MaxInstDestRegs;
62 const int MaxMiscDestRegs = 2;
63 
64 // Not applicable to RISC-V
71 
72 // Not applicable to RISC-V
78 
79 const int NumIntArchRegs = 32;
80 const int NumMicroIntRegs = 1;
82 const int NumFloatRegs = 32;
83 
84 const unsigned NumVecRegs = 1; // Not applicable to RISC-V
85  // (1 to prevent warnings)
86 const int NumVecPredRegs = 1; // Not applicable to RISC-V
87  // (1 to prevent warnings)
88 
89 const int NumCCRegs = 0;
90 
91 // Semantically meaningful register indices
92 const int ZeroReg = 0;
93 const int ReturnAddrReg = 1;
94 const int StackPointerReg = 2;
95 const int GlobalPointerReg = 3;
96 const int ThreadPointerReg = 4;
97 const int FramePointerReg = 8;
98 const int ReturnValueReg = 10;
100 const std::vector<int> ArgumentRegs = {10, 11, 12, 13, 14, 15, 16, 17};
101 const int AMOTempReg = 32;
102 
103 const int SyscallPseudoReturnReg = 10;
104 const std::vector<int> SyscallArgumentRegs = {10, 11, 12, 13, 14, 15, 16};
105 const int SyscallNumReg = 17;
106 
108  "zero", "ra", "sp", "gp",
109  "tp", "t0", "t1", "t2",
110  "s0", "s1", "a0", "a1",
111  "a2", "a3", "a4", "a5",
112  "a6", "a7", "s2", "s3",
113  "s4", "s5", "s6", "s7",
114  "s8", "s9", "s10", "s11",
115  "t3", "t4", "t5", "t6"
116 };
118  "ft0", "ft1", "ft2", "ft3",
119  "ft4", "ft5", "ft6", "ft7",
120  "fs0", "fs1", "fa0", "fa1",
121  "fa2", "fa3", "fa4", "fa5",
122  "fa6", "fa7", "fs2", "fs3",
123  "fs4", "fs5", "fs6", "fs7",
124  "fs8", "fs9", "fs10", "fs11",
125  "ft8", "ft9", "ft10", "ft11"
126 };
127 
206 
216  // pmpcfg1 rv32 only
218  // pmpcfg3 rv32 only
235 
245 
253 
255 };
257 
258 enum CSRIndex {
259  CSR_USTATUS = 0x000,
260  CSR_UIE = 0x004,
261  CSR_UTVEC = 0x005,
262  CSR_USCRATCH = 0x040,
263  CSR_UEPC = 0x041,
264  CSR_UCAUSE = 0x042,
265  CSR_UTVAL = 0x043,
266  CSR_UIP = 0x044,
267  CSR_FFLAGS = 0x001,
268  CSR_FRM = 0x002,
269  CSR_FCSR = 0x003,
270  CSR_CYCLE = 0xC00,
271  CSR_TIME = 0xC01,
272  CSR_INSTRET = 0xC02,
302  // HPMCOUNTERH rv32 only
303 
304  CSR_SSTATUS = 0x100,
305  CSR_SEDELEG = 0x102,
306  CSR_SIDELEG = 0x103,
307  CSR_SIE = 0x104,
308  CSR_STVEC = 0x105,
309  CSR_SCOUNTEREN = 0x106,
310  CSR_SSCRATCH = 0x140,
311  CSR_SEPC = 0x141,
312  CSR_SCAUSE = 0x142,
313  CSR_STVAL = 0x143,
314  CSR_SIP = 0x144,
315  CSR_SATP = 0x180,
316 
317  CSR_MVENDORID = 0xF11,
318  CSR_MARCHID = 0xF12,
319  CSR_MIMPID = 0xF13,
320  CSR_MHARTID = 0xF14,
321  CSR_MSTATUS = 0x300,
322  CSR_MISA = 0x301,
323  CSR_MEDELEG = 0x302,
324  CSR_MIDELEG = 0x303,
325  CSR_MIE = 0x304,
326  CSR_MTVEC = 0x305,
327  CSR_MCOUNTEREN = 0x306,
328  CSR_MSCRATCH = 0x340,
329  CSR_MEPC = 0x341,
330  CSR_MCAUSE = 0x342,
331  CSR_MTVAL = 0x343,
332  CSR_MIP = 0x344,
333  CSR_PMPCFG0 = 0x3A0,
334  // pmpcfg1 rv32 only
335  CSR_PMPCFG2 = 0x3A2,
336  // pmpcfg3 rv32 only
337  CSR_PMPADDR00 = 0x3B0,
338  CSR_PMPADDR01 = 0x3B1,
339  CSR_PMPADDR02 = 0x3B2,
340  CSR_PMPADDR03 = 0x3B3,
341  CSR_PMPADDR04 = 0x3B4,
342  CSR_PMPADDR05 = 0x3B5,
343  CSR_PMPADDR06 = 0x3B6,
344  CSR_PMPADDR07 = 0x3B7,
345  CSR_PMPADDR08 = 0x3B8,
346  CSR_PMPADDR09 = 0x3B9,
347  CSR_PMPADDR10 = 0x3BA,
348  CSR_PMPADDR11 = 0x3BB,
349  CSR_PMPADDR12 = 0x3BC,
350  CSR_PMPADDR13 = 0x3BD,
351  CSR_PMPADDR14 = 0x3BE,
352  CSR_PMPADDR15 = 0x3BF,
353  CSR_MCYCLE = 0xB00,
354  CSR_MINSTRET = 0xB02,
384  // MHPMCOUNTERH rv32 only
414 
415  CSR_TSELECT = 0x7A0,
416  CSR_TDATA1 = 0x7A1,
417  CSR_TDATA2 = 0x7A2,
418  CSR_TDATA3 = 0x7A3,
419  CSR_DCSR = 0x7B0,
420  CSR_DPC = 0x7B1,
421  CSR_DSCRATCH = 0x7B2
422 };
423 
425 {
426  const std::string name;
427  const int physIndex;
428 };
429 
430 const std::map<int, CSRMetadata> CSRData = {
431  {CSR_USTATUS, {"ustatus", MISCREG_STATUS}},
432  {CSR_UIE, {"uie", MISCREG_IE}},
433  {CSR_UTVEC, {"utvec", MISCREG_UTVEC}},
434  {CSR_USCRATCH, {"uscratch", MISCREG_USCRATCH}},
435  {CSR_UEPC, {"uepc", MISCREG_UEPC}},
436  {CSR_UCAUSE, {"ucause", MISCREG_UCAUSE}},
437  {CSR_UTVAL, {"utval", MISCREG_UTVAL}},
438  {CSR_UIP, {"uip", MISCREG_IP}},
439  {CSR_FFLAGS, {"fflags", MISCREG_FFLAGS}},
440  {CSR_FRM, {"frm", MISCREG_FRM}},
441  {CSR_FCSR, {"fcsr", MISCREG_FFLAGS}}, // Actually FRM << 5 | FFLAGS
442  {CSR_CYCLE, {"cycle", MISCREG_CYCLE}},
443  {CSR_TIME, {"time", MISCREG_TIME}},
444  {CSR_INSTRET, {"instret", MISCREG_INSTRET}},
445  {CSR_HPMCOUNTER03, {"hpmcounter03", MISCREG_HPMCOUNTER03}},
446  {CSR_HPMCOUNTER04, {"hpmcounter04", MISCREG_HPMCOUNTER04}},
447  {CSR_HPMCOUNTER05, {"hpmcounter05", MISCREG_HPMCOUNTER05}},
448  {CSR_HPMCOUNTER06, {"hpmcounter06", MISCREG_HPMCOUNTER06}},
449  {CSR_HPMCOUNTER07, {"hpmcounter07", MISCREG_HPMCOUNTER07}},
450  {CSR_HPMCOUNTER08, {"hpmcounter08", MISCREG_HPMCOUNTER08}},
451  {CSR_HPMCOUNTER09, {"hpmcounter09", MISCREG_HPMCOUNTER09}},
452  {CSR_HPMCOUNTER10, {"hpmcounter10", MISCREG_HPMCOUNTER10}},
453  {CSR_HPMCOUNTER11, {"hpmcounter11", MISCREG_HPMCOUNTER11}},
454  {CSR_HPMCOUNTER12, {"hpmcounter12", MISCREG_HPMCOUNTER12}},
455  {CSR_HPMCOUNTER13, {"hpmcounter13", MISCREG_HPMCOUNTER13}},
456  {CSR_HPMCOUNTER14, {"hpmcounter14", MISCREG_HPMCOUNTER14}},
457  {CSR_HPMCOUNTER15, {"hpmcounter15", MISCREG_HPMCOUNTER15}},
458  {CSR_HPMCOUNTER16, {"hpmcounter16", MISCREG_HPMCOUNTER16}},
459  {CSR_HPMCOUNTER17, {"hpmcounter17", MISCREG_HPMCOUNTER17}},
460  {CSR_HPMCOUNTER18, {"hpmcounter18", MISCREG_HPMCOUNTER18}},
461  {CSR_HPMCOUNTER19, {"hpmcounter19", MISCREG_HPMCOUNTER19}},
462  {CSR_HPMCOUNTER20, {"hpmcounter20", MISCREG_HPMCOUNTER20}},
463  {CSR_HPMCOUNTER21, {"hpmcounter21", MISCREG_HPMCOUNTER21}},
464  {CSR_HPMCOUNTER22, {"hpmcounter22", MISCREG_HPMCOUNTER22}},
465  {CSR_HPMCOUNTER23, {"hpmcounter23", MISCREG_HPMCOUNTER23}},
466  {CSR_HPMCOUNTER24, {"hpmcounter24", MISCREG_HPMCOUNTER24}},
467  {CSR_HPMCOUNTER25, {"hpmcounter25", MISCREG_HPMCOUNTER25}},
468  {CSR_HPMCOUNTER26, {"hpmcounter26", MISCREG_HPMCOUNTER26}},
469  {CSR_HPMCOUNTER27, {"hpmcounter27", MISCREG_HPMCOUNTER27}},
470  {CSR_HPMCOUNTER28, {"hpmcounter28", MISCREG_HPMCOUNTER28}},
471  {CSR_HPMCOUNTER29, {"hpmcounter29", MISCREG_HPMCOUNTER29}},
472  {CSR_HPMCOUNTER30, {"hpmcounter30", MISCREG_HPMCOUNTER30}},
473  {CSR_HPMCOUNTER31, {"hpmcounter31", MISCREG_HPMCOUNTER31}},
474 
475  {CSR_SSTATUS, {"sstatus", MISCREG_STATUS}},
476  {CSR_SEDELEG, {"sedeleg", MISCREG_SEDELEG}},
477  {CSR_SIDELEG, {"sideleg", MISCREG_SIDELEG}},
478  {CSR_SIE, {"sie", MISCREG_IE}},
479  {CSR_STVEC, {"stvec", MISCREG_STVEC}},
480  {CSR_SCOUNTEREN, {"scounteren", MISCREG_SCOUNTEREN}},
481  {CSR_SSCRATCH, {"sscratch", MISCREG_SSCRATCH}},
482  {CSR_SEPC, {"sepc", MISCREG_SEPC}},
483  {CSR_SCAUSE, {"scause", MISCREG_SCAUSE}},
484  {CSR_STVAL, {"stval", MISCREG_STVAL}},
485  {CSR_SIP, {"sip", MISCREG_IP}},
486  {CSR_SATP, {"satp", MISCREG_SATP}},
487 
488  {CSR_MVENDORID, {"mvendorid", MISCREG_VENDORID}},
489  {CSR_MARCHID, {"marchid", MISCREG_ARCHID}},
490  {CSR_MIMPID, {"mimpid", MISCREG_IMPID}},
491  {CSR_MHARTID, {"mhartid", MISCREG_HARTID}},
492  {CSR_MSTATUS, {"mstatus", MISCREG_STATUS}},
493  {CSR_MISA, {"misa", MISCREG_ISA}},
494  {CSR_MEDELEG, {"medeleg", MISCREG_MEDELEG}},
495  {CSR_MIDELEG, {"mideleg", MISCREG_MIDELEG}},
496  {CSR_MIE, {"mie", MISCREG_IE}},
497  {CSR_MTVEC, {"mtvec", MISCREG_MTVEC}},
498  {CSR_MCOUNTEREN, {"mcounteren", MISCREG_MCOUNTEREN}},
499  {CSR_MSCRATCH, {"mscratch", MISCREG_MSCRATCH}},
500  {CSR_MEPC, {"mepc", MISCREG_MEPC}},
501  {CSR_MCAUSE, {"mcause", MISCREG_MCAUSE}},
502  {CSR_MTVAL, {"mtval", MISCREG_MTVAL}},
503  {CSR_MIP, {"mip", MISCREG_IP}},
504  {CSR_PMPCFG0, {"pmpcfg0", MISCREG_PMPCFG0}},
505  // pmpcfg1 rv32 only
506  {CSR_PMPCFG2, {"pmpcfg2", MISCREG_PMPCFG2}},
507  // pmpcfg3 rv32 only
508  {CSR_PMPADDR00, {"pmpaddr0", MISCREG_PMPADDR00}},
509  {CSR_PMPADDR01, {"pmpaddr1", MISCREG_PMPADDR01}},
510  {CSR_PMPADDR02, {"pmpaddr2", MISCREG_PMPADDR02}},
511  {CSR_PMPADDR03, {"pmpaddr3", MISCREG_PMPADDR03}},
512  {CSR_PMPADDR04, {"pmpaddr4", MISCREG_PMPADDR04}},
513  {CSR_PMPADDR05, {"pmpaddr5", MISCREG_PMPADDR05}},
514  {CSR_PMPADDR06, {"pmpaddr6", MISCREG_PMPADDR06}},
515  {CSR_PMPADDR07, {"pmpaddr7", MISCREG_PMPADDR07}},
516  {CSR_PMPADDR08, {"pmpaddr8", MISCREG_PMPADDR08}},
517  {CSR_PMPADDR09, {"pmpaddr9", MISCREG_PMPADDR09}},
518  {CSR_PMPADDR10, {"pmpaddr10", MISCREG_PMPADDR10}},
519  {CSR_PMPADDR11, {"pmpaddr11", MISCREG_PMPADDR11}},
520  {CSR_PMPADDR12, {"pmpaddr12", MISCREG_PMPADDR12}},
521  {CSR_PMPADDR13, {"pmpaddr13", MISCREG_PMPADDR13}},
522  {CSR_PMPADDR14, {"pmpaddr14", MISCREG_PMPADDR14}},
523  {CSR_PMPADDR15, {"pmpaddr15", MISCREG_PMPADDR15}},
524  {CSR_MCYCLE, {"mcycle", MISCREG_CYCLE}},
525  {CSR_MINSTRET, {"minstret", MISCREG_INSTRET}},
526  {CSR_MHPMCOUNTER03, {"mhpmcounter03", MISCREG_HPMCOUNTER03}},
527  {CSR_MHPMCOUNTER04, {"mhpmcounter04", MISCREG_HPMCOUNTER04}},
528  {CSR_MHPMCOUNTER05, {"mhpmcounter05", MISCREG_HPMCOUNTER05}},
529  {CSR_MHPMCOUNTER06, {"mhpmcounter06", MISCREG_HPMCOUNTER06}},
530  {CSR_MHPMCOUNTER07, {"mhpmcounter07", MISCREG_HPMCOUNTER07}},
531  {CSR_MHPMCOUNTER08, {"mhpmcounter08", MISCREG_HPMCOUNTER08}},
532  {CSR_MHPMCOUNTER09, {"mhpmcounter09", MISCREG_HPMCOUNTER09}},
533  {CSR_MHPMCOUNTER10, {"mhpmcounter10", MISCREG_HPMCOUNTER10}},
534  {CSR_MHPMCOUNTER11, {"mhpmcounter11", MISCREG_HPMCOUNTER11}},
535  {CSR_MHPMCOUNTER12, {"mhpmcounter12", MISCREG_HPMCOUNTER12}},
536  {CSR_MHPMCOUNTER13, {"mhpmcounter13", MISCREG_HPMCOUNTER13}},
537  {CSR_MHPMCOUNTER14, {"mhpmcounter14", MISCREG_HPMCOUNTER14}},
538  {CSR_MHPMCOUNTER15, {"mhpmcounter15", MISCREG_HPMCOUNTER15}},
539  {CSR_MHPMCOUNTER16, {"mhpmcounter16", MISCREG_HPMCOUNTER16}},
540  {CSR_MHPMCOUNTER17, {"mhpmcounter17", MISCREG_HPMCOUNTER17}},
541  {CSR_MHPMCOUNTER18, {"mhpmcounter18", MISCREG_HPMCOUNTER18}},
542  {CSR_MHPMCOUNTER19, {"mhpmcounter19", MISCREG_HPMCOUNTER19}},
543  {CSR_MHPMCOUNTER20, {"mhpmcounter20", MISCREG_HPMCOUNTER20}},
544  {CSR_MHPMCOUNTER21, {"mhpmcounter21", MISCREG_HPMCOUNTER21}},
545  {CSR_MHPMCOUNTER22, {"mhpmcounter22", MISCREG_HPMCOUNTER22}},
546  {CSR_MHPMCOUNTER23, {"mhpmcounter23", MISCREG_HPMCOUNTER23}},
547  {CSR_MHPMCOUNTER24, {"mhpmcounter24", MISCREG_HPMCOUNTER24}},
548  {CSR_MHPMCOUNTER25, {"mhpmcounter25", MISCREG_HPMCOUNTER25}},
549  {CSR_MHPMCOUNTER26, {"mhpmcounter26", MISCREG_HPMCOUNTER26}},
550  {CSR_MHPMCOUNTER27, {"mhpmcounter27", MISCREG_HPMCOUNTER27}},
551  {CSR_MHPMCOUNTER28, {"mhpmcounter28", MISCREG_HPMCOUNTER28}},
552  {CSR_MHPMCOUNTER29, {"mhpmcounter29", MISCREG_HPMCOUNTER29}},
553  {CSR_MHPMCOUNTER30, {"mhpmcounter30", MISCREG_HPMCOUNTER30}},
554  {CSR_MHPMCOUNTER31, {"mhpmcounter31", MISCREG_HPMCOUNTER31}},
555  {CSR_MHPMEVENT03, {"mhpmevent03", MISCREG_HPMEVENT03}},
556  {CSR_MHPMEVENT04, {"mhpmevent04", MISCREG_HPMEVENT04}},
557  {CSR_MHPMEVENT05, {"mhpmevent05", MISCREG_HPMEVENT05}},
558  {CSR_MHPMEVENT06, {"mhpmevent06", MISCREG_HPMEVENT06}},
559  {CSR_MHPMEVENT07, {"mhpmevent07", MISCREG_HPMEVENT07}},
560  {CSR_MHPMEVENT08, {"mhpmevent08", MISCREG_HPMEVENT08}},
561  {CSR_MHPMEVENT09, {"mhpmevent09", MISCREG_HPMEVENT09}},
562  {CSR_MHPMEVENT10, {"mhpmevent10", MISCREG_HPMEVENT10}},
563  {CSR_MHPMEVENT11, {"mhpmevent11", MISCREG_HPMEVENT11}},
564  {CSR_MHPMEVENT12, {"mhpmevent12", MISCREG_HPMEVENT12}},
565  {CSR_MHPMEVENT13, {"mhpmevent13", MISCREG_HPMEVENT13}},
566  {CSR_MHPMEVENT14, {"mhpmevent14", MISCREG_HPMEVENT14}},
567  {CSR_MHPMEVENT15, {"mhpmevent15", MISCREG_HPMEVENT15}},
568  {CSR_MHPMEVENT16, {"mhpmevent16", MISCREG_HPMEVENT16}},
569  {CSR_MHPMEVENT17, {"mhpmevent17", MISCREG_HPMEVENT17}},
570  {CSR_MHPMEVENT18, {"mhpmevent18", MISCREG_HPMEVENT18}},
571  {CSR_MHPMEVENT19, {"mhpmevent19", MISCREG_HPMEVENT19}},
572  {CSR_MHPMEVENT20, {"mhpmevent20", MISCREG_HPMEVENT20}},
573  {CSR_MHPMEVENT21, {"mhpmevent21", MISCREG_HPMEVENT21}},
574  {CSR_MHPMEVENT22, {"mhpmevent22", MISCREG_HPMEVENT22}},
575  {CSR_MHPMEVENT23, {"mhpmevent23", MISCREG_HPMEVENT23}},
576  {CSR_MHPMEVENT24, {"mhpmevent24", MISCREG_HPMEVENT24}},
577  {CSR_MHPMEVENT25, {"mhpmevent25", MISCREG_HPMEVENT25}},
578  {CSR_MHPMEVENT26, {"mhpmevent26", MISCREG_HPMEVENT26}},
579  {CSR_MHPMEVENT27, {"mhpmevent27", MISCREG_HPMEVENT27}},
580  {CSR_MHPMEVENT28, {"mhpmevent28", MISCREG_HPMEVENT28}},
581  {CSR_MHPMEVENT29, {"mhpmevent29", MISCREG_HPMEVENT29}},
582  {CSR_MHPMEVENT30, {"mhpmevent30", MISCREG_HPMEVENT30}},
583  {CSR_MHPMEVENT31, {"mhpmevent31", MISCREG_HPMEVENT31}},
584 
585  {CSR_TSELECT, {"tselect", MISCREG_TSELECT}},
586  {CSR_TDATA1, {"tdata1", MISCREG_TDATA1}},
587  {CSR_TDATA2, {"tdata2", MISCREG_TDATA2}},
588  {CSR_TDATA3, {"tdata3", MISCREG_TDATA3}},
589  {CSR_DCSR, {"dcsr", MISCREG_DCSR}},
590  {CSR_DPC, {"dpc", MISCREG_DPC}},
591  {CSR_DSCRATCH, {"dscratch", MISCREG_DSCRATCH}}
592 };
593 
601 BitUnion64(STATUS)
602  Bitfield<63> sd;
603  Bitfield<35, 34> sxl;
604  Bitfield<33, 32> uxl;
605  Bitfield<22> tsr;
606  Bitfield<21> tw;
607  Bitfield<20> tvm;
608  Bitfield<19> mxr;
609  Bitfield<18> sum;
610  Bitfield<17> mprv;
611  Bitfield<16, 15> xs;
612  Bitfield<14, 13> fs;
613  Bitfield<12, 11> mpp;
614  Bitfield<8> spp;
615  Bitfield<7> mpie;
616  Bitfield<5> spie;
617  Bitfield<4> upie;
618  Bitfield<3> mie;
619  Bitfield<1> sie;
620  Bitfield<0> uie;
621 EndBitUnion(STATUS)
622 
623 
629 BitUnion64(INTERRUPT)
630  Bitfield<11> mei;
631  Bitfield<9> sei;
632  Bitfield<8> uei;
633  Bitfield<7> mti;
634  Bitfield<5> sti;
635  Bitfield<4> uti;
636  Bitfield<3> msi;
637  Bitfield<1> ssi;
638  Bitfield<0> usi;
639 EndBitUnion(INTERRUPT)
640 
641 const off_t MXL_OFFSET = (sizeof(uint64_t) * 8 - 2);
642 const off_t SXL_OFFSET = 34;
643 const off_t UXL_OFFSET = 32;
644 const off_t FS_OFFSET = 13;
645 const off_t FRM_OFFSET = 5;
646 
647 const RegVal ISA_MXL_MASK = 3ULL << MXL_OFFSET;
649 const RegVal ISA_EXT_C_MASK = 1UL << ('c' - 'a');
651 
652 const RegVal STATUS_SD_MASK = 1ULL << ((sizeof(uint64_t) * 8) - 1);
655 const RegVal STATUS_TSR_MASK = 1ULL << 22;
656 const RegVal STATUS_TW_MASK = 1ULL << 21;
657 const RegVal STATUS_TVM_MASK = 1ULL << 20;
658 const RegVal STATUS_MXR_MASK = 1ULL << 19;
659 const RegVal STATUS_SUM_MASK = 1ULL << 18;
660 const RegVal STATUS_MPRV_MASK = 1ULL << 17;
661 const RegVal STATUS_XS_MASK = 3ULL << 15;
663 const RegVal STATUS_MPP_MASK = 3ULL << 11;
664 const RegVal STATUS_SPP_MASK = 1ULL << 8;
668 const RegVal STATUS_MIE_MASK = 1ULL << 3;
669 const RegVal STATUS_SIE_MASK = 1ULL << 1;
670 const RegVal STATUS_UIE_MASK = 1ULL << 0;
691 
692 const RegVal MEI_MASK = 1ULL << 11;
693 const RegVal SEI_MASK = 1ULL << 9;
694 const RegVal UEI_MASK = 1ULL << 8;
695 const RegVal MTI_MASK = 1ULL << 7;
696 const RegVal STI_MASK = 1ULL << 5;
697 const RegVal UTI_MASK = 1ULL << 4;
698 const RegVal MSI_MASK = 1ULL << 3;
699 const RegVal SSI_MASK = 1ULL << 1;
700 const RegVal USI_MASK = 1ULL << 0;
705  STI_MASK | UTI_MASK |
706  SSI_MASK | USI_MASK;
708 const RegVal FFLAGS_MASK = (1 << FRM_OFFSET) - 1;
709 const RegVal FRM_MASK = 0x7;
710 
711 const std::map<int, RegVal> CSRMasks = {
713  {CSR_UIE, UI_MASK},
714  {CSR_UIP, UI_MASK},
716  {CSR_FRM, FRM_MASK},
719  {CSR_SIE, SI_MASK},
720  {CSR_SIP, SI_MASK},
722  {CSR_MISA, MISA_MASK},
723  {CSR_MIE, MI_MASK},
724  {CSR_MIP, MI_MASK}
725 };
726 
727 }
728 
729 #endif // __ARCH_RISCV_REGISTERS_HH__
RiscvISA::CSR_HPMCOUNTER07
@ CSR_HPMCOUNTER07
Definition: registers.hh:277
RiscvISA::MISCREG_PRV
@ MISCREG_PRV
Definition: registers.hh:129
RiscvISA::SSI_MASK
const RegVal SSI_MASK
Definition: registers.hh:699
RiscvISA::MISCREG_HPMCOUNTER30
@ MISCREG_HPMCOUNTER30
Definition: registers.hh:168
RiscvISA::MISCREG_HPMEVENT06
@ MISCREG_HPMEVENT06
Definition: registers.hh:173
RiscvISA::CSR_STVEC
@ CSR_STVEC
Definition: registers.hh:308
RiscvISA::CSR_HPMCOUNTER13
@ CSR_HPMCOUNTER13
Definition: registers.hh:283
RiscvISA::CSR_USCRATCH
@ CSR_USCRATCH
Definition: registers.hh:262
RiscvISA::CSR_FCSR
@ CSR_FCSR
Definition: registers.hh:269
RiscvISA::MISCREG_HPMEVENT07
@ MISCREG_HPMEVENT07
Definition: registers.hh:174
RiscvISA::uti
Bitfield< 4 > uti
Definition: registers.hh:635
RiscvISA::MISA_MASK
const RegVal MISA_MASK
Definition: registers.hh:650
RiscvISA::CSR_MHPMEVENT21
@ CSR_MHPMEVENT21
Definition: registers.hh:403
RiscvISA::MISCREG_MCOUNTEREN
@ MISCREG_MCOUNTEREN
Definition: registers.hh:210
DummyVecRegSizeBytes
constexpr size_t DummyVecRegSizeBytes
Definition: vec_reg.hh:669
RiscvISA::MISCREG_HPMCOUNTER07
@ MISCREG_HPMCOUNTER07
Definition: registers.hh:145
RiscvISA::CSR_HPMCOUNTER06
@ CSR_HPMCOUNTER06
Definition: registers.hh:276
RiscvISA::NumMicroIntRegs
const int NumMicroIntRegs
Definition: registers.hh:80
RiscvISA::mti
Bitfield< 7 > mti
Definition: registers.hh:633
RiscvISA::uxl
Bitfield< 33, 32 > uxl
Definition: registers.hh:604
RiscvISA::ArgumentRegs
const std::vector< int > ArgumentRegs
Definition: registers.hh:100
RiscvISA::CSR_PMPADDR05
@ CSR_PMPADDR05
Definition: registers.hh:342
RiscvISA::MISCREG_HPMCOUNTER10
@ MISCREG_HPMCOUNTER10
Definition: registers.hh:148
RiscvISA::SyscallNumReg
const int SyscallNumReg
Definition: registers.hh:105
RiscvISA::MISCREG_PMPADDR07
@ MISCREG_PMPADDR07
Definition: registers.hh:226
RiscvISA::CSR_MHPMCOUNTER09
@ CSR_MHPMCOUNTER09
Definition: registers.hh:361
RiscvISA::CSR_PMPADDR15
@ CSR_PMPADDR15
Definition: registers.hh:352
RiscvISA::MISCREG_HPMCOUNTER28
@ MISCREG_HPMCOUNTER28
Definition: registers.hh:166
RiscvISA::MISCREG_INSTRET
@ MISCREG_INSTRET
Definition: registers.hh:140
RiscvISA::MISCREG_HPMCOUNTER19
@ MISCREG_HPMCOUNTER19
Definition: registers.hh:157
RiscvISA::MISCREG_HPMCOUNTER18
@ MISCREG_HPMCOUNTER18
Definition: registers.hh:156
RiscvISA::MTI_MASK
const RegVal MTI_MASK
Definition: registers.hh:695
DummyVecPredRegSizeBits
constexpr size_t DummyVecPredRegSizeBits
Definition: vec_pred_reg.hh:398
VecPredRegContainer
Generic predicate register container.
Definition: vec_pred_reg.hh:47
RiscvISA::MSTATUS_MASK
const RegVal MSTATUS_MASK
Definition: registers.hh:671
RiscvISA::CSR_MHPMCOUNTER14
@ CSR_MHPMCOUNTER14
Definition: registers.hh:366
RiscvISA::MISCREG_UEPC
@ MISCREG_UEPC
Definition: registers.hh:248
RiscvISA::MISCREG_CYCLE
@ MISCREG_CYCLE
Definition: registers.hh:138
RiscvISA::MISCREG_HPMEVENT05
@ MISCREG_HPMEVENT05
Definition: registers.hh:172
RiscvISA::MISCREG_TDATA3
@ MISCREG_TDATA3
Definition: registers.hh:202
RiscvISA::MISCREG_HPMCOUNTER05
@ MISCREG_HPMCOUNTER05
Definition: registers.hh:143
RiscvISA::CSR_MEDELEG
@ CSR_MEDELEG
Definition: registers.hh:323
RiscvISA::NumVecElemPerVecReg
constexpr unsigned NumVecElemPerVecReg
Definition: registers.hh:69
RiscvISA::ISA_EXT_MASK
const RegVal ISA_EXT_MASK
Definition: registers.hh:648
RiscvISA::CSRMasks
const std::map< int, RegVal > CSRMasks
Definition: registers.hh:711
RiscvISA::CSR_MHPMEVENT11
@ CSR_MHPMEVENT11
Definition: registers.hh:393
RiscvISA::MISCREG_HPMCOUNTER03
@ MISCREG_HPMCOUNTER03
Definition: registers.hh:141
RiscvISA::sum
Bitfield< 18 > sum
Definition: registers.hh:609
RiscvISA::CSR_MHPMEVENT12
@ CSR_MHPMEVENT12
Definition: registers.hh:394
RiscvISA::CSR_HPMCOUNTER21
@ CSR_HPMCOUNTER21
Definition: registers.hh:291
RiscvISA::MISCREG_HPMEVENT13
@ MISCREG_HPMEVENT13
Definition: registers.hh:180
RiscvISA::STATUS_MPRV_MASK
const RegVal STATUS_MPRV_MASK
Definition: registers.hh:660
RiscvISA::STATUS_MPIE_MASK
const RegVal STATUS_MPIE_MASK
Definition: registers.hh:665
RiscvISA::MISCREG_HPMCOUNTER06
@ MISCREG_HPMCOUNTER06
Definition: registers.hh:144
RiscvISA::STATUS_MXR_MASK
const RegVal STATUS_MXR_MASK
Definition: registers.hh:658
RiscvISA::CSR_SATP
@ CSR_SATP
Definition: registers.hh:315
RiscvISA::CSR_MHPMEVENT06
@ CSR_MHPMEVENT06
Definition: registers.hh:388
RiscvISA::STATUS_FS_MASK
const RegVal STATUS_FS_MASK
Definition: registers.hh:662
RiscvISA::MISCREG_HPMEVENT24
@ MISCREG_HPMEVENT24
Definition: registers.hh:191
RiscvISA::CSR_MIE
@ CSR_MIE
Definition: registers.hh:325
RiscvISA::UTI_MASK
const RegVal UTI_MASK
Definition: registers.hh:697
RiscvISA::CSR_MHPMEVENT13
@ CSR_MHPMEVENT13
Definition: registers.hh:395
RiscvISA::MISCREG_MCAUSE
@ MISCREG_MCAUSE
Definition: registers.hh:213
RiscvISA::CSR_HPMCOUNTER28
@ CSR_HPMCOUNTER28
Definition: registers.hh:298
RiscvISA::CSR_MTVEC
@ CSR_MTVEC
Definition: registers.hh:326
RiscvISA::CSR_MIMPID
@ CSR_MIMPID
Definition: registers.hh:319
RiscvISA::SEI_MASK
const RegVal SEI_MASK
Definition: registers.hh:693
RiscvISA::mxr
Bitfield< 19 > mxr
Definition: registers.hh:608
DummyVecPredRegHasPackedRepr
constexpr bool DummyVecPredRegHasPackedRepr
Dummy type aliases and constants for architectures that do not implement vector predicate registers.
Definition: vec_pred_reg.hh:391
RiscvISA::MISCREG_HPMEVENT15
@ MISCREG_HPMEVENT15
Definition: registers.hh:182
RiscvISA::MISCREG_DPC
@ MISCREG_DPC
Definition: registers.hh:204
RiscvISA::CSR_MHPMEVENT27
@ CSR_MHPMEVENT27
Definition: registers.hh:409
RiscvISA::CSR_MCAUSE
@ CSR_MCAUSE
Definition: registers.hh:330
RiscvISA::ssi
Bitfield< 1 > ssi
Definition: registers.hh:637
RiscvISA::MISCREG_MTVEC
@ MISCREG_MTVEC
Definition: registers.hh:209
RiscvISA::MISCREG_HPMCOUNTER11
@ MISCREG_HPMCOUNTER11
Definition: registers.hh:149
RiscvISA::MISCREG_PMPADDR03
@ MISCREG_PMPADDR03
Definition: registers.hh:222
RiscvISA::MISCREG_HPMEVENT23
@ MISCREG_HPMEVENT23
Definition: registers.hh:190
RiscvISA::MISCREG_HPMEVENT29
@ MISCREG_HPMEVENT29
Definition: registers.hh:196
RiscvISA::CSR_HPMCOUNTER29
@ CSR_HPMCOUNTER29
Definition: registers.hh:299
RiscvISA::sei
Bitfield< 9 > sei
Definition: registers.hh:631
RiscvISA::MISCREG_HPMEVENT10
@ MISCREG_HPMEVENT10
Definition: registers.hh:177
RiscvISA::MISCREG_MEPC
@ MISCREG_MEPC
Definition: registers.hh:212
RiscvISA::MISCREG_PMPADDR01
@ MISCREG_PMPADDR01
Definition: registers.hh:220
RiscvISA::MISCREG_SEDELEG
@ MISCREG_SEDELEG
Definition: registers.hh:236
RiscvISA::CSR_SCOUNTEREN
@ CSR_SCOUNTEREN
Definition: registers.hh:309
RiscvISA::NumIntRegs
const int NumIntRegs
Definition: registers.hh:81
RiscvISA::MISCREG_HPMEVENT11
@ MISCREG_HPMEVENT11
Definition: registers.hh:178
RiscvISA::usi
Bitfield< 0 > usi
Definition: registers.hh:638
RiscvISA::MISCREG_STVAL
@ MISCREG_STVAL
Definition: registers.hh:243
RiscvISA::MISCREG_PMPADDR10
@ MISCREG_PMPADDR10
Definition: registers.hh:229
RiscvISA::MISCREG_PMPADDR12
@ MISCREG_PMPADDR12
Definition: registers.hh:231
RiscvISA::MISCREG_HPMEVENT30
@ MISCREG_HPMEVENT30
Definition: registers.hh:197
RiscvISA::CSR_MHPMEVENT24
@ CSR_MHPMEVENT24
Definition: registers.hh:406
RiscvISA::FloatRegNames
const std::vector< std::string > FloatRegNames
Definition: registers.hh:117
RiscvISA::tsr
Bitfield< 22 > tsr
Definition: registers.hh:605
RiscvISA::CSR_MHPMCOUNTER13
@ CSR_MHPMCOUNTER13
Definition: registers.hh:365
RiscvISA::CSR_UTVAL
@ CSR_UTVAL
Definition: registers.hh:265
RiscvISA::CSR_MSTATUS
@ CSR_MSTATUS
Definition: registers.hh:321
RiscvISA::CSR_MCOUNTEREN
@ CSR_MCOUNTEREN
Definition: registers.hh:327
RiscvISA::CSR_MHPMEVENT04
@ CSR_MHPMEVENT04
Definition: registers.hh:386
RiscvISA::MISCREG_USCRATCH
@ MISCREG_USCRATCH
Definition: registers.hh:247
RiscvISA::CSR_PMPADDR06
@ CSR_PMPADDR06
Definition: registers.hh:343
RiscvISA::CSRMetadata::physIndex
const int physIndex
Definition: registers.hh:427
RiscvISA::CSR_HPMCOUNTER26
@ CSR_HPMCOUNTER26
Definition: registers.hh:296
RiscvISA::STI_MASK
const RegVal STI_MASK
Definition: registers.hh:696
RiscvISA::CSR_SIE
@ CSR_SIE
Definition: registers.hh:307
RiscvISA::MISCREG_UTVAL
@ MISCREG_UTVAL
Definition: registers.hh:250
RiscvISA::CSR_MHPMCOUNTER03
@ CSR_MHPMCOUNTER03
Definition: registers.hh:355
RiscvISA::STATUS_TVM_MASK
const RegVal STATUS_TVM_MASK
Definition: registers.hh:657
RiscvISA::MISCREG_HPMEVENT03
@ MISCREG_HPMEVENT03
Definition: registers.hh:170
RiscvISA::MISCREG_PMPADDR00
@ MISCREG_PMPADDR00
Definition: registers.hh:219
std::vector< int >
RiscvISA::CSR_MISA
@ CSR_MISA
Definition: registers.hh:322
RiscvISA::MISCREG_SIDELEG
@ MISCREG_SIDELEG
Definition: registers.hh:237
RiscvISA::CSR_MHPMCOUNTER20
@ CSR_MHPMCOUNTER20
Definition: registers.hh:372
RiscvISA::CSR_PMPADDR08
@ CSR_PMPADDR08
Definition: registers.hh:345
RiscvISA::STATUS_SPP_MASK
const RegVal STATUS_SPP_MASK
Definition: registers.hh:664
RiscvISA::CSR_HPMCOUNTER30
@ CSR_HPMCOUNTER30
Definition: registers.hh:300
RiscvISA::CSR_MHPMEVENT29
@ CSR_MHPMEVENT29
Definition: registers.hh:411
RiscvISA::CSR_DPC
@ CSR_DPC
Definition: registers.hh:420
RiscvISA::MISCREG_HPMEVENT25
@ MISCREG_HPMEVENT25
Definition: registers.hh:192
RiscvISA::sie
Bitfield< 1 > sie
Definition: registers.hh:619
RiscvISA::MISCREG_HPMEVENT08
@ MISCREG_HPMEVENT08
Definition: registers.hh:175
RiscvISA::MISCREG_HPMEVENT22
@ MISCREG_HPMEVENT22
Definition: registers.hh:189
RiscvISA::CSR_MHPMCOUNTER30
@ CSR_MHPMCOUNTER30
Definition: registers.hh:382
RiscvISA::CSR_SIP
@ CSR_SIP
Definition: registers.hh:314
RiscvISA::ISA_MXL_MASK
const RegVal ISA_MXL_MASK
Definition: registers.hh:647
RiscvISA::CSR_MHARTID
@ CSR_MHARTID
Definition: registers.hh:320
RiscvISA::MISCREG_STATUS
@ MISCREG_STATUS
Definition: registers.hh:135
RiscvISA::MISCREG_HPMEVENT09
@ MISCREG_HPMEVENT09
Definition: registers.hh:176
RiscvISA::CSR_PMPADDR01
@ CSR_PMPADDR01
Definition: registers.hh:338
RiscvISA::MISCREG_HPMCOUNTER16
@ MISCREG_HPMCOUNTER16
Definition: registers.hh:154
RiscvISA::CSR_MHPMCOUNTER22
@ CSR_MHPMCOUNTER22
Definition: registers.hh:374
RiscvISA::MISCREG_HPMEVENT14
@ MISCREG_HPMEVENT14
Definition: registers.hh:181
RiscvISA::CSR_UIP
@ CSR_UIP
Definition: registers.hh:266
RiscvISA::MISCREG_HPMCOUNTER08
@ MISCREG_HPMCOUNTER08
Definition: registers.hh:146
RiscvISA::CSR_TSELECT
@ CSR_TSELECT
Definition: registers.hh:415
RiscvISA::MISCREG_TDATA1
@ MISCREG_TDATA1
Definition: registers.hh:200
RiscvISA::CSR_MHPMCOUNTER08
@ CSR_MHPMCOUNTER08
Definition: registers.hh:360
DummyVecPredReg
VecPredRegT< DummyVecElem, DummyNumVecElemPerVecReg, DummyVecPredRegHasPackedRepr, false > DummyVecPredReg
Definition: vec_pred_reg.hh:393
RiscvISA::CSR_MVENDORID
@ CSR_MVENDORID
Definition: registers.hh:317
RiscvISA::CSR_USTATUS
@ CSR_USTATUS
Definition: registers.hh:259
RiscvISA::CSR_HPMCOUNTER05
@ CSR_HPMCOUNTER05
Definition: registers.hh:275
RiscvISA::CSR_PMPADDR13
@ CSR_PMPADDR13
Definition: registers.hh:350
ArmISA::MaxInstSrcRegs
const int MaxInstSrcRegs
Definition: registers.hh:57
RiscvISA::CSR_MHPMCOUNTER25
@ CSR_MHPMCOUNTER25
Definition: registers.hh:377
RiscvISA::MISCREG_PMPADDR15
@ MISCREG_PMPADDR15
Definition: registers.hh:234
RiscvISA::CSR_INSTRET
@ CSR_INSTRET
Definition: registers.hh:272
RiscvISA::CSR_HPMCOUNTER04
@ CSR_HPMCOUNTER04
Definition: registers.hh:274
RiscvISA::MISCREG_PMPADDR13
@ MISCREG_PMPADDR13
Definition: registers.hh:232
RiscvISA::CSR_MHPMCOUNTER18
@ CSR_MHPMCOUNTER18
Definition: registers.hh:370
RiscvISA::NumVecRegs
const unsigned NumVecRegs
Definition: registers.hh:84
RiscvISA
Definition: fs_workload.cc:36
RiscvISA::CSR_PMPADDR07
@ CSR_PMPADDR07
Definition: registers.hh:344
RiscvISA::CSR_HPMCOUNTER31
@ CSR_HPMCOUNTER31
Definition: registers.hh:301
RiscvISA::UXL_OFFSET
const off_t UXL_OFFSET
Definition: registers.hh:643
RiscvISA::CSR_HPMCOUNTER08
@ CSR_HPMCOUNTER08
Definition: registers.hh:278
RiscvISA::MISCREG_HPMCOUNTER04
@ MISCREG_HPMCOUNTER04
Definition: registers.hh:142
RiscvISA::CSR_MHPMEVENT30
@ CSR_MHPMEVENT30
Definition: registers.hh:412
RiscvISA::CSR_MHPMCOUNTER05
@ CSR_MHPMCOUNTER05
Definition: registers.hh:357
RiscvISA::CSR_MHPMEVENT16
@ CSR_MHPMEVENT16
Definition: registers.hh:398
RiscvISA::CSR_HPMCOUNTER27
@ CSR_HPMCOUNTER27
Definition: registers.hh:297
RiscvISA::MISCREG_PMPADDR09
@ MISCREG_PMPADDR09
Definition: registers.hh:228
RiscvISA::CSR_TDATA1
@ CSR_TDATA1
Definition: registers.hh:416
RiscvISA::CSRMetadata::name
const std::string name
Definition: registers.hh:426
RiscvISA::STATUS_SPIE_MASK
const RegVal STATUS_SPIE_MASK
Definition: registers.hh:666
RiscvISA::CSR_UIE
@ CSR_UIE
Definition: registers.hh:260
RiscvISA::UEI_MASK
const RegVal UEI_MASK
Definition: registers.hh:694
RiscvISA::MISCREG_HPMEVENT20
@ MISCREG_HPMEVENT20
Definition: registers.hh:187
RiscvISA::MISCREG_HPMCOUNTER14
@ MISCREG_HPMCOUNTER14
Definition: registers.hh:152
RiscvISA::CSRIndex
CSRIndex
Definition: registers.hh:258
RiscvISA::CSR_MHPMCOUNTER23
@ CSR_MHPMCOUNTER23
Definition: registers.hh:375
RiscvISA::CSR_HPMCOUNTER24
@ CSR_HPMCOUNTER24
Definition: registers.hh:294
RiscvISA::CSR_DCSR
@ CSR_DCSR
Definition: registers.hh:419
RiscvISA::ReturnValueReg
const int ReturnValueReg
Definition: registers.hh:98
RiscvISA::MISCREG_SCAUSE
@ MISCREG_SCAUSE
Definition: registers.hh:242
RiscvISA::mpie
Bitfield< 7 > mpie
Definition: registers.hh:615
RiscvISA::CSR_MHPMEVENT08
@ CSR_MHPMEVENT08
Definition: registers.hh:390
RiscvISA::CSR_CYCLE
@ CSR_CYCLE
Definition: registers.hh:270
DummyVecRegContainer
DummyVecReg::Container DummyVecRegContainer
Definition: vec_reg.hh:668
RiscvISA::MISCREG_FFLAGS
@ MISCREG_FFLAGS
Definition: registers.hh:251
RiscvISA::NumMiscRegs
const int NumMiscRegs
Definition: registers.hh:256
RiscvISA::MISCREG_HPMCOUNTER31
@ MISCREG_HPMCOUNTER31
Definition: registers.hh:169
RiscvISA::VecPredRegSizeBits
constexpr size_t VecPredRegSizeBits
Definition: registers.hh:76
RiscvISA::CSR_HPMCOUNTER25
@ CSR_HPMCOUNTER25
Definition: registers.hh:295
RiscvISA::MISCREG_IP
@ MISCREG_IP
Definition: registers.hh:136
RiscvISA::CSR_TIME
@ CSR_TIME
Definition: registers.hh:271
RiscvISA::CSR_UCAUSE
@ CSR_UCAUSE
Definition: registers.hh:264
RiscvISA::mpp
Bitfield< 12, 11 > mpp
Definition: registers.hh:613
RiscvISA::CSR_MHPMCOUNTER07
@ CSR_MHPMCOUNTER07
Definition: registers.hh:359
RiscvISA::CSR_SSTATUS
@ CSR_SSTATUS
Definition: registers.hh:304
RiscvISA::IntRegNames
const std::vector< std::string > IntRegNames
Definition: registers.hh:107
RiscvISA::MISCREG_ARCHID
@ MISCREG_ARCHID
Definition: registers.hh:132
RiscvISA::MISCREG_HPMCOUNTER27
@ MISCREG_HPMCOUNTER27
Definition: registers.hh:165
RiscvISA::MISCREG_PMPADDR06
@ MISCREG_PMPADDR06
Definition: registers.hh:225
RiscvISA::MISCREG_SCOUNTEREN
@ MISCREG_SCOUNTEREN
Definition: registers.hh:239
RiscvISA::MISCREG_HPMCOUNTER09
@ MISCREG_HPMCOUNTER09
Definition: registers.hh:147
RiscvISA::MISCREG_HPMCOUNTER13
@ MISCREG_HPMCOUNTER13
Definition: registers.hh:151
RiscvISA::MISCREG_HPMEVENT27
@ MISCREG_HPMEVENT27
Definition: registers.hh:194
RiscvISA::MISCREG_DSCRATCH
@ MISCREG_DSCRATCH
Definition: registers.hh:205
RiscvISA::MISCREG_HPMCOUNTER20
@ MISCREG_HPMCOUNTER20
Definition: registers.hh:158
RiscvISA::MISCREG_HPMCOUNTER24
@ MISCREG_HPMCOUNTER24
Definition: registers.hh:162
RiscvISA::MISCREG_UTVEC
@ MISCREG_UTVEC
Definition: registers.hh:246
RiscvISA::uie
Bitfield< 0 > uie
Definition: registers.hh:620
RiscvISA::spp
Bitfield< 8 > spp
Definition: registers.hh:614
RiscvISA::CSR_MHPMEVENT18
@ CSR_MHPMEVENT18
Definition: registers.hh:400
RiscvISA::MISCREG_MSCRATCH
@ MISCREG_MSCRATCH
Definition: registers.hh:211
VecPredRegT
Predicate register view.
Definition: vec_pred_reg.hh:66
RiscvISA::CSR_HPMCOUNTER18
@ CSR_HPMCOUNTER18
Definition: registers.hh:288
RiscvISA::upie
Bitfield< 4 > upie
Definition: registers.hh:617
RiscvISA::CSR_SEDELEG
@ CSR_SEDELEG
Definition: registers.hh:305
RiscvISA::BitUnion64
BitUnion64(SATP) Bitfield< 63
RiscvISA::mprv
Bitfield< 17 > mprv
Definition: registers.hh:610
RiscvISA::MISCREG_PMPCFG2
@ MISCREG_PMPCFG2
Definition: registers.hh:217
RiscvISA::CSR_MHPMCOUNTER21
@ CSR_MHPMCOUNTER21
Definition: registers.hh:373
RiscvISA::STATUS_SXL_MASK
const RegVal STATUS_SXL_MASK
Definition: registers.hh:653
RiscvISA::CSR_MHPMEVENT20
@ CSR_MHPMEVENT20
Definition: registers.hh:402
RiscvISA::MISCREG_HPMEVENT04
@ MISCREG_HPMEVENT04
Definition: registers.hh:171
RiscvISA::CSR_MHPMCOUNTER29
@ CSR_MHPMCOUNTER29
Definition: registers.hh:381
RiscvISA::MISCREG_HPMEVENT26
@ MISCREG_HPMEVENT26
Definition: registers.hh:193
RiscvISA::MiscRegIndex
MiscRegIndex
Definition: registers.hh:128
RiscvISA::MISCREG_UCAUSE
@ MISCREG_UCAUSE
Definition: registers.hh:249
DummyConstVecReg
VecRegT< DummyVecElem, DummyNumVecElemPerVecReg, true > DummyConstVecReg
Definition: vec_reg.hh:667
RiscvISA::FramePointerReg
const int FramePointerReg
Definition: registers.hh:97
RiscvISA::STATUS_SUM_MASK
const RegVal STATUS_SUM_MASK
Definition: registers.hh:659
ArmISA::sd
Bitfield< 4 > sd
Definition: miscregs_types.hh:768
RiscvISA::MISCREG_DCSR
@ MISCREG_DCSR
Definition: registers.hh:203
RiscvISA::CSR_PMPADDR12
@ CSR_PMPADDR12
Definition: registers.hh:349
RiscvISA::FFLAGS_MASK
const RegVal FFLAGS_MASK
Definition: registers.hh:708
RiscvISA::CSR_MHPMCOUNTER28
@ CSR_MHPMCOUNTER28
Definition: registers.hh:380
RiscvISA::CSR_TDATA2
@ CSR_TDATA2
Definition: registers.hh:417
RiscvISA::CSR_MHPMEVENT22
@ CSR_MHPMEVENT22
Definition: registers.hh:404
RiscvISA::ISA_EXT_C_MASK
const RegVal ISA_EXT_C_MASK
Definition: registers.hh:649
RiscvISA::ThreadPointerReg
const int ThreadPointerReg
Definition: registers.hh:96
RiscvISA::CSR_PMPADDR09
@ CSR_PMPADDR09
Definition: registers.hh:346
RiscvISA::CSR_MHPMEVENT14
@ CSR_MHPMEVENT14
Definition: registers.hh:396
RiscvISA::CSR_MHPMEVENT17
@ CSR_MHPMEVENT17
Definition: registers.hh:399
RiscvISA::CSR_MHPMCOUNTER16
@ CSR_MHPMCOUNTER16
Definition: registers.hh:368
RiscvISA::MSI_MASK
const RegVal MSI_MASK
Definition: registers.hh:698
RiscvISA::CSR_UTVEC
@ CSR_UTVEC
Definition: registers.hh:261
RiscvISA::xs
Bitfield< 16, 15 > xs
Definition: registers.hh:611
RiscvISA::CSR_HPMCOUNTER23
@ CSR_HPMCOUNTER23
Definition: registers.hh:293
DummyVecElem
uint32_t DummyVecElem
Dummy type aliases and constants for architectures that do not implement vector registers.
Definition: vec_reg.hh:664
RiscvISA::MISCREG_TIME
@ MISCREG_TIME
Definition: registers.hh:139
RiscvISA::msi
Bitfield< 3 > msi
Definition: registers.hh:636
RiscvISA::spie
Bitfield< 5 > spie
Definition: registers.hh:616
RiscvISA::SSTATUS_MASK
const RegVal SSTATUS_MASK
Definition: registers.hh:681
vec_pred_reg.hh
RiscvISA::CSR_MCYCLE
@ CSR_MCYCLE
Definition: registers.hh:353
RiscvISA::NumIntArchRegs
const int NumIntArchRegs
Definition: registers.hh:79
RiscvISA::MISCREG_PMPADDR08
@ MISCREG_PMPADDR08
Definition: registers.hh:227
RiscvISA::CSR_MHPMEVENT07
@ CSR_MHPMEVENT07
Definition: registers.hh:389
RiscvISA::STATUS_MIE_MASK
const RegVal STATUS_MIE_MASK
Definition: registers.hh:668
RiscvISA::MISCREG_FRM
@ MISCREG_FRM
Definition: registers.hh:252
DummyVecReg
VecRegT< DummyVecElem, DummyNumVecElemPerVecReg, false > DummyVecReg
Definition: vec_reg.hh:666
RiscvISA::MISCREG_HPMEVENT19
@ MISCREG_HPMEVENT19
Definition: registers.hh:186
DummyVecPredRegContainer
DummyVecPredReg::Container DummyVecPredRegContainer
Definition: vec_pred_reg.hh:397
RiscvISA::STATUS_MPP_MASK
const RegVal STATUS_MPP_MASK
Definition: registers.hh:663
RiscvISA::MISCREG_HPMEVENT16
@ MISCREG_HPMEVENT16
Definition: registers.hh:183
RiscvISA::MISCREG_HPMEVENT21
@ MISCREG_HPMEVENT21
Definition: registers.hh:188
RiscvISA::STATUS_UIE_MASK
const RegVal STATUS_UIE_MASK
Definition: registers.hh:670
RiscvISA::MISCREG_HARTID
@ MISCREG_HARTID
Definition: registers.hh:134
RiscvISA::SyscallArgumentRegs
const std::vector< int > SyscallArgumentRegs
Definition: registers.hh:104
RiscvISA::CSR_PMPADDR11
@ CSR_PMPADDR11
Definition: registers.hh:348
RiscvISA::CSR_TDATA3
@ CSR_TDATA3
Definition: registers.hh:418
RiscvISA::MISCREG_IMPID
@ MISCREG_IMPID
Definition: registers.hh:133
RiscvISA::fs
Bitfield< 14, 13 > fs
Definition: registers.hh:612
RiscvISA::CSR_HPMCOUNTER15
@ CSR_HPMCOUNTER15
Definition: registers.hh:285
RiscvISA::CSR_HPMCOUNTER12
@ CSR_HPMCOUNTER12
Definition: registers.hh:282
RiscvISA::CSR_MHPMEVENT28
@ CSR_MHPMEVENT28
Definition: registers.hh:410
RiscvISA::MISCREG_TDATA2
@ MISCREG_TDATA2
Definition: registers.hh:201
vec_reg.hh
RiscvISA::sxl
Bitfield< 35, 34 > sxl
Definition: registers.hh:603
RiscvISA::CSR_STVAL
@ CSR_STVAL
Definition: registers.hh:313
RiscvISA::CSR_MEPC
@ CSR_MEPC
Definition: registers.hh:329
RiscvISA::NumCCRegs
const int NumCCRegs
Definition: registers.hh:89
RiscvISA::CSR_HPMCOUNTER11
@ CSR_HPMCOUNTER11
Definition: registers.hh:281
types.hh
RiscvISA::MISCREG_IE
@ MISCREG_IE
Definition: registers.hh:137
RiscvISA::mask
mask
Definition: pra_constants.hh:70
RiscvISA::CSR_MHPMEVENT10
@ CSR_MHPMEVENT10
Definition: registers.hh:392
RiscvISA::USI_MASK
const RegVal USI_MASK
Definition: registers.hh:700
RiscvISA::CSR_PMPADDR02
@ CSR_PMPADDR02
Definition: registers.hh:339
RiscvISA::CSR_MHPMEVENT31
@ CSR_MHPMEVENT31
Definition: registers.hh:413
RiscvISA::MISCREG_HPMEVENT31
@ MISCREG_HPMEVENT31
Definition: registers.hh:198
RiscvISA::sti
Bitfield< 5 > sti
Definition: registers.hh:634
RiscvISA::CSR_MHPMCOUNTER17
@ CSR_MHPMCOUNTER17
Definition: registers.hh:369
RiscvISA::EndBitUnion
EndBitUnion(SATP) enum AddrXlateMode
Definition: pagetable.hh:45
RiscvISA::CSR_SCAUSE
@ CSR_SCAUSE
Definition: registers.hh:312
RiscvISA::uei
Bitfield< 8 > uei
Definition: registers.hh:632
RiscvISA::STATUS_SD_MASK
const RegVal STATUS_SD_MASK
Definition: registers.hh:652
RiscvISA::CSR_MHPMCOUNTER26
@ CSR_MHPMCOUNTER26
Definition: registers.hh:378
RiscvISA::CSR_SIDELEG
@ CSR_SIDELEG
Definition: registers.hh:306
RiscvISA::VecPredRegHasPackedRepr
constexpr bool VecPredRegHasPackedRepr
Definition: registers.hh:77
RiscvISA::MISCREG_HPMEVENT18
@ MISCREG_HPMEVENT18
Definition: registers.hh:185
RiscvISA::CSR_PMPADDR04
@ CSR_PMPADDR04
Definition: registers.hh:341
RiscvISA::MISCREG_HPMCOUNTER12
@ MISCREG_HPMCOUNTER12
Definition: registers.hh:150
RiscvISA::NumVecPredRegs
const int NumVecPredRegs
Definition: registers.hh:86
DummyConstVecPredReg
VecPredRegT< DummyVecElem, DummyNumVecElemPerVecReg, DummyVecPredRegHasPackedRepr, true > DummyConstVecPredReg
Definition: vec_pred_reg.hh:396
RiscvISA::CSR_MHPMEVENT05
@ CSR_MHPMEVENT05
Definition: registers.hh:387
RiscvISA::MISCREG_PMPADDR04
@ MISCREG_PMPADDR04
Definition: registers.hh:223
RiscvISA::STATUS_XS_MASK
const RegVal STATUS_XS_MASK
Definition: registers.hh:661
types.hh
RiscvISA::MISCREG_SSCRATCH
@ MISCREG_SSCRATCH
Definition: registers.hh:240
RiscvISA::CSR_MHPMCOUNTER31
@ CSR_MHPMCOUNTER31
Definition: registers.hh:383
RiscvISA::CSR_MHPMEVENT15
@ CSR_MHPMEVENT15
Definition: registers.hh:397
RiscvISA::CSR_PMPADDR10
@ CSR_PMPADDR10
Definition: registers.hh:347
RiscvISA::MaxMiscDestRegs
const int MaxMiscDestRegs
Definition: registers.hh:62
RiscvISA::CSR_MHPMCOUNTER11
@ CSR_MHPMCOUNTER11
Definition: registers.hh:363
RiscvISA::CSR_HPMCOUNTER16
@ CSR_HPMCOUNTER16
Definition: registers.hh:286
DummyNumVecElemPerVecReg
constexpr unsigned DummyNumVecElemPerVecReg
Definition: vec_reg.hh:665
RiscvISA::ReturnAddrReg
const int ReturnAddrReg
Definition: registers.hh:93
RiscvISA::MISCREG_HPMCOUNTER29
@ MISCREG_HPMCOUNTER29
Definition: registers.hh:167
RiscvISA::CSR_MHPMEVENT25
@ CSR_MHPMEVENT25
Definition: registers.hh:407
RiscvISA::MISCREG_PMPADDR02
@ MISCREG_PMPADDR02
Definition: registers.hh:221
RiscvISA::MISCREG_HPMCOUNTER26
@ MISCREG_HPMCOUNTER26
Definition: registers.hh:164
RiscvISA::CSR_HPMCOUNTER22
@ CSR_HPMCOUNTER22
Definition: registers.hh:292
RiscvISA::UI_MASK
const RegVal UI_MASK
Definition: registers.hh:707
RiscvISA::MISCREG_PMPCFG0
@ MISCREG_PMPCFG0
Definition: registers.hh:215
RiscvISA::mie
Bitfield< 3 > mie
Definition: registers.hh:618
RiscvISA::FRM_MASK
const RegVal FRM_MASK
Definition: registers.hh:709
RiscvISA::CSR_MHPMCOUNTER15
@ CSR_MHPMCOUNTER15
Definition: registers.hh:367
RiscvISA::SXL_OFFSET
const off_t SXL_OFFSET
Definition: registers.hh:642
RiscvISA::MISCREG_PMPADDR11
@ MISCREG_PMPADDR11
Definition: registers.hh:230
RiscvISA::MISCREG_TSELECT
@ MISCREG_TSELECT
Definition: registers.hh:199
RiscvISA::MISCREG_MEDELEG
@ MISCREG_MEDELEG
Definition: registers.hh:207
RiscvISA::MI_MASK
const RegVal MI_MASK
Definition: registers.hh:701
RiscvISA::CSR_PMPADDR03
@ CSR_PMPADDR03
Definition: registers.hh:340
RiscvISA::CSR_MIDELEG
@ CSR_MIDELEG
Definition: registers.hh:324
RiscvISA::tw
Bitfield< 21 > tw
Definition: registers.hh:606
RiscvISA::MISCREG_HPMEVENT17
@ MISCREG_HPMEVENT17
Definition: registers.hh:184
RiscvISA::MISCREG_HPMCOUNTER17
@ MISCREG_HPMCOUNTER17
Definition: registers.hh:155
RiscvISA::CSR_MHPMEVENT19
@ CSR_MHPMEVENT19
Definition: registers.hh:401
RiscvISA::MISCREG_PMPADDR05
@ MISCREG_PMPADDR05
Definition: registers.hh:224
RiscvISA::CSR_MSCRATCH
@ CSR_MSCRATCH
Definition: registers.hh:328
RiscvISA::CSR_MTVAL
@ CSR_MTVAL
Definition: registers.hh:331
RiscvISA::CSR_SEPC
@ CSR_SEPC
Definition: registers.hh:311
RiscvISA::CSR_HPMCOUNTER19
@ CSR_HPMCOUNTER19
Definition: registers.hh:289
RiscvISA::CSR_PMPADDR00
@ CSR_PMPADDR00
Definition: registers.hh:337
RiscvISA::NumFloatRegs
const int NumFloatRegs
Definition: registers.hh:82
RiscvISA::CSR_HPMCOUNTER09
@ CSR_HPMCOUNTER09
Definition: registers.hh:279
RiscvISA::CSR_PMPCFG0
@ CSR_PMPCFG0
Definition: registers.hh:333
RiscvISA::CSR_MHPMCOUNTER04
@ CSR_MHPMCOUNTER04
Definition: registers.hh:356
RiscvISA::STATUS_UPIE_MASK
const RegVal STATUS_UPIE_MASK
Definition: registers.hh:667
RiscvISA::CSR_PMPCFG2
@ CSR_PMPCFG2
Definition: registers.hh:335
RiscvISA::CSR_PMPADDR14
@ CSR_PMPADDR14
Definition: registers.hh:351
RiscvISA::CSR_UEPC
@ CSR_UEPC
Definition: registers.hh:263
RiscvISA::MISCREG_SATP
@ MISCREG_SATP
Definition: registers.hh:244
RiscvISA::MISCREG_HPMEVENT28
@ MISCREG_HPMEVENT28
Definition: registers.hh:195
RiscvISA::CSR_MINSTRET
@ CSR_MINSTRET
Definition: registers.hh:354
RiscvISA::CSR_SSCRATCH
@ CSR_SSCRATCH
Definition: registers.hh:310
RiscvISA::CSR_MHPMCOUNTER06
@ CSR_MHPMCOUNTER06
Definition: registers.hh:358
RiscvISA::MISCREG_MTVAL
@ MISCREG_MTVAL
Definition: registers.hh:214
RiscvISA::CSRMetadata
Definition: registers.hh:424
RiscvISA::STATUS_TW_MASK
const RegVal STATUS_TW_MASK
Definition: registers.hh:656
RiscvISA::CSR_MHPMEVENT03
@ CSR_MHPMEVENT03
Definition: registers.hh:385
RiscvISA::tvm
Bitfield< 20 > tvm
Definition: registers.hh:607
RiscvISA::CSRData
const std::map< int, CSRMetadata > CSRData
Definition: registers.hh:430
RiscvISA::CSR_HPMCOUNTER03
@ CSR_HPMCOUNTER03
Definition: registers.hh:273
RiscvISA::MISCREG_STVEC
@ MISCREG_STVEC
Definition: registers.hh:238
RiscvISA::CSR_HPMCOUNTER14
@ CSR_HPMCOUNTER14
Definition: registers.hh:284
RiscvISA::AMOTempReg
const int AMOTempReg
Definition: registers.hh:101
RiscvISA::CSR_MHPMEVENT23
@ CSR_MHPMEVENT23
Definition: registers.hh:405
RiscvISA::CSR_MIP
@ CSR_MIP
Definition: registers.hh:332
RiscvISA::MEI_MASK
const RegVal MEI_MASK
Definition: registers.hh:692
RiscvISA::MISCREG_HPMCOUNTER22
@ MISCREG_HPMCOUNTER22
Definition: registers.hh:160
RiscvISA::CSR_MHPMEVENT26
@ CSR_MHPMEVENT26
Definition: registers.hh:408
RiscvISA::CSR_MHPMCOUNTER27
@ CSR_MHPMCOUNTER27
Definition: registers.hh:379
RiscvISA::SI_MASK
const RegVal SI_MASK
Definition: registers.hh:704
RiscvISA::STATUS_SIE_MASK
const RegVal STATUS_SIE_MASK
Definition: registers.hh:669
RiscvISA::CSR_FRM
@ CSR_FRM
Definition: registers.hh:268
RiscvISA::FS_OFFSET
const off_t FS_OFFSET
Definition: registers.hh:644
RiscvISA::MISCREG_HPMCOUNTER25
@ MISCREG_HPMCOUNTER25
Definition: registers.hh:163
RiscvISA::CSR_HPMCOUNTER10
@ CSR_HPMCOUNTER10
Definition: registers.hh:280
RiscvISA::USTATUS_MASK
const RegVal USTATUS_MASK
Definition: registers.hh:687
RiscvISA::FRM_OFFSET
const off_t FRM_OFFSET
Definition: registers.hh:645
RiscvISA::MISCREG_HPMEVENT12
@ MISCREG_HPMEVENT12
Definition: registers.hh:179
RiscvISA::NUM_MISCREGS
@ NUM_MISCREGS
Definition: registers.hh:254
RiscvISA::MISCREG_PMPADDR14
@ MISCREG_PMPADDR14
Definition: registers.hh:233
RiscvISA::MISCREG_ISA
@ MISCREG_ISA
Definition: registers.hh:130
RiscvISA::CSR_MHPMCOUNTER24
@ CSR_MHPMCOUNTER24
Definition: registers.hh:376
RiscvISA::MISCREG_SEPC
@ MISCREG_SEPC
Definition: registers.hh:241
RiscvISA::CSR_MHPMCOUNTER12
@ CSR_MHPMCOUNTER12
Definition: registers.hh:364
RiscvISA::CSR_MHPMCOUNTER19
@ CSR_MHPMCOUNTER19
Definition: registers.hh:371
ULL
#define ULL(N)
uint64_t constant
Definition: types.hh:50
RiscvISA::CSR_FFLAGS
@ CSR_FFLAGS
Definition: registers.hh:267
RegVal
uint64_t RegVal
Definition: types.hh:168
RiscvISA::VecRegSizeBytes
constexpr size_t VecRegSizeBytes
Definition: registers.hh:70
VecRegContainer
Vector Register Abstraction This generic class is the model in a particularization of MVC,...
Definition: vec_reg.hh:156
RiscvISA::CSR_DSCRATCH
@ CSR_DSCRATCH
Definition: registers.hh:421
RiscvISA::STATUS_UXL_MASK
const RegVal STATUS_UXL_MASK
Definition: registers.hh:654
RiscvISA::VecElem
::DummyVecElem VecElem
Definition: registers.hh:65
RiscvISA::CSR_MHPMCOUNTER10
@ CSR_MHPMCOUNTER10
Definition: registers.hh:362
RiscvISA::MISCREG_HPMCOUNTER15
@ MISCREG_HPMCOUNTER15
Definition: registers.hh:153
RiscvISA::CSR_HPMCOUNTER17
@ CSR_HPMCOUNTER17
Definition: registers.hh:287
RiscvISA::STATUS_TSR_MASK
const RegVal STATUS_TSR_MASK
Definition: registers.hh:655
VecRegT
Vector Register Abstraction This generic class is a view in a particularization of MVC,...
Definition: vec_reg.hh:170
RiscvISA::CSR_MHPMEVENT09
@ CSR_MHPMEVENT09
Definition: registers.hh:391
RiscvISA::ZeroReg
const int ZeroReg
Definition: registers.hh:92
RiscvISA::ReturnValueRegs
const std::vector< int > ReturnValueRegs
Definition: registers.hh:99
RiscvISA::MISCREG_VENDORID
@ MISCREG_VENDORID
Definition: registers.hh:131
RiscvISA::SyscallPseudoReturnReg
const int SyscallPseudoReturnReg
Definition: registers.hh:103
RiscvISA::CSR_MARCHID
@ CSR_MARCHID
Definition: registers.hh:318
RiscvISA::MISCREG_HPMCOUNTER23
@ MISCREG_HPMCOUNTER23
Definition: registers.hh:161
RiscvISA::GlobalPointerReg
const int GlobalPointerReg
Definition: registers.hh:95
RiscvISA::StackPointerReg
const int StackPointerReg
Definition: registers.hh:94
RiscvISA::MISCREG_MIDELEG
@ MISCREG_MIDELEG
Definition: registers.hh:208
RiscvISA::MISCREG_HPMCOUNTER21
@ MISCREG_HPMCOUNTER21
Definition: registers.hh:159
RiscvISA::CSR_HPMCOUNTER20
@ CSR_HPMCOUNTER20
Definition: registers.hh:290

Generated on Wed Sep 30 2020 14:02:01 for gem5 by doxygen 1.8.17