45 #ifndef __ARCH_RISCV_REGISTERS_HH__ 46 #define __ARCH_RISCV_REGISTERS_HH__ 55 #include "arch/isa_traits.hh" 56 #include "arch/riscv/generated/max_inst_regs.hh" 62 using RiscvISAInst::MaxInstDestRegs;
109 "zero",
"ra",
"sp",
"gp",
110 "tp",
"t0",
"t1",
"t2",
111 "s0",
"s1",
"a0",
"a1",
112 "a2",
"a3",
"a4",
"a5",
113 "a6",
"a7",
"s2",
"s3",
114 "s4",
"s5",
"s6",
"s7",
115 "s8",
"s9",
"s10",
"s11",
116 "t3",
"t4",
"t5",
"t6" 119 "ft0",
"ft1",
"ft2",
"ft3",
120 "ft4",
"ft5",
"ft6",
"ft7",
121 "fs0",
"fs1",
"fa0",
"fa1",
122 "fa2",
"fa3",
"fa4",
"fa5",
123 "fa6",
"fa7",
"fs2",
"fs3",
124 "fs4",
"fs5",
"fs6",
"fs7",
125 "fs8",
"fs9",
"fs10",
"fs11",
126 "ft8",
"ft9",
"ft10",
"ft11" 642 const off_t MXL_OFFSET = (
sizeof(uint64_t) * 8 - 2);
730 #endif // __ARCH_RISCV_REGISTERS_HH__
const std::vector< std::string > IntRegNames
const RegVal USTATUS_MASK
const RegVal STATUS_SUM_MASK
const RegVal STATUS_TW_MASK
BitUnion64(SATP) Bitfield< 63
const std::vector< int > ArgumentRegs
const std::vector< int > ReturnValueRegs
const RegVal STATUS_UXL_MASK
const RegVal STATUS_TVM_MASK
constexpr unsigned DummyNumVecElemPerVecReg
Vector Register Abstraction This generic class is the model in a particularization of MVC...
const RegVal STATUS_MPRV_MASK
const int StackPointerReg
const std::map< int, RegVal > CSRMasks
constexpr bool DummyVecPredRegHasPackedRepr
Dummy type aliases and constants for architectures that do not implement vector predicate registers...
const std::vector< int > SyscallArgumentRegs
VecRegT< DummyVecElem, DummyNumVecElemPerVecReg, true > DummyConstVecReg
const int ThreadPointerReg
const int SyscallPseudoReturnReg
uint32_t DummyVecElem
Dummy type aliases and constants for architectures that do not implement vector registers.
const RegVal STATUS_SPP_MASK
const RegVal STATUS_MPIE_MASK
const RegVal SSTATUS_MASK
DummyVecPredReg::Container DummyVecPredRegContainer
constexpr size_t DummyVecPredRegSizeBits
const RegVal STATUS_XS_MASK
const RegVal STATUS_SPIE_MASK
const int MaxMiscDestRegs
const RegVal STATUS_MXR_MASK
const RegVal STATUS_MIE_MASK
const RegVal STATUS_UPIE_MASK
const std::vector< std::string > FloatRegNames
constexpr bool VecPredRegHasPackedRepr
const RegVal ISA_EXT_MASK
constexpr size_t VecRegSizeBytes
const int NumMicroIntRegs
const RegVal STATUS_SIE_MASK
const RegVal STATUS_TSR_MASK
const std::map< int, CSRMetadata > CSRData
const RegVal STATUS_SD_MASK
EndBitUnion(SATP) enum AddrXlateMode
VecRegT< DummyVecElem, DummyNumVecElemPerVecReg, false > DummyVecReg
DummyVecReg::Container DummyVecRegContainer
constexpr unsigned NumVecElemPerVecReg
Defines global host-dependent types: Counter, Tick, and (indirectly) {int,uint}{8,16,32,64}_t.
#define ULL(N)
uint64_t constant
const RegVal STATUS_FS_MASK
const RegVal MSTATUS_MASK
const int FramePointerReg
VecPredRegT< DummyVecElem, DummyNumVecElemPerVecReg, DummyVecPredRegHasPackedRepr, true > DummyConstVecPredReg
const RegVal STATUS_MPP_MASK
Vector Registers layout specification.
Generic predicate register container.
VecPredRegT< DummyVecElem, DummyNumVecElemPerVecReg, DummyVecPredRegHasPackedRepr, false > DummyVecPredReg
const int GlobalPointerReg
constexpr size_t VecPredRegSizeBits
Vector Register Abstraction This generic class is a view in a particularization of MVC...
const unsigned NumVecRegs
const RegVal STATUS_SXL_MASK
constexpr size_t DummyVecRegSizeBytes
const RegVal ISA_EXT_C_MASK
const RegVal ISA_MXL_MASK
const RegVal STATUS_UIE_MASK