gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Namespaces | Typedefs | Enumerations | Variables
registers.hh File Reference
#include <map>
#include <string>
#include "arch/isa_traits.hh"
#include "arch/riscv/generated/max_inst_regs.hh"
#include "base/types.hh"

Go to the source code of this file.

Namespaces

 RiscvISA
 

Typedefs

typedef uint_fast16_t RiscvISA::RegIndex
 
typedef uint64_t RiscvISA::IntReg
 
typedef uint64_t RiscvISA::FloatRegBits
 
typedef double RiscvISA::FloatReg
 
typedef uint8_t RiscvISA::CCReg
 
typedef uint64_t RiscvISA::MiscReg
 

Enumerations

enum  RiscvISA::MiscRegIndex {
  RiscvISA::MISCREG_USTATUS = 0x000, RiscvISA::MISCREG_UIE = 0x004, RiscvISA::MISCREG_UTVEC = 0x005, RiscvISA::MISCREG_USCRATCH = 0x040,
  RiscvISA::MISCREG_UEPC = 0x041, RiscvISA::MISCREG_UCAUSE = 0x042, RiscvISA::MISCREG_UBADADDR = 0x043, RiscvISA::MISCREG_UIP = 0x044,
  RiscvISA::MISCREG_FFLAGS = 0x001, RiscvISA::MISCREG_FRM = 0x002, RiscvISA::MISCREG_FCSR = 0x003, RiscvISA::MISCREG_CYCLE = 0xC00,
  RiscvISA::MISCREG_TIME = 0xC01, RiscvISA::MISCREG_INSTRET = 0xC02, RiscvISA::MISCREG_HPMCOUNTER_BASE = 0xC03, RiscvISA::MISCREG_CYCLEH = 0xC80,
  RiscvISA::MISCREG_TIMEH = 0xC81, RiscvISA::MISCREG_INSTRETH = 0xC82, RiscvISA::MISCREG_HPMCOUNTERH_BASE = 0xC83, RiscvISA::MISCREG_SSTATUS = 0x100,
  RiscvISA::MISCREG_SEDELEG = 0x102, RiscvISA::MISCREG_SIDELEG = 0x103, RiscvISA::MISCREG_SIE = 0x104, RiscvISA::MISCREG_STVEC = 0x105,
  RiscvISA::MISCREG_SSCRATCH = 0x140, RiscvISA::MISCREG_SEPC = 0x141, RiscvISA::MISCREG_SCAUSE = 0x142, RiscvISA::MISCREG_SBADADDR = 0x143,
  RiscvISA::MISCREG_SIP = 0x144, RiscvISA::MISCREG_SPTBR = 0x180, RiscvISA::MISCREG_HSTATUS = 0x200, RiscvISA::MISCREG_HEDELEG = 0x202,
  RiscvISA::MISCREG_HIDELEG = 0x203, RiscvISA::MISCREG_HIE = 0x204, RiscvISA::MISCREG_HTVEC = 0x205, RiscvISA::MISCREG_HSCRATCH = 0x240,
  RiscvISA::MISCREG_HEPC = 0x241, RiscvISA::MISCREG_HCAUSE = 0x242, RiscvISA::MISCREG_HBADADDR = 0x243, RiscvISA::MISCREG_HIP = 0x244,
  RiscvISA::MISCREG_MVENDORID = 0xF11, RiscvISA::MISCREG_MARCHID = 0xF12, RiscvISA::MISCREG_MIMPID = 0xF13, RiscvISA::MISCREG_MHARTID = 0xF14,
  RiscvISA::MISCREG_MSTATUS = 0x300, RiscvISA::MISCREG_MISA = 0x301, RiscvISA::MISCREG_MEDELEG = 0x302, RiscvISA::MISCREG_MIDELEG = 0x303,
  RiscvISA::MISCREG_MIE = 0x304, RiscvISA::MISCREG_MTVEC = 0x305, RiscvISA::MISCREG_MSCRATCH = 0x340, RiscvISA::MISCREG_MEPC = 0x341,
  RiscvISA::MISCREG_MCAUSE = 0x342, RiscvISA::MISCREG_MBADADDR = 0x343, RiscvISA::MISCREG_MIP = 0x344, RiscvISA::MISCREG_MBASE = 0x380,
  RiscvISA::MISCREG_MBOUND = 0x381, RiscvISA::MISCREG_MIBASE = 0x382, RiscvISA::MISCREG_MIBOUND = 0x383, RiscvISA::MISCREG_MDBASE = 0x384,
  RiscvISA::MISCREG_MDBOUND = 0x385, RiscvISA::MISCREG_MCYCLE = 0xB00, RiscvISA::MISCREG_MINSTRET = 0xB02, RiscvISA::MISCREG_MHPMCOUNTER_BASE = 0xB03,
  RiscvISA::MISCREG_MUCOUNTEREN = 0x320, RiscvISA::MISCREG_MSCOUNTEREN = 0x321, RiscvISA::MISCREG_MHCOUNTEREN = 0x322, RiscvISA::MISCREG_MHPMEVENT_BASE = 0x323,
  RiscvISA::MISCREG_TSELECT = 0x7A0, RiscvISA::MISCREG_TDATA1 = 0x7A1, RiscvISA::MISCREG_TDATA2 = 0x7A2, RiscvISA::MISCREG_TDATA3 = 0x7A3,
  RiscvISA::MISCREG_DCSR = 0x7B0, RiscvISA::MISCREG_DPC = 0x7B1, RiscvISA::MISCREG_DSCRATCH = 0x7B2
}
 

Variables

const int RiscvISA::MaxMiscDestRegs = 1
 
const int RiscvISA::NumIntArchRegs = 32
 
const int RiscvISA::NumMicroIntRegs = 1
 
const int RiscvISA::NumIntRegs = NumIntArchRegs + NumMicroIntRegs
 
const int RiscvISA::NumFloatRegs = 32
 
const int RiscvISA::NumCCRegs = 0
 
const int RiscvISA::NumMiscRegs = 4096
 
const int RiscvISA::FP_Reg_Base = NumIntRegs
 
const int RiscvISA::CC_Reg_Base = FP_Reg_Base + NumFloatRegs
 
const int RiscvISA::Misc_Reg_Base = CC_Reg_Base + NumCCRegs
 
const int RiscvISA::Max_Reg_Index = Misc_Reg_Base + NumMiscRegs
 
const int RiscvISA::ZeroReg = 0
 
const int RiscvISA::ReturnAddrReg = 1
 
const int RiscvISA::StackPointerReg = 2
 
const int RiscvISA::GlobalPointerReg = 3
 
const int RiscvISA::ThreadPointerReg = 4
 
const int RiscvISA::FramePointerReg = 8
 
const int RiscvISA::ReturnValueRegs [] = {10, 11}
 
const int RiscvISA::ReturnValueReg = ReturnValueRegs[0]
 
const int RiscvISA::ArgumentRegs [] = {10, 11, 12, 13, 14, 15, 16, 17}
 
const int RiscvISA::AMOTempReg = 32
 
const char *const RiscvISA::RegisterNames []
 
const int RiscvISA::SyscallNumReg = ArgumentRegs[7]
 
const int RiscvISA::SyscallArgumentRegs []
 
const int RiscvISA::SyscallPseudoReturnReg = ReturnValueRegs[0]
 
const int RiscvISA::NumHpmcounter = 29
 
const int RiscvISA::NumHpmcounterh = 29
 
const int RiscvISA::NumMhpmcounter = 29
 
const int RiscvISA::NumMhpmevent = 29
 

Generated on Fri Jun 9 2017 13:03:52 for gem5 by doxygen 1.8.6