gem5 v25.0.0.1
Loading...
Searching...
No Matches
misc.hh File Reference
#include <string>
#include <unordered_map>
#include "arch/generic/vec_pred_reg.hh"
#include "arch/generic/vec_reg.hh"
#include "arch/riscv/fault_codes.hh"
#include "arch/riscv/types.hh"
#include "base/bitunion.hh"
#include "base/types.hh"
#include "cpu/reg_class.hh"
#include "debug/MiscRegs.hh"
#include "enums/RiscvType.hh"

Go to the source code of this file.

Classes

Namespaces

namespace  gem5
 Copyright (c) 2024 Arm Limited All rights reserved.
namespace  gem5::RiscvISA

Enumerations

enum  gem5::RiscvISA::MiscRegIndex {
  gem5::RiscvISA::MISCREG_PRV = 0 , gem5::RiscvISA::MISCREG_ISA , gem5::RiscvISA::MISCREG_VENDORID , gem5::RiscvISA::MISCREG_ARCHID ,
  gem5::RiscvISA::MISCREG_IMPID , gem5::RiscvISA::MISCREG_HARTID , gem5::RiscvISA::MISCREG_STATUS , gem5::RiscvISA::MISCREG_IP ,
  gem5::RiscvISA::MISCREG_IE , gem5::RiscvISA::MISCREG_CYCLE , gem5::RiscvISA::MISCREG_TIME , gem5::RiscvISA::MISCREG_INSTRET ,
  gem5::RiscvISA::MISCREG_HPMCOUNTER03 , gem5::RiscvISA::MISCREG_HPMCOUNTER04 , gem5::RiscvISA::MISCREG_HPMCOUNTER05 , gem5::RiscvISA::MISCREG_HPMCOUNTER06 ,
  gem5::RiscvISA::MISCREG_HPMCOUNTER07 , gem5::RiscvISA::MISCREG_HPMCOUNTER08 , gem5::RiscvISA::MISCREG_HPMCOUNTER09 , gem5::RiscvISA::MISCREG_HPMCOUNTER10 ,
  gem5::RiscvISA::MISCREG_HPMCOUNTER11 , gem5::RiscvISA::MISCREG_HPMCOUNTER12 , gem5::RiscvISA::MISCREG_HPMCOUNTER13 , gem5::RiscvISA::MISCREG_HPMCOUNTER14 ,
  gem5::RiscvISA::MISCREG_HPMCOUNTER15 , gem5::RiscvISA::MISCREG_HPMCOUNTER16 , gem5::RiscvISA::MISCREG_HPMCOUNTER17 , gem5::RiscvISA::MISCREG_HPMCOUNTER18 ,
  gem5::RiscvISA::MISCREG_HPMCOUNTER19 , gem5::RiscvISA::MISCREG_HPMCOUNTER20 , gem5::RiscvISA::MISCREG_HPMCOUNTER21 , gem5::RiscvISA::MISCREG_HPMCOUNTER22 ,
  gem5::RiscvISA::MISCREG_HPMCOUNTER23 , gem5::RiscvISA::MISCREG_HPMCOUNTER24 , gem5::RiscvISA::MISCREG_HPMCOUNTER25 , gem5::RiscvISA::MISCREG_HPMCOUNTER26 ,
  gem5::RiscvISA::MISCREG_HPMCOUNTER27 , gem5::RiscvISA::MISCREG_HPMCOUNTER28 , gem5::RiscvISA::MISCREG_HPMCOUNTER29 , gem5::RiscvISA::MISCREG_HPMCOUNTER30 ,
  gem5::RiscvISA::MISCREG_HPMCOUNTER31 , gem5::RiscvISA::MISCREG_HPMEVENT03 , gem5::RiscvISA::MISCREG_HPMEVENT04 , gem5::RiscvISA::MISCREG_HPMEVENT05 ,
  gem5::RiscvISA::MISCREG_HPMEVENT06 , gem5::RiscvISA::MISCREG_HPMEVENT07 , gem5::RiscvISA::MISCREG_HPMEVENT08 , gem5::RiscvISA::MISCREG_HPMEVENT09 ,
  gem5::RiscvISA::MISCREG_HPMEVENT10 , gem5::RiscvISA::MISCREG_HPMEVENT11 , gem5::RiscvISA::MISCREG_HPMEVENT12 , gem5::RiscvISA::MISCREG_HPMEVENT13 ,
  gem5::RiscvISA::MISCREG_HPMEVENT14 , gem5::RiscvISA::MISCREG_HPMEVENT15 , gem5::RiscvISA::MISCREG_HPMEVENT16 , gem5::RiscvISA::MISCREG_HPMEVENT17 ,
  gem5::RiscvISA::MISCREG_HPMEVENT18 , gem5::RiscvISA::MISCREG_HPMEVENT19 , gem5::RiscvISA::MISCREG_HPMEVENT20 , gem5::RiscvISA::MISCREG_HPMEVENT21 ,
  gem5::RiscvISA::MISCREG_HPMEVENT22 , gem5::RiscvISA::MISCREG_HPMEVENT23 , gem5::RiscvISA::MISCREG_HPMEVENT24 , gem5::RiscvISA::MISCREG_HPMEVENT25 ,
  gem5::RiscvISA::MISCREG_HPMEVENT26 , gem5::RiscvISA::MISCREG_HPMEVENT27 , gem5::RiscvISA::MISCREG_HPMEVENT28 , gem5::RiscvISA::MISCREG_HPMEVENT29 ,
  gem5::RiscvISA::MISCREG_HPMEVENT30 , gem5::RiscvISA::MISCREG_HPMEVENT31 , gem5::RiscvISA::MISCREG_TSELECT , gem5::RiscvISA::MISCREG_TDATA1 ,
  gem5::RiscvISA::MISCREG_TDATA2 , gem5::RiscvISA::MISCREG_TDATA3 , gem5::RiscvISA::MISCREG_DCSR , gem5::RiscvISA::MISCREG_DPC ,
  gem5::RiscvISA::MISCREG_DSCRATCH , gem5::RiscvISA::MISCREG_MEDELEG , gem5::RiscvISA::MISCREG_MIDELEG , gem5::RiscvISA::MISCREG_MTVEC ,
  gem5::RiscvISA::MISCREG_MCOUNTEREN , gem5::RiscvISA::MISCREG_MSCRATCH , gem5::RiscvISA::MISCREG_MEPC , gem5::RiscvISA::MISCREG_MCAUSE ,
  gem5::RiscvISA::MISCREG_MTVAL , gem5::RiscvISA::MISCREG_PMPCFG0 , gem5::RiscvISA::MISCREG_PMPCFG1 , gem5::RiscvISA::MISCREG_PMPCFG2 ,
  gem5::RiscvISA::MISCREG_PMPCFG3 , gem5::RiscvISA::MISCREG_PMPADDR00 , gem5::RiscvISA::MISCREG_PMPADDR01 , gem5::RiscvISA::MISCREG_PMPADDR02 ,
  gem5::RiscvISA::MISCREG_PMPADDR03 , gem5::RiscvISA::MISCREG_PMPADDR04 , gem5::RiscvISA::MISCREG_PMPADDR05 , gem5::RiscvISA::MISCREG_PMPADDR06 ,
  gem5::RiscvISA::MISCREG_PMPADDR07 , gem5::RiscvISA::MISCREG_PMPADDR08 , gem5::RiscvISA::MISCREG_PMPADDR09 , gem5::RiscvISA::MISCREG_PMPADDR10 ,
  gem5::RiscvISA::MISCREG_PMPADDR11 , gem5::RiscvISA::MISCREG_PMPADDR12 , gem5::RiscvISA::MISCREG_PMPADDR13 , gem5::RiscvISA::MISCREG_PMPADDR14 ,
  gem5::RiscvISA::MISCREG_PMPADDR15 , gem5::RiscvISA::MISCREG_RESERVED01 , gem5::RiscvISA::MISCREG_RESERVED02 , gem5::RiscvISA::MISCREG_STVEC ,
  gem5::RiscvISA::MISCREG_SCOUNTEREN , gem5::RiscvISA::MISCREG_SSCRATCH , gem5::RiscvISA::MISCREG_SEPC , gem5::RiscvISA::MISCREG_SCAUSE ,
  gem5::RiscvISA::MISCREG_STVAL , gem5::RiscvISA::MISCREG_SATP , gem5::RiscvISA::MISCREG_SENVCFG , gem5::RiscvISA::MISCREG_RESERVED03 ,
  gem5::RiscvISA::MISCREG_RESERVED04 , gem5::RiscvISA::MISCREG_RESERVED05 , gem5::RiscvISA::MISCREG_RESERVED06 , gem5::RiscvISA::MISCREG_RESERVED07 ,
  gem5::RiscvISA::MISCREG_FFLAGS , gem5::RiscvISA::MISCREG_FRM , gem5::RiscvISA::MISCREG_VSTART , gem5::RiscvISA::MISCREG_VXSAT ,
  gem5::RiscvISA::MISCREG_VXRM , gem5::RiscvISA::MISCREG_VCSR , gem5::RiscvISA::MISCREG_VL , gem5::RiscvISA::MISCREG_VTYPE ,
  gem5::RiscvISA::MISCREG_VLENB , gem5::RiscvISA::MISCREG_HVIP , gem5::RiscvISA::MISCREG_MTINST , gem5::RiscvISA::MISCREG_MTVAL2 ,
  gem5::RiscvISA::MISCREG_HSTATUS , gem5::RiscvISA::MISCREG_HEDELEG , gem5::RiscvISA::MISCREG_HIDELEG , gem5::RiscvISA::MISCREG_HCOUNTEREN ,
  gem5::RiscvISA::MISCREG_HGEIE , gem5::RiscvISA::MISCREG_HTVAL , gem5::RiscvISA::MISCREG_HTINST , gem5::RiscvISA::MISCREG_HGEIP ,
  gem5::RiscvISA::MISCREG_HENVCFG , gem5::RiscvISA::MISCREG_HGATP , gem5::RiscvISA::MISCREG_HCONTEXT , gem5::RiscvISA::MISCREG_HTIMEDELTA ,
  gem5::RiscvISA::MISCREG_VSSTATUS , gem5::RiscvISA::MISCREG_VSTVEC , gem5::RiscvISA::MISCREG_VSSCRATCH , gem5::RiscvISA::MISCREG_VSEPC ,
  gem5::RiscvISA::MISCREG_VSCAUSE , gem5::RiscvISA::MISCREG_VSTVAL , gem5::RiscvISA::MISCREG_VSATP , gem5::RiscvISA::MISCREG_VIRT ,
  gem5::RiscvISA::MISCREG_NMIVEC , gem5::RiscvISA::MISCREG_NMIE , gem5::RiscvISA::MISCREG_NMIP , gem5::RiscvISA::MISCREG_MNSCRATCH ,
  gem5::RiscvISA::MISCREG_MNEPC , gem5::RiscvISA::MISCREG_MNCAUSE , gem5::RiscvISA::MISCREG_MNSTATUS , gem5::RiscvISA::MISCREG_MSTATUSH ,
  gem5::RiscvISA::MISCREG_CYCLEH , gem5::RiscvISA::MISCREG_TIMEH , gem5::RiscvISA::MISCREG_INSTRETH , gem5::RiscvISA::MISCREG_HPMCOUNTER03H ,
  gem5::RiscvISA::MISCREG_HPMCOUNTER04H , gem5::RiscvISA::MISCREG_HPMCOUNTER05H , gem5::RiscvISA::MISCREG_HPMCOUNTER06H , gem5::RiscvISA::MISCREG_HPMCOUNTER07H ,
  gem5::RiscvISA::MISCREG_HPMCOUNTER08H , gem5::RiscvISA::MISCREG_HPMCOUNTER09H , gem5::RiscvISA::MISCREG_HPMCOUNTER10H , gem5::RiscvISA::MISCREG_HPMCOUNTER11H ,
  gem5::RiscvISA::MISCREG_HPMCOUNTER12H , gem5::RiscvISA::MISCREG_HPMCOUNTER13H , gem5::RiscvISA::MISCREG_HPMCOUNTER14H , gem5::RiscvISA::MISCREG_HPMCOUNTER15H ,
  gem5::RiscvISA::MISCREG_HPMCOUNTER16H , gem5::RiscvISA::MISCREG_HPMCOUNTER17H , gem5::RiscvISA::MISCREG_HPMCOUNTER18H , gem5::RiscvISA::MISCREG_HPMCOUNTER19H ,
  gem5::RiscvISA::MISCREG_HPMCOUNTER20H , gem5::RiscvISA::MISCREG_HPMCOUNTER21H , gem5::RiscvISA::MISCREG_HPMCOUNTER22H , gem5::RiscvISA::MISCREG_HPMCOUNTER23H ,
  gem5::RiscvISA::MISCREG_HPMCOUNTER24H , gem5::RiscvISA::MISCREG_HPMCOUNTER25H , gem5::RiscvISA::MISCREG_HPMCOUNTER26H , gem5::RiscvISA::MISCREG_HPMCOUNTER27H ,
  gem5::RiscvISA::MISCREG_HPMCOUNTER28H , gem5::RiscvISA::MISCREG_HPMCOUNTER29H , gem5::RiscvISA::MISCREG_HPMCOUNTER30H , gem5::RiscvISA::MISCREG_HPMCOUNTER31H ,
  gem5::RiscvISA::MISCREG_JVT , gem5::RiscvISA::NUM_PHYS_MISCREGS , gem5::RiscvISA::MISCREG_FFLAGS_EXE = NUM_PHYS_MISCREGS , gem5::RiscvISA::NUM_MISCREGS
}
enum  gem5::RiscvISA::CSRIndex {
  gem5::RiscvISA::CSR_FFLAGS = 0x001 , gem5::RiscvISA::CSR_FRM = 0x002 , gem5::RiscvISA::CSR_FCSR = 0x003 , gem5::RiscvISA::CSR_CYCLE = 0xC00 ,
  gem5::RiscvISA::CSR_TIME = 0xC01 , gem5::RiscvISA::CSR_INSTRET = 0xC02 , gem5::RiscvISA::CSR_HPMCOUNTER03 = 0xC03 , gem5::RiscvISA::CSR_HPMCOUNTER04 = 0xC04 ,
  gem5::RiscvISA::CSR_HPMCOUNTER05 = 0xC05 , gem5::RiscvISA::CSR_HPMCOUNTER06 = 0xC06 , gem5::RiscvISA::CSR_HPMCOUNTER07 = 0xC07 , gem5::RiscvISA::CSR_HPMCOUNTER08 = 0xC08 ,
  gem5::RiscvISA::CSR_HPMCOUNTER09 = 0xC09 , gem5::RiscvISA::CSR_HPMCOUNTER10 = 0xC0A , gem5::RiscvISA::CSR_HPMCOUNTER11 = 0xC0B , gem5::RiscvISA::CSR_HPMCOUNTER12 = 0xC0C ,
  gem5::RiscvISA::CSR_HPMCOUNTER13 = 0xC0D , gem5::RiscvISA::CSR_HPMCOUNTER14 = 0xC0E , gem5::RiscvISA::CSR_HPMCOUNTER15 = 0xC0F , gem5::RiscvISA::CSR_HPMCOUNTER16 = 0xC10 ,
  gem5::RiscvISA::CSR_HPMCOUNTER17 = 0xC11 , gem5::RiscvISA::CSR_HPMCOUNTER18 = 0xC12 , gem5::RiscvISA::CSR_HPMCOUNTER19 = 0xC13 , gem5::RiscvISA::CSR_HPMCOUNTER20 = 0xC14 ,
  gem5::RiscvISA::CSR_HPMCOUNTER21 = 0xC15 , gem5::RiscvISA::CSR_HPMCOUNTER22 = 0xC16 , gem5::RiscvISA::CSR_HPMCOUNTER23 = 0xC17 , gem5::RiscvISA::CSR_HPMCOUNTER24 = 0xC18 ,
  gem5::RiscvISA::CSR_HPMCOUNTER25 = 0xC19 , gem5::RiscvISA::CSR_HPMCOUNTER26 = 0xC1A , gem5::RiscvISA::CSR_HPMCOUNTER27 = 0xC1B , gem5::RiscvISA::CSR_HPMCOUNTER28 = 0xC1C ,
  gem5::RiscvISA::CSR_HPMCOUNTER29 = 0xC1D , gem5::RiscvISA::CSR_HPMCOUNTER30 = 0xC1E , gem5::RiscvISA::CSR_HPMCOUNTER31 = 0xC1F , gem5::RiscvISA::CSR_CYCLEH = 0xC80 ,
  gem5::RiscvISA::CSR_TIMEH = 0xC81 , gem5::RiscvISA::CSR_INSTRETH = 0xC82 , gem5::RiscvISA::CSR_HPMCOUNTER03H = 0xC83 , gem5::RiscvISA::CSR_HPMCOUNTER04H = 0xC84 ,
  gem5::RiscvISA::CSR_HPMCOUNTER05H = 0xC85 , gem5::RiscvISA::CSR_HPMCOUNTER06H = 0xC86 , gem5::RiscvISA::CSR_HPMCOUNTER07H = 0xC87 , gem5::RiscvISA::CSR_HPMCOUNTER08H = 0xC88 ,
  gem5::RiscvISA::CSR_HPMCOUNTER09H = 0xC89 , gem5::RiscvISA::CSR_HPMCOUNTER10H = 0xC8A , gem5::RiscvISA::CSR_HPMCOUNTER11H = 0xC8B , gem5::RiscvISA::CSR_HPMCOUNTER12H = 0xC8C ,
  gem5::RiscvISA::CSR_HPMCOUNTER13H = 0xC8D , gem5::RiscvISA::CSR_HPMCOUNTER14H = 0xC8E , gem5::RiscvISA::CSR_HPMCOUNTER15H = 0xC8F , gem5::RiscvISA::CSR_HPMCOUNTER16H = 0xC90 ,
  gem5::RiscvISA::CSR_HPMCOUNTER17H = 0xC91 , gem5::RiscvISA::CSR_HPMCOUNTER18H = 0xC92 , gem5::RiscvISA::CSR_HPMCOUNTER19H = 0xC93 , gem5::RiscvISA::CSR_HPMCOUNTER20H = 0xC94 ,
  gem5::RiscvISA::CSR_HPMCOUNTER21H = 0xC95 , gem5::RiscvISA::CSR_HPMCOUNTER22H = 0xC96 , gem5::RiscvISA::CSR_HPMCOUNTER23H = 0xC97 , gem5::RiscvISA::CSR_HPMCOUNTER24H = 0xC98 ,
  gem5::RiscvISA::CSR_HPMCOUNTER25H = 0xC99 , gem5::RiscvISA::CSR_HPMCOUNTER26H = 0xC9A , gem5::RiscvISA::CSR_HPMCOUNTER27H = 0xC9B , gem5::RiscvISA::CSR_HPMCOUNTER28H = 0xC9C ,
  gem5::RiscvISA::CSR_HPMCOUNTER29H = 0xC9D , gem5::RiscvISA::CSR_HPMCOUNTER30H = 0xC9E , gem5::RiscvISA::CSR_HPMCOUNTER31H = 0xC9F , gem5::RiscvISA::CSR_SSTATUS = 0x100 ,
  gem5::RiscvISA::CSR_SIE = 0x104 , gem5::RiscvISA::CSR_STVEC = 0x105 , gem5::RiscvISA::CSR_SCOUNTEREN = 0x106 , gem5::RiscvISA::CSR_SSCRATCH = 0x140 ,
  gem5::RiscvISA::CSR_SEPC = 0x141 , gem5::RiscvISA::CSR_SCAUSE = 0x142 , gem5::RiscvISA::CSR_STVAL = 0x143 , gem5::RiscvISA::CSR_SIP = 0x144 ,
  gem5::RiscvISA::CSR_SATP = 0x180 , gem5::RiscvISA::CSR_SENVCFG = 0x10A , gem5::RiscvISA::CSR_MVENDORID = 0xF11 , gem5::RiscvISA::CSR_MARCHID = 0xF12 ,
  gem5::RiscvISA::CSR_MIMPID = 0xF13 , gem5::RiscvISA::CSR_MHARTID = 0xF14 , gem5::RiscvISA::CSR_MSTATUS = 0x300 , gem5::RiscvISA::CSR_MISA = 0x301 ,
  gem5::RiscvISA::CSR_MEDELEG = 0x302 , gem5::RiscvISA::CSR_MIDELEG = 0x303 , gem5::RiscvISA::CSR_MIE = 0x304 , gem5::RiscvISA::CSR_MTVEC = 0x305 ,
  gem5::RiscvISA::CSR_MCOUNTEREN = 0x306 , gem5::RiscvISA::CSR_MSTATUSH = 0x310 , gem5::RiscvISA::CSR_MSCRATCH = 0x340 , gem5::RiscvISA::CSR_MEPC = 0x341 ,
  gem5::RiscvISA::CSR_MCAUSE = 0x342 , gem5::RiscvISA::CSR_MTVAL = 0x343 , gem5::RiscvISA::CSR_MIP = 0x344 , gem5::RiscvISA::CSR_PMPCFG0 = 0x3A0 ,
  gem5::RiscvISA::CSR_PMPCFG1 = 0x3A1 , gem5::RiscvISA::CSR_PMPCFG2 = 0x3A2 , gem5::RiscvISA::CSR_PMPCFG3 = 0x3A3 , gem5::RiscvISA::CSR_PMPADDR00 = 0x3B0 ,
  gem5::RiscvISA::CSR_PMPADDR01 = 0x3B1 , gem5::RiscvISA::CSR_PMPADDR02 = 0x3B2 , gem5::RiscvISA::CSR_PMPADDR03 = 0x3B3 , gem5::RiscvISA::CSR_PMPADDR04 = 0x3B4 ,
  gem5::RiscvISA::CSR_PMPADDR05 = 0x3B5 , gem5::RiscvISA::CSR_PMPADDR06 = 0x3B6 , gem5::RiscvISA::CSR_PMPADDR07 = 0x3B7 , gem5::RiscvISA::CSR_PMPADDR08 = 0x3B8 ,
  gem5::RiscvISA::CSR_PMPADDR09 = 0x3B9 , gem5::RiscvISA::CSR_PMPADDR10 = 0x3BA , gem5::RiscvISA::CSR_PMPADDR11 = 0x3BB , gem5::RiscvISA::CSR_PMPADDR12 = 0x3BC ,
  gem5::RiscvISA::CSR_PMPADDR13 = 0x3BD , gem5::RiscvISA::CSR_PMPADDR14 = 0x3BE , gem5::RiscvISA::CSR_PMPADDR15 = 0x3BF , gem5::RiscvISA::CSR_MCYCLE = 0xB00 ,
  gem5::RiscvISA::CSR_MINSTRET = 0xB02 , gem5::RiscvISA::CSR_MHPMCOUNTER03 = 0xB03 , gem5::RiscvISA::CSR_MHPMCOUNTER04 = 0xB04 , gem5::RiscvISA::CSR_MHPMCOUNTER05 = 0xB05 ,
  gem5::RiscvISA::CSR_MHPMCOUNTER06 = 0xB06 , gem5::RiscvISA::CSR_MHPMCOUNTER07 = 0xB07 , gem5::RiscvISA::CSR_MHPMCOUNTER08 = 0xB08 , gem5::RiscvISA::CSR_MHPMCOUNTER09 = 0xB09 ,
  gem5::RiscvISA::CSR_MHPMCOUNTER10 = 0xB0A , gem5::RiscvISA::CSR_MHPMCOUNTER11 = 0xB0B , gem5::RiscvISA::CSR_MHPMCOUNTER12 = 0xB0C , gem5::RiscvISA::CSR_MHPMCOUNTER13 = 0xB0D ,
  gem5::RiscvISA::CSR_MHPMCOUNTER14 = 0xB0E , gem5::RiscvISA::CSR_MHPMCOUNTER15 = 0xB0F , gem5::RiscvISA::CSR_MHPMCOUNTER16 = 0xB10 , gem5::RiscvISA::CSR_MHPMCOUNTER17 = 0xB11 ,
  gem5::RiscvISA::CSR_MHPMCOUNTER18 = 0xB12 , gem5::RiscvISA::CSR_MHPMCOUNTER19 = 0xB13 , gem5::RiscvISA::CSR_MHPMCOUNTER20 = 0xB14 , gem5::RiscvISA::CSR_MHPMCOUNTER21 = 0xB15 ,
  gem5::RiscvISA::CSR_MHPMCOUNTER22 = 0xB16 , gem5::RiscvISA::CSR_MHPMCOUNTER23 = 0xB17 , gem5::RiscvISA::CSR_MHPMCOUNTER24 = 0xB18 , gem5::RiscvISA::CSR_MHPMCOUNTER25 = 0xB19 ,
  gem5::RiscvISA::CSR_MHPMCOUNTER26 = 0xB1A , gem5::RiscvISA::CSR_MHPMCOUNTER27 = 0xB1B , gem5::RiscvISA::CSR_MHPMCOUNTER28 = 0xB1C , gem5::RiscvISA::CSR_MHPMCOUNTER29 = 0xB1D ,
  gem5::RiscvISA::CSR_MHPMCOUNTER30 = 0xB1E , gem5::RiscvISA::CSR_MHPMCOUNTER31 = 0xB1F , gem5::RiscvISA::CSR_MCYCLEH = 0xB80 , gem5::RiscvISA::CSR_MINSTRETH = 0xB82 ,
  gem5::RiscvISA::CSR_MHPMCOUNTER03H = 0xB83 , gem5::RiscvISA::CSR_MHPMCOUNTER04H = 0xB84 , gem5::RiscvISA::CSR_MHPMCOUNTER05H = 0xB85 , gem5::RiscvISA::CSR_MHPMCOUNTER06H = 0xB86 ,
  gem5::RiscvISA::CSR_MHPMCOUNTER07H = 0xB87 , gem5::RiscvISA::CSR_MHPMCOUNTER08H = 0xB88 , gem5::RiscvISA::CSR_MHPMCOUNTER09H = 0xB89 , gem5::RiscvISA::CSR_MHPMCOUNTER10H = 0xB8A ,
  gem5::RiscvISA::CSR_MHPMCOUNTER11H = 0xB8B , gem5::RiscvISA::CSR_MHPMCOUNTER12H = 0xB8C , gem5::RiscvISA::CSR_MHPMCOUNTER13H = 0xB8D , gem5::RiscvISA::CSR_MHPMCOUNTER14H = 0xB8E ,
  gem5::RiscvISA::CSR_MHPMCOUNTER15H = 0xB8F , gem5::RiscvISA::CSR_MHPMCOUNTER16H = 0xB90 , gem5::RiscvISA::CSR_MHPMCOUNTER17H = 0xB91 , gem5::RiscvISA::CSR_MHPMCOUNTER18H = 0xB92 ,
  gem5::RiscvISA::CSR_MHPMCOUNTER19H = 0xB93 , gem5::RiscvISA::CSR_MHPMCOUNTER20H = 0xB94 , gem5::RiscvISA::CSR_MHPMCOUNTER21H = 0xB95 , gem5::RiscvISA::CSR_MHPMCOUNTER22H = 0xB96 ,
  gem5::RiscvISA::CSR_MHPMCOUNTER23H = 0xB97 , gem5::RiscvISA::CSR_MHPMCOUNTER24H = 0xB98 , gem5::RiscvISA::CSR_MHPMCOUNTER25H = 0xB99 , gem5::RiscvISA::CSR_MHPMCOUNTER26H = 0xB9A ,
  gem5::RiscvISA::CSR_MHPMCOUNTER27H = 0xB9B , gem5::RiscvISA::CSR_MHPMCOUNTER28H = 0xB9C , gem5::RiscvISA::CSR_MHPMCOUNTER29H = 0xB9D , gem5::RiscvISA::CSR_MHPMCOUNTER30H = 0xB9E ,
  gem5::RiscvISA::CSR_MHPMCOUNTER31H = 0xB9F , gem5::RiscvISA::CSR_MHPMEVENT03 = 0x323 , gem5::RiscvISA::CSR_MHPMEVENT04 = 0x324 , gem5::RiscvISA::CSR_MHPMEVENT05 = 0x325 ,
  gem5::RiscvISA::CSR_MHPMEVENT06 = 0x326 , gem5::RiscvISA::CSR_MHPMEVENT07 = 0x327 , gem5::RiscvISA::CSR_MHPMEVENT08 = 0x328 , gem5::RiscvISA::CSR_MHPMEVENT09 = 0x329 ,
  gem5::RiscvISA::CSR_MHPMEVENT10 = 0x32A , gem5::RiscvISA::CSR_MHPMEVENT11 = 0x32B , gem5::RiscvISA::CSR_MHPMEVENT12 = 0x32C , gem5::RiscvISA::CSR_MHPMEVENT13 = 0x32D ,
  gem5::RiscvISA::CSR_MHPMEVENT14 = 0x32E , gem5::RiscvISA::CSR_MHPMEVENT15 = 0x32F , gem5::RiscvISA::CSR_MHPMEVENT16 = 0x330 , gem5::RiscvISA::CSR_MHPMEVENT17 = 0x331 ,
  gem5::RiscvISA::CSR_MHPMEVENT18 = 0x332 , gem5::RiscvISA::CSR_MHPMEVENT19 = 0x333 , gem5::RiscvISA::CSR_MHPMEVENT20 = 0x334 , gem5::RiscvISA::CSR_MHPMEVENT21 = 0x335 ,
  gem5::RiscvISA::CSR_MHPMEVENT22 = 0x336 , gem5::RiscvISA::CSR_MHPMEVENT23 = 0x337 , gem5::RiscvISA::CSR_MHPMEVENT24 = 0x338 , gem5::RiscvISA::CSR_MHPMEVENT25 = 0x339 ,
  gem5::RiscvISA::CSR_MHPMEVENT26 = 0x33A , gem5::RiscvISA::CSR_MHPMEVENT27 = 0x33B , gem5::RiscvISA::CSR_MHPMEVENT28 = 0x33C , gem5::RiscvISA::CSR_MHPMEVENT29 = 0x33D ,
  gem5::RiscvISA::CSR_MHPMEVENT30 = 0x33E , gem5::RiscvISA::CSR_MHPMEVENT31 = 0x33F , gem5::RiscvISA::CSR_TSELECT = 0x7A0 , gem5::RiscvISA::CSR_TDATA1 = 0x7A1 ,
  gem5::RiscvISA::CSR_TDATA2 = 0x7A2 , gem5::RiscvISA::CSR_TDATA3 = 0x7A3 , gem5::RiscvISA::CSR_DCSR = 0x7B0 , gem5::RiscvISA::CSR_DPC = 0x7B1 ,
  gem5::RiscvISA::CSR_DSCRATCH = 0x7B2 , gem5::RiscvISA::CSR_VSTART = 0x008 , gem5::RiscvISA::CSR_VXSAT = 0x009 , gem5::RiscvISA::CSR_VXRM = 0x00A ,
  gem5::RiscvISA::CSR_VCSR = 0x00F , gem5::RiscvISA::CSR_VL = 0xC20 , gem5::RiscvISA::CSR_VTYPE = 0xC21 , gem5::RiscvISA::CSR_VLENB = 0xC22 ,
  gem5::RiscvISA::CSR_MNSCRATCH = 0x740 , gem5::RiscvISA::CSR_MNEPC = 0x741 , gem5::RiscvISA::CSR_MNCAUSE = 0x742 , gem5::RiscvISA::CSR_MNSTATUS = 0x744 ,
  gem5::RiscvISA::CSR_JVT = 0x017 , gem5::RiscvISA::CSR_MTINST = 0x34A , gem5::RiscvISA::CSR_MTVAL2 = 0x34B , gem5::RiscvISA::CSR_HSTATUS = 0x600 ,
  gem5::RiscvISA::CSR_HEDELEG = 0x602 , gem5::RiscvISA::CSR_HIDELEG = 0x603 , gem5::RiscvISA::CSR_HIE = 0x604 , gem5::RiscvISA::CSR_HTIMEDELTA = 0x605 ,
  gem5::RiscvISA::CSR_HCOUNTEREN = 0x606 , gem5::RiscvISA::CSR_HGEIE = 0x607 , gem5::RiscvISA::CSR_HTVAL = 0x643 , gem5::RiscvISA::CSR_HIP = 0x644 ,
  gem5::RiscvISA::CSR_HVIP = 0x645 , gem5::RiscvISA::CSR_HTINST = 0x64A , gem5::RiscvISA::CSR_HGEIP = 0xE12 , gem5::RiscvISA::CSR_HENVCFG = 0x60A ,
  gem5::RiscvISA::CSR_HGATP = 0x680 , gem5::RiscvISA::CSR_HCONTEXT = 0x6A8 , gem5::RiscvISA::CSR_VSSTATUS = 0x200 , gem5::RiscvISA::CSR_VSIE = 0x204 ,
  gem5::RiscvISA::CSR_VSTVEC = 0x205 , gem5::RiscvISA::CSR_VSSCRATCH = 0x240 , gem5::RiscvISA::CSR_VSEPC = 0x241 , gem5::RiscvISA::CSR_VSCAUSE = 0x242 ,
  gem5::RiscvISA::CSR_VSTVAL = 0x243 , gem5::RiscvISA::CSR_VSIP = 0x244 , gem5::RiscvISA::CSR_VSATP = 0x280
}

Functions

constexpr RegClass gem5::RiscvISA::miscRegClass (MiscRegClass, MiscRegClassName, NUM_MISCREGS, debug::MiscRegs)
template<typename... T>
constexpr uint64_t gem5::RiscvISA::rvTypeFlags (T... args)
template<typename... T>
constexpr uint64_t gem5::RiscvISA::isaExtsFlags (T... isa_exts)
constexpr uint64_t gem5::RiscvISA::isaExtsFlags ()
 gem5::RiscvISA::BitUnion64 (STATUS) Bitfield< 63 > rv64_sd
 These fields are specified in the RISC-V Instruction Set Manual, Volume II, v1.10, accessible at www.riscv.org.
 gem5::RiscvISA::EndBitUnion (STATUS) BitUnion64(HSTATUS) Bitfield< 33
 gem5::RiscvISA::EndBitUnion (HSTATUS) BitUnion64(NSTATUS) Bitfield< 12
 These fields are specified in the RISC-V Instruction Set Manual.
 gem5::RiscvISA::EndBitUnion (NSTATUS) BitUnion64(MISA) Bitfield< 63
 These fields are specified in the RISC-V Instruction Set Manual, Volume II, v1.10, v1.11 and v1.12 in Figure 3.1, accessible at www.riscv.org.
 gem5::RiscvISA::EndBitUnion (MISA) BitUnion64(INTERRUPT) Bitfield< 63
 These fields are specified in the RISC-V Instruction Set Manual, Volume II, v1.10 in Figures 3.11 and 3.12, accessible at www.riscv.org.
 gem5::RiscvISA::EndBitUnion (INTERRUPT) BitUnion64(SENVCFG) Bitfield< 63
 gem5::RiscvISA::EndBitUnion (SENVCFG) BitUnion64(JVT) Bitfield< 63
 gem5::RiscvISA::EndBitUnion (JVT) const off_t MXL_OFFSETS[enums

Variables

const std::unordered_map< int, CSRMetadatagem5::RiscvISA::CSRData
Bitfield< 39 > gem5::RiscvISA::mpv
Bitfield< 38 > gem5::RiscvISA::gva
Bitfield< 37 > gem5::RiscvISA::mbe
Bitfield< 36 > gem5::RiscvISA::sbe
Bitfield< 35, 34 > gem5::RiscvISA::sxl
Bitfield< 33, 32 > gem5::RiscvISA::uxl
Bitfield< 31 > gem5::RiscvISA::rv32_sd
Bitfield< 22 > gem5::RiscvISA::tsr
Bitfield< 21 > gem5::RiscvISA::tw
Bitfield< 20 > gem5::RiscvISA::tvm
Bitfield< 19 > gem5::RiscvISA::mxr
Bitfield< 18 > gem5::RiscvISA::sum
Bitfield< 17 > gem5::RiscvISA::mprv
Bitfield< 16, 15 > gem5::RiscvISA::xs
Bitfield< 14, 13 > gem5::RiscvISA::fs
Bitfield< 12, 11 > gem5::RiscvISA::mpp
Bitfield< 8 > gem5::RiscvISA::spp
Bitfield< 7 > gem5::RiscvISA::mpie
Bitfield< 6 > gem5::RiscvISA::ube
Bitfield< 5 > gem5::RiscvISA::spie
Bitfield< 3 > gem5::RiscvISA::mie
Bitfield< 1 > gem5::RiscvISA::sie
 gem5::RiscvISA::vsxl
Bitfield< 22 > gem5::RiscvISA::vtsr
Bitfield< 21 > gem5::RiscvISA::vtw
Bitfield< 20 > gem5::RiscvISA::vtvm
Bitfield< 17, 12 > gem5::RiscvISA::vgein
Bitfield< 9 > gem5::RiscvISA::hu
Bitfield< 8 > gem5::RiscvISA::spvp
Bitfield< 7 > gem5::RiscvISA::spv
Bitfield< 5 > gem5::RiscvISA::vsbe
 gem5::RiscvISA::mnpp
Bitfield< 7 > gem5::RiscvISA::mnv
Bitfield< 3 > gem5::RiscvISA::nmie
 gem5::RiscvISA::rv64_mxl
Bitfield< 31, 30 > gem5::RiscvISA::rv32_mxl
Bitfield< 23 > gem5::RiscvISA::rvx
Bitfield< 21 > gem5::RiscvISA::rvv
Bitfield< 20 > gem5::RiscvISA::rvu
Bitfield< 19 > gem5::RiscvISA::rvt
Bitfield< 18 > gem5::RiscvISA::rvs
Bitfield< 16 > gem5::RiscvISA::rvq
Bitfield< 15 > gem5::RiscvISA::rvp
Bitfield< 13 > gem5::RiscvISA::rvn
Bitfield< 12 > gem5::RiscvISA::rvm
Bitfield< 11 > gem5::RiscvISA::rvl
Bitfield< 10 > gem5::RiscvISA::rvk
Bitfield< 9 > gem5::RiscvISA::rvj
Bitfield< 8 > gem5::RiscvISA::rvi
Bitfield< 7 > gem5::RiscvISA::rvh
Bitfield< 6 > gem5::RiscvISA::rvg
Bitfield< 5 > gem5::RiscvISA::rvf
Bitfield< 4 > gem5::RiscvISA::rve
Bitfield< 3 > gem5::RiscvISA::rvd
Bitfield< 2 > gem5::RiscvISA::rvc
Bitfield< 1 > gem5::RiscvISA::rvb
Bitfield< 0 > gem5::RiscvISA::rva
 gem5::RiscvISA::local
Bitfield< 12 > gem5::RiscvISA::sgei
Bitfield< 11 > gem5::RiscvISA::mei
Bitfield< 10 > gem5::RiscvISA::vsei
Bitfield< 9 > gem5::RiscvISA::sei
Bitfield< 7 > gem5::RiscvISA::mti
Bitfield< 6 > gem5::RiscvISA::vsti
Bitfield< 5 > gem5::RiscvISA::sti
Bitfield< 3 > gem5::RiscvISA::msi
Bitfield< 2 > gem5::RiscvISA::vssi
Bitfield< 1 > gem5::RiscvISA::ssi
 gem5::RiscvISA::wpri_1
Bitfield< 33, 32 > gem5::RiscvISA::pmm
Bitfield< 31, 8 > gem5::RiscvISA::wpri_2
Bitfield< 7 > gem5::RiscvISA::cbze
Bitfield< 6 > gem5::RiscvISA::cbcfe
Bitfield< 5, 4 > gem5::RiscvISA::cbie
Bitfield< 3, 1 > gem5::RiscvISA::wpri_3
Bitfield< 0 > gem5::RiscvISA::fiom
 gem5::RiscvISA::base
const off_t gem5::RiscvISA::MBE_OFFSET [enums::Num_RiscvType]
const off_t gem5::RiscvISA::SBE_OFFSET [enums::Num_RiscvType]
const off_t gem5::RiscvISA::SXL_OFFSET = 34
const off_t gem5::RiscvISA::VSXL_OFFSET = 32
const off_t gem5::RiscvISA::UXL_OFFSET = 32
const off_t gem5::RiscvISA::FS_OFFSET = 13
const off_t gem5::RiscvISA::VS_OFFSET = 9
const off_t gem5::RiscvISA::FRM_OFFSET = 5
const RegVal gem5::RiscvISA::ISA_MXL_MASKS [enums::Num_RiscvType]
const RegVal gem5::RiscvISA::ISA_EXT_MASK = mask(26)
const RegVal gem5::RiscvISA::ISA_EXT_C_MASK = 1UL << ('c' - 'a')
const RegVal gem5::RiscvISA::MISA_MASKS [enums::Num_RiscvType]
const RegVal gem5::RiscvISA::STATUS_SD_MASKS [enums::Num_RiscvType]
const RegVal gem5::RiscvISA::STATUS_MBE_MASK [enums::Num_RiscvType]
const RegVal gem5::RiscvISA::STATUS_SBE_MASK [enums::Num_RiscvType]
const RegVal gem5::RiscvISA::STATUS_MPV_MASK = 1LL << 39
const RegVal gem5::RiscvISA::STATUS_GVA_MASK = 1LL << 38
const RegVal gem5::RiscvISA::STATUS_SXL_MASK = 3ULL << SXL_OFFSET
const RegVal gem5::RiscvISA::STATUS_UXL_MASK = 3ULL << UXL_OFFSET
const RegVal gem5::RiscvISA::STATUS_TSR_MASK = 1ULL << 22
const RegVal gem5::RiscvISA::STATUS_TW_MASK = 1ULL << 21
const RegVal gem5::RiscvISA::STATUS_TVM_MASK = 1ULL << 20
const RegVal gem5::RiscvISA::STATUS_MXR_MASK = 1ULL << 19
const RegVal gem5::RiscvISA::STATUS_SUM_MASK = 1ULL << 18
const RegVal gem5::RiscvISA::STATUS_MPRV_MASK = 1ULL << 17
const RegVal gem5::RiscvISA::STATUS_XS_MASK = 3ULL << 15
const RegVal gem5::RiscvISA::STATUS_FS_MASK = 3ULL << FS_OFFSET
const RegVal gem5::RiscvISA::STATUS_MPP_MASK = 3ULL << 11
const RegVal gem5::RiscvISA::STATUS_VS_MASK = 3ULL << VS_OFFSET
const RegVal gem5::RiscvISA::STATUS_SPP_MASK = 1ULL << 8
const RegVal gem5::RiscvISA::STATUS_MPIE_MASK = 1ULL << 7
const RegVal gem5::RiscvISA::STATUS_UBE_MASK = 1ULL << 6
const RegVal gem5::RiscvISA::STATUS_SPIE_MASK = 1ULL << 5
const RegVal gem5::RiscvISA::STATUS_MIE_MASK = 1ULL << 3
const RegVal gem5::RiscvISA::STATUS_SIE_MASK = 1ULL << 1
const RegVal gem5::RiscvISA::HSTATUS_VSXL_MASK = 3ULL << VSXL_OFFSET
const RegVal gem5::RiscvISA::HSTATUS_VTSR_MASK = 1ULL << 22
const RegVal gem5::RiscvISA::HSTATUS_VTW_MASK = 1ULL << 21
const RegVal gem5::RiscvISA::HSTATUS_VTVM_MASK = 1ULL << 20
const RegVal gem5::RiscvISA::HSTATUS_VGEIN_MASK = 63ULL << 12
const RegVal gem5::RiscvISA::HSTATUS_HU_MASK = 1ULL << 9
const RegVal gem5::RiscvISA::HSTATUS_SPVP_MASK = 1ULL << 8
const RegVal gem5::RiscvISA::HSTATUS_SPV_MASK = 1ULL << 7
const RegVal gem5::RiscvISA::HSTATUS_GVA_MASK = 1LL << 6
const RegVal gem5::RiscvISA::HSTATUS_VSBE_MASK = 1ULL << 5
const RegVal gem5::RiscvISA::MSTATUS_MASKS [enums::Num_RiscvType][enums::Num_PrivilegeModeSet]
const RegVal gem5::RiscvISA::MSTATUSH_MASKS [enums::Num_PrivilegeModeSet]
const RegVal gem5::RiscvISA::HSTATUS_MASKS [enums::Num_RiscvType][enums::Num_PrivilegeModeSet]
const RegVal gem5::RiscvISA::SSTATUS_MASKS [enums::Num_RiscvType][enums::Num_PrivilegeModeSet]
const RegVal gem5::RiscvISA::LOCAL_MASK = mask(63,16)
const RegVal gem5::RiscvISA::SGEI_MASK = 1ULL << 12
const RegVal gem5::RiscvISA::MEI_MASK = 1ULL << 11
const RegVal gem5::RiscvISA::VSEI_MASK = 1ULL << 10
const RegVal gem5::RiscvISA::SEI_MASK = 1ULL << 9
const RegVal gem5::RiscvISA::MTI_MASK = 1ULL << 7
const RegVal gem5::RiscvISA::VSTI_MASK = 1ULL << 6
const RegVal gem5::RiscvISA::STI_MASK = 1ULL << 5
const RegVal gem5::RiscvISA::MSI_MASK = 1ULL << 3
const RegVal gem5::RiscvISA::VSSI_MASK = 1ULL << 2
const RegVal gem5::RiscvISA::SSI_MASK = 1ULL << 1
const RegVal gem5::RiscvISA::MI_MASK [enums::Num_PrivilegeModeSet]
const RegVal gem5::RiscvISA::SI_MASK [enums::Num_PrivilegeModeSet]
const RegVal gem5::RiscvISA::MIDELEG_MASK [enums::Num_PrivilegeModeSet]
const RegVal gem5::RiscvISA::VSI_MASK [enums::Num_PrivilegeModeSet]
const RegVal gem5::RiscvISA::FFLAGS_MASK = (1 << FRM_OFFSET) - 1
const RegVal gem5::RiscvISA::FRM_MASK = 0x7
const RegVal gem5::RiscvISA::CAUSE_INTERRUPT_MASKS [enums::Num_RiscvType]
const RegVal gem5::RiscvISA::DELEGABLE_INTS_MASK
const RegVal gem5::RiscvISA::HS_INTERRUPTS = SGEI_MASK | VSSI_MASK | VSTI_MASK | VSEI_MASK
const std::unordered_map< int, RegValgem5::RiscvISA::CSRMasks [enums::Num_RiscvType][enums::Num_PrivilegeModeSet]
const std::unordered_map< int, RegValgem5::RiscvISA::CSRWriteMasks [enums::Num_RiscvType][enums::Num_PrivilegeModeSet]

Generated on Sat Oct 18 2025 08:06:47 for gem5 by doxygen 1.14.0