gem5 v24.0.0.0
|
Namespaces | |
namespace | float_reg |
namespace | int_reg |
Typedefs | |
using | VPUStatus = FPUStatus |
typedef Trie< Addr, TlbEntry > | TlbEntryTrie |
using | RiscvType = enums::RiscvType |
using | PrivilegeModeSet = enums::PrivilegeModeSet |
using | freg_t = float64_t |
using | VecRegContainer = gem5::VecRegContainer<MaxVecLenInBytes> |
using | vreg_t = VecRegContainer |
typedef uint32_t | MachInst |
Functions | |
bool | getFaultVAddr (Fault fault, Addr &va) |
Returns true if the fault passed as a first argument was triggered by a memory access, false otherwise. | |
float | getVflmul (uint32_t vlmul_encoding) |
This function translates the 3-bit value of vlmul bits to the corresponding lmul value as specified in RVV 1.0 spec p11-12 chapter 3.4.2. | |
uint32_t | getVlmax (VTYPE vtype, uint32_t vlen) |
uint32_t | getSew (uint32_t vsew) |
uint8_t | checked_vtype (bool vill, uint8_t vtype) |
static SyscallReturn | unameFunc64 (SyscallDesc *desc, ThreadContext *tc, VPtr< Linux::utsname > name) |
Target uname() handler. | |
static SyscallReturn | unameFunc32 (SyscallDesc *desc, ThreadContext *tc, VPtr< Linux::utsname > name) |
Target uname() handler. | |
BitUnion64 (SATP) Bitfield< 63 | |
EndBitUnion (SATP) enum AddrXlateMode | |
BitUnion64 (PTESv39) Bitfield< 53 | |
EndBitUnion (PTESv39) struct TlbEntry | |
BitUnion32 (IndexReg) Bitfield< 31 > p | |
EndBitUnion (IndexReg) BitUnion32(RandomReg) Bitfield< 30 | |
EndBitUnion (RandomReg) BitUnion64(EntryLoReg) Bitfield< 63 | |
EndBitUnion (EntryLoReg) BitUnion64(ContextReg) Bitfield< 63 | |
EndBitUnion (ContextReg) BitUnion32(PageMaskReg) Bitfield< 28 | |
EndBitUnion (PageMaskReg) BitUnion32(PageGrainReg) Bitfield< 31 | |
EndBitUnion (PageGrainReg) BitUnion32(WiredReg) Bitfield< 30 | |
EndBitUnion (WiredReg) BitUnion32(HWREnaReg) Bitfield< 31 | |
EndBitUnion (HWREnaReg) BitUnion64(EntryHiReg) Bitfield< 63 | |
EndBitUnion (EntryHiReg) BitUnion32(StatusReg) SubBitUnion(cu | |
EndSubBitUnion (cu) Bitfield< 27 > rp | |
SubBitUnion (im, 15, 8) Bitfield< 15 > im7 | |
EndSubBitUnion (im) Bitfield< 7 > kx | |
EndBitUnion (StatusReg) BitUnion32(IntCtlReg) Bitfield< 31 | |
EndBitUnion (IntCtlReg) BitUnion32(SRSCtlReg) Bitfield< 29 | |
EndBitUnion (SRSCtlReg) BitUnion32(SRSMapReg) Bitfield< 31 | |
EndBitUnion (SRSMapReg) BitUnion32(CauseReg) Bitfield< 31 > bd | |
SubBitUnion (ip, 15, 8) Bitfield< 15 > ip7 | |
EndSubBitUnion (ip) | |
EndBitUnion (CauseReg) BitUnion32(PRIdReg) Bitfield< 31 | |
EndBitUnion (PRIdReg) BitUnion32(EBaseReg) Bitfield< 29 | |
EndBitUnion (EBaseReg) BitUnion32(ConfigReg) Bitfield< 31 > m | |
EndBitUnion (ConfigReg) BitUnion32(Config1Reg) Bitfield< 31 > m | |
EndBitUnion (Config1Reg) BitUnion32(Config2Reg) Bitfield< 31 > m | |
EndBitUnion (Config2Reg) BitUnion32(Config3Reg) Bitfield< 31 > m | |
EndBitUnion (Config3Reg) BitUnion64(WatchLoReg) Bitfield< 63 | |
EndBitUnion (WatchLoReg) BitUnion32(WatchHiReg) Bitfield< 31 > m | |
EndBitUnion (WatchHiReg) BitUnion32(PerfCntCtlReg) Bitfield< 31 > m | |
EndBitUnion (PerfCntCtlReg) BitUnion32(CacheErrReg) Bitfield< 31 > er | |
EndBitUnion (CacheErrReg) BitUnion32(TagLoReg) Bitfield< 31 | |
static constexpr uint16_t | unboxF16 (uint64_t v) |
static constexpr uint32_t | unboxF32 (uint64_t v) |
static constexpr uint64_t | boxF16 (uint16_t v) |
static constexpr uint64_t | boxF32 (uint32_t v) |
static constexpr float16_t | f16 (uint16_t v) |
static constexpr float32_t | f32 (uint32_t v) |
static constexpr float64_t | f64 (uint64_t v) |
static constexpr float16_t | f16 (freg_t r) |
static constexpr float32_t | f32 (freg_t r) |
static constexpr float64_t | f64 (freg_t r) |
static constexpr freg_t | freg (float16_t f) |
static constexpr freg_t | freg (float32_t f) |
static constexpr freg_t | freg (float64_t f) |
static constexpr freg_t | freg (uint_fast64_t f) |
constexpr RegClass | floatRegClass (FloatRegClass, FloatRegClassName, float_reg::NumRegs, debug::FloatRegs) |
float16_t | fsgnj16 (float16_t a, float16_t b, bool n, bool x) |
float32_t | fsgnj32 (float32_t a, float32_t b, bool n, bool x) |
float64_t | fsgnj64 (float64_t a, float64_t b, bool n, bool x) |
constexpr RegClass | intRegClass (IntRegClass, IntRegClassName, int_reg::NumRegs, debug::IntRegs) |
constexpr RegClass | miscRegClass (MiscRegClass, MiscRegClassName, NUM_MISCREGS, debug::MiscRegs) |
template<typename... T> | |
constexpr uint64_t | rvTypeFlags (T... args) |
template<typename... T> | |
constexpr uint64_t | isaExtsFlags (T... isa_exts) |
constexpr uint64_t | isaExtsFlags () |
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. | |
EndBitUnion (STATUS) 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. | |
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. | |
EndBitUnion (INTERRUPT) const off_t MXL_OFFSETS[enums | |
BitUnion64 (VTYPE) Bitfield< 63 > vill | |
int32_t | _rvk_emu_sll_32 (int32_t rs1, int32_t rs2) |
int32_t | _rvk_emu_srl_32 (int32_t rs1, int32_t rs2) |
int64_t | _rvk_emu_sll_64 (int64_t rs1, int64_t rs2) |
int64_t | _rvk_emu_srl_64 (int64_t rs1, int64_t rs2) |
int32_t | _rvk_emu_rol_32 (int32_t rs1, int32_t rs2) |
int32_t | _rvk_emu_ror_32 (int32_t rs1, int32_t rs2) |
int64_t | _rvk_emu_rol_64 (int64_t rs1, int64_t rs2) |
int64_t | _rvk_emu_ror_64 (int64_t rs1, int64_t rs2) |
int32_t | _rvk_emu_grev_32 (int32_t rs1, int32_t rs2) |
int64_t | _rvk_emu_grev_64 (int64_t rs1, int64_t rs2) |
int32_t | _rvk_emu_brev8_32 (int32_t rs1) |
int64_t | _rvk_emu_brev8_64 (int64_t rs1) |
uint32_t | _rvk_emu_shuffle32_stage (uint32_t src, uint32_t maskL, uint32_t maskR, int N) |
int32_t | _rvk_emu_shfl_32 (int32_t rs1, int32_t rs2) |
int32_t | _rvk_emu_unshfl_32 (int32_t rs1, int32_t rs2) |
int32_t | _rvk_emu_zip_32 (int32_t rs1) |
int32_t | _rvk_emu_unzip_32 (int32_t rs1) |
int32_t | _rvk_emu_clmul_32 (int32_t rs1, int32_t rs2) |
int32_t | _rvk_emu_clmulh_32 (int32_t rs1, int32_t rs2) |
int64_t | _rvk_emu_clmul_64 (int64_t rs1, int64_t rs2) |
int64_t | _rvk_emu_clmulh_64 (int64_t rs1, int64_t rs2) |
uint32_t | _rvk_emu_xperm32 (uint32_t rs1, uint32_t rs2, int sz_log2) |
int32_t | _rvk_emu_xperm4_32 (int32_t rs1, int32_t rs2) |
int32_t | _rvk_emu_xperm8_32 (int32_t rs1, int32_t rs2) |
uint64_t | _rvk_emu_xperm64 (uint64_t rs1, uint64_t rs2, int sz_log2) |
int64_t | _rvk_emu_xperm4_64 (int64_t rs1, int64_t rs2) |
int64_t | _rvk_emu_xperm8_64 (int64_t rs1, int64_t rs2) |
uint8_t | _rvk_emu_aes_xtime (uint8_t x) |
uint32_t | _rvk_emu_aes_fwd_mc_8 (uint32_t x) |
uint32_t | _rvk_emu_aes_fwd_mc_32 (uint32_t x) |
uint32_t | _rvk_emu_aes_inv_mc_8 (uint32_t x) |
uint32_t | _rvk_emu_aes_inv_mc_32 (uint32_t x) |
int32_t | _rvk_emu_aes32dsi (int32_t rs1, int32_t rs2, uint8_t bs) |
int32_t | _rvk_emu_aes32dsmi (int32_t rs1, int32_t rs2, uint8_t bs) |
int64_t | _rvk_emu_aes64ds (int64_t rs1, int64_t rs2) |
int64_t | _rvk_emu_aes64im (int64_t rs1) |
int64_t | _rvk_emu_aes64dsm (int64_t rs1, int64_t rs2) |
int64_t | _rvk_emu_aes64ks1i (int64_t rs1, int rnum) |
int64_t | _rvk_emu_aes64ks2 (int64_t rs1, int64_t rs2) |
int32_t | _rvk_emu_aes32esi (int32_t rs1, int32_t rs2, uint8_t bs) |
int32_t | _rvk_emu_aes32esmi (int32_t rs1, int32_t rs2, uint8_t bs) |
int64_t | _rvk_emu_aes64es (int64_t rs1, int64_t rs2) |
int64_t | _rvk_emu_aes64esm (int64_t rs1, int64_t rs2) |
int32_t | _rvk_emu_sha256sig0 (int32_t rs1) |
int32_t | _rvk_emu_sha256sig1 (int32_t rs1) |
int32_t | _rvk_emu_sha256sum0 (int32_t rs1) |
int32_t | _rvk_emu_sha256sum1 (int32_t rs1) |
static int32_t | _rvk_emu_sha512sig0h (int32_t rs1, int32_t rs2) |
static int32_t | _rvk_emu_sha512sig0l (int32_t rs1, int32_t rs2) |
static int32_t | _rvk_emu_sha512sig1h (int32_t rs1, int32_t rs2) |
static int32_t | _rvk_emu_sha512sig1l (int32_t rs1, int32_t rs2) |
static int32_t | _rvk_emu_sha512sum0r (int32_t rs1, int32_t rs2) |
static int32_t | _rvk_emu_sha512sum1r (int32_t rs1, int32_t rs2) |
int64_t | _rvk_emu_sha512sig0 (int64_t rs1) |
int64_t | _rvk_emu_sha512sig1 (int64_t rs1) |
int64_t | _rvk_emu_sha512sum0 (int64_t rs1) |
int64_t | _rvk_emu_sha512sum1 (int64_t rs1) |
int32_t | _rvk_emu_sm4ed (int32_t rs1, int32_t rs2, uint8_t bs) |
int32_t | _rvk_emu_sm4ks (int32_t rs1, int32_t rs2, uint8_t bs) |
int32_t | _rvk_emu_sm3p0 (int32_t rs1) |
int32_t | _rvk_emu_sm3p1 (int32_t rs1) |
BitUnion64 (ExtMachInst) Bitfield< 63 | |
SubBitUnion (vtype8, 39, 32) Bitfield< 39 > vma | |
EndSubBitUnion (vtype8) uint32_t instBits | |
EndBitUnion (ExtMachInst) const expr unsigned MaxVecLenInBits | |
template<typename T > | |
bool | isquietnan (T val) |
template<> | |
bool | isquietnan< float > (float val) |
template<> | |
bool | isquietnan< double > (double val) |
template<typename T > | |
bool | issignalingnan (T val) |
template<> | |
bool | issignalingnan< float > (float val) |
template<> | |
bool | issignalingnan< double > (double val) |
std::string | registerName (RegId reg) |
template<typename T > | |
std::make_unsigned_t< T > | mulhu (std::make_unsigned_t< T > rs1, std::make_unsigned_t< T > rs2) |
template<typename T > | |
std::make_signed_t< T > | mulh (std::make_signed_t< T > rs1, std::make_signed_t< T > rs2) |
template<typename T > | |
std::make_signed_t< T > | mulhsu (std::make_signed_t< T > rs1, std::make_unsigned_t< T > rs2) |
template<typename T > | |
T | div (T rs1, T rs2) |
template<typename T > | |
T | divu (T rs1, T rs2) |
template<typename T > | |
T | rem (T rs1, T rs2) |
template<typename T > | |
T | remu (T rs1, T rs2) |
uint64_t | vtype_SEW (const uint64_t vtype) |
uint64_t | vtype_VLMAX (const uint64_t vtype, const uint64_t vlen, const bool per_reg=false) |
int64_t | vtype_vlmul (const uint64_t vtype) |
uint64_t | vtype_regs_per_group (const uint64_t vtype) |
void | vtype_set_vill (uint64_t &vtype) |
uint64_t | width_EEW (uint64_t width) |
template<typename T > | |
int | elem_mask (const T *vs, const int index) |
template<typename T > | |
int | elem_mask_vseg (const T *vs, const int elem, const int num_fields) |
template<typename FloatType , typename IntType = decltype(FloatType::v)> | |
auto | ftype (IntType a) -> FloatType |
template<typename FloatType , typename IntType = decltype(FloatType::v)> | |
auto | ftype_freg (freg_t a) -> FloatType |
template<typename FloatType > | |
FloatType | fadd (FloatType a, FloatType b) |
template<typename FloatType > | |
FloatType | fsub (FloatType a, FloatType b) |
template<typename FloatType > | |
FloatType | fmin (FloatType a, FloatType b) |
template<typename FloatType > | |
FloatType | fmax (FloatType a, FloatType b) |
template<typename FloatType > | |
FloatType | fdiv (FloatType a, FloatType b) |
template<typename FloatType > | |
FloatType | fmul (FloatType a, FloatType b) |
template<typename FloatType > | |
FloatType | fsqrt (FloatType a) |
template<typename FloatType > | |
FloatType | frsqrte7 (FloatType a) |
template<typename FloatType > | |
FloatType | frecip7 (FloatType a) |
template<typename FloatType > | |
FloatType | fclassify (FloatType a) |
template<typename FloatType > | |
FloatType | fsgnj (FloatType a, FloatType b, bool n, bool x) |
template<typename FloatType > | |
bool | fle (FloatType a, FloatType b) |
template<typename FloatType > | |
bool | feq (FloatType a, FloatType b) |
template<typename FloatType > | |
bool | flt (FloatType a, FloatType b) |
template<typename FloatType > | |
FloatType | fmadd (FloatType a, FloatType b, FloatType c) |
template<typename FloatType > | |
FloatType | fneg (FloatType a) |
template<typename FT , typename WFT = typename double_width<FT>::type> | |
WFT | fwiden (FT a) |
template<typename FloatType , typename IntType = decltype(FloatType::v)> | |
IntType | f_to_ui (FloatType a, uint_fast8_t mode) |
template<typename FloatType , typename IntType = decltype(double_width<FloatType>::type::v)> | |
IntType | f_to_wui (FloatType a, uint_fast8_t mode) |
template<typename IntType , typename FloatType = typename double_widthf<IntType>::type> | |
IntType | f_to_nui (FloatType a, uint_fast8_t mode) |
template<typename FloatType , typename IntType = decltype(FloatType::v)> | |
IntType | f_to_i (FloatType a, uint_fast8_t mode) |
template<typename FloatType , typename IntType = decltype(double_width<FloatType>::type::v)> | |
IntType | f_to_wi (FloatType a, uint_fast8_t mode) |
template<typename IntType , typename FloatType = typename double_widthf<IntType>::type> | |
IntType | f_to_ni (FloatType a, uint_fast8_t mode) |
template<typename FloatType , typename IntType = decltype(FloatType::v)> | |
FloatType | ui_to_f (IntType a) |
template<typename IntType , typename FloatType = typename double_widthf<IntType>::type> | |
FloatType | ui_to_wf (IntType a) |
template<typename FloatType , typename IntType = decltype(double_width<FloatType>::type::v)> | |
FloatType | ui_to_nf (IntType a) |
template<typename FloatType , typename IntType = decltype(FloatType::v)> | |
FloatType | i_to_f (IntType a) |
template<typename IntType , typename FloatType = typename double_widthf<IntType>::type> | |
FloatType | i_to_wf (IntType a) |
template<typename FloatType , typename IntType = std::make_signed_t< decltype(double_width<FloatType>::type::v) >> | |
FloatType | i_to_nf (IntType a) |
template<typename FloatType , typename FloatWType = typename double_width<FloatType>::type> | |
FloatWType | f_to_wf (FloatType a) |
template<typename FloatNType , typename FloatType = typename double_width<FloatNType>::type> | |
FloatNType | f_to_nf (FloatType a) |
template<typename T > | |
T | sat_add (T x, T y, bool *sat) |
template<typename T > | |
T | sat_sub (T x, T y, bool *sat) |
template<typename T > | |
T | sat_addu (T x, T y, bool *sat) |
template<typename T > | |
T | sat_subu (T x, T y, bool *sat) |
template<typename T > | |
T | int_rounding (T result, uint8_t xrm, unsigned gb) |
Ref: https://github.com/riscv-software-src/riscv-isa-sim. | |
Variables | |
const std::array< const char *, NUM_MISCREGS > | MiscRegNames |
const Addr | PageShift = 12 |
const Addr | PageBytes = 1ULL << PageShift |
mode | |
Bitfield< 59, 44 > | asid |
Bitfield< 43, 0 > | ppn |
const Addr | VADDR_BITS = 39 |
const Addr | LEVEL_BITS = 9 |
const Addr | LEVEL_MASK = (1 << LEVEL_BITS) - 1 |
Bitfield< 53, 28 > | ppn2 |
Bitfield< 27, 19 > | ppn1 |
Bitfield< 18, 10 > | ppn0 |
Bitfield< 7 > | d |
Bitfield< 6 > | a |
Bitfield< 5 > | g |
Bitfield< 4 > | u |
Bitfield< 3, 1 > | perm |
Bitfield< 3 > | x |
Bitfield< 2 > | w |
Bitfield< 1 > | r |
Bitfield< 0 > | v |
constexpr enums::RiscvType | RV32 = enums::RV32 |
constexpr enums::RiscvType | RV64 = enums::RV64 |
Bitfield< 30, 0 > | index |
random | |
fill | |
Bitfield< 29, 6 > | pfn |
Bitfield< 5, 3 > | c |
pteBase | |
Bitfield< 22, 4 > | badVPN2 |
mask | |
Bitfield< 12, 11 > | maskx |
aseUp | |
Bitfield< 29 > | elpa |
Bitfield< 28 > | esp |
Bitfield< 12, 8 > | aseDn |
wired | |
impl | |
Bitfield< 39, 13 > | vpn2 |
Bitfield< 12, 11 > | vpn2x |
Bitfield< 31 > | cu3 |
Bitfield< 30 > | cu2 |
Bitfield< 29 > | cu1 |
Bitfield< 28 > | cu0 |
Bitfield< 26 > | fr |
Bitfield< 25 > | re |
Bitfield< 24 > | mx |
Bitfield< 23 > | px |
Bitfield< 22 > | bev |
Bitfield< 21 > | ts |
Bitfield< 20 > | sr |
Bitfield< 19 > | nmi |
Bitfield< 15, 10 > | ipl |
Bitfield< 14 > | im6 |
Bitfield< 13 > | im5 |
Bitfield< 12 > | im4 |
Bitfield< 11 > | im3 |
Bitfield< 10 > | im2 |
Bitfield< 9 > | im1 |
Bitfield< 8 > | im0 |
Bitfield< 6 > | sx |
Bitfield< 5 > | ux |
Bitfield< 4, 3 > | ksu |
Bitfield< 4 > | um |
Bitfield< 3 > | r0 |
Bitfield< 2 > | erl |
Bitfield< 1 > | exl |
Bitfield< 0 > | ie |
ipti | |
Bitfield< 28, 26 > | ippci |
Bitfield< 9, 5 > | vs |
hss | |
Bitfield< 21, 18 > | eicss |
Bitfield< 15, 12 > | ess |
Bitfield< 9, 6 > | pss |
Bitfield< 3, 0 > | css |
ssv7 | |
Bitfield< 27, 24 > | ssv6 |
Bitfield< 23, 20 > | ssv5 |
Bitfield< 19, 16 > | ssv4 |
Bitfield< 15, 12 > | ssv3 |
Bitfield< 11, 8 > | ssv2 |
Bitfield< 7, 4 > | ssv1 |
Bitfield< 3, 0 > | ssv0 |
Bitfield< 30 > | ti |
Bitfield< 29, 28 > | ce |
Bitfield< 27 > | dc |
Bitfield< 26 > | pci |
Bitfield< 23 > | iv |
Bitfield< 22 > | wp |
Bitfield< 15, 10 > | ripl |
Bitfield< 14 > | ip6 |
Bitfield< 13 > | ip5 |
Bitfield< 12 > | ip4 |
Bitfield< 11 > | ip3 |
Bitfield< 10 > | ip2 |
Bitfield< 9 > | ip1 |
Bitfield< 8 > | ip0 |
Bitfield< 6, 2 > | excCode |
coOp | |
Bitfield< 23, 16 > | coId |
Bitfield< 15, 8 > | procId |
Bitfield< 7, 0 > | rev |
exceptionBase | |
Bitfield< 9, 9 > | cpuNum |
Bitfield< 30, 28 > | k23 |
Bitfield< 27, 25 > | ku |
Bitfield< 15 > | be |
Bitfield< 14, 13 > | at |
Bitfield< 12, 10 > | ar |
Bitfield< 9, 7 > | mt |
Bitfield< 3 > | vi |
Bitfield< 2, 0 > | k0 |
Bitfield< 30, 25 > | mmuSize |
Bitfield< 24, 22 > | is |
Bitfield< 21, 19 > | il |
Bitfield< 18, 16 > | ia |
Bitfield< 15, 13 > | ds |
Bitfield< 12, 10 > | dl |
Bitfield< 9, 7 > | da |
Bitfield< 6 > | c2 |
Bitfield< 5 > | md |
Bitfield< 4 > | pc |
Bitfield< 3 > | wr |
Bitfield< 2 > | ca |
Bitfield< 1 > | ep |
Bitfield< 0 > | fp |
Bitfield< 30, 28 > | tu |
Bitfield< 23, 20 > | tl |
Bitfield< 19, 16 > | ta |
Bitfield< 15, 12 > | su |
Bitfield< 11, 8 > | ss |
Bitfield< 7, 4 > | sl |
Bitfield< 3, 0 > | sa |
Bitfield< 10 > | dspp |
Bitfield< 7 > | lpa |
Bitfield< 6 > | veic |
Bitfield< 5 > | vint |
Bitfield< 4 > | sp |
Bitfield< 1 > | sm |
vaddr | |
Bitfield< 2 > | i |
Bitfield< 10, 5 > | event |
Bitfield< 2 > | s |
Bitfield< 1 > | k |
Bitfield< 30 > | ec |
Bitfield< 29 > | ed |
Bitfield< 28 > | et |
Bitfield< 27 > | es |
Bitfield< 26 > | ee |
Bitfield< 25 > | eb |
pTagLo | |
Bitfield< 7, 6 > | pState |
Bitfield< 5 > | l |
Bitfield< 0 > | p |
constexpr auto & | ReturnAddrReg = int_reg::Ra |
constexpr auto & | StackPointerReg = int_reg::Sp |
constexpr auto & | ThreadPointerReg = int_reg::Tp |
constexpr auto & | ReturnValueReg = int_reg::A0 |
constexpr auto & | AMOTempReg = int_reg::Ureg0 |
constexpr auto & | SyscallNumReg = int_reg::A7 |
constexpr RegId | ArgumentRegs [] |
const std::unordered_map< int, CSRMetadata > | CSRData |
Bitfield< 35, 34 > | sxl |
Bitfield< 33, 32 > | uxl |
Bitfield< 31 > | rv32_sd |
Bitfield< 22 > | tsr |
Bitfield< 21 > | tw |
Bitfield< 20 > | tvm |
Bitfield< 19 > | mxr |
Bitfield< 18 > | sum |
Bitfield< 17 > | mprv |
Bitfield< 16, 15 > | xs |
Bitfield< 14, 13 > | fs |
Bitfield< 12, 11 > | mpp |
Bitfield< 8 > | spp |
Bitfield< 7 > | mpie |
Bitfield< 5 > | spie |
Bitfield< 4 > | upie |
Bitfield< 3 > | mie |
Bitfield< 1 > | sie |
Bitfield< 0 > | uie |
rv64_mxl | |
Bitfield< 31, 30 > | rv32_mxl |
Bitfield< 23 > | rvx |
Bitfield< 21 > | rvv |
Bitfield< 20 > | rvu |
Bitfield< 19 > | rvt |
Bitfield< 18 > | rvs |
Bitfield< 16 > | rvq |
Bitfield< 15 > | rvp |
Bitfield< 13 > | rvn |
Bitfield< 12 > | rvm |
Bitfield< 11 > | rvl |
Bitfield< 10 > | rvk |
Bitfield< 9 > | rvj |
Bitfield< 8 > | rvi |
Bitfield< 7 > | rvh |
Bitfield< 6 > | rvg |
Bitfield< 5 > | rvf |
Bitfield< 4 > | rve |
Bitfield< 3 > | rvd |
Bitfield< 2 > | rvc |
Bitfield< 1 > | rvb |
Bitfield< 0 > | rva |
local | |
Bitfield< 11 > | mei |
Bitfield< 9 > | sei |
Bitfield< 8 > | uei |
Bitfield< 7 > | mti |
Bitfield< 5 > | sti |
Bitfield< 4 > | uti |
Bitfield< 3 > | msi |
Bitfield< 1 > | ssi |
Bitfield< 0 > | usi |
const off_t | MBE_OFFSET [enums::Num_RiscvType] |
const off_t | SBE_OFFSET [enums::Num_RiscvType] |
const off_t | SXL_OFFSET = 34 |
const off_t | UXL_OFFSET = 32 |
const off_t | FS_OFFSET = 13 |
const off_t | VS_OFFSET = 9 |
const off_t | FRM_OFFSET = 5 |
const RegVal | ISA_MXL_MASKS [enums::Num_RiscvType] |
const RegVal | ISA_EXT_MASK = mask(26) |
const RegVal | ISA_EXT_C_MASK = 1UL << ('c' - 'a') |
const RegVal | MISA_MASKS [enums::Num_RiscvType] |
const RegVal | STATUS_SD_MASKS [enums::Num_RiscvType] |
const RegVal | STATUS_MBE_MASK [enums::Num_RiscvType] |
const RegVal | STATUS_SBE_MASK [enums::Num_RiscvType] |
const RegVal | STATUS_SXL_MASK = 3ULL << SXL_OFFSET |
const RegVal | STATUS_UXL_MASK = 3ULL << UXL_OFFSET |
const RegVal | STATUS_TSR_MASK = 1ULL << 22 |
const RegVal | STATUS_TW_MASK = 1ULL << 21 |
const RegVal | STATUS_TVM_MASK = 1ULL << 20 |
const RegVal | STATUS_MXR_MASK = 1ULL << 19 |
const RegVal | STATUS_SUM_MASK = 1ULL << 18 |
const RegVal | STATUS_MPRV_MASK = 1ULL << 17 |
const RegVal | STATUS_XS_MASK = 3ULL << 15 |
const RegVal | STATUS_FS_MASK = 3ULL << FS_OFFSET |
const RegVal | STATUS_MPP_MASK = 3ULL << 11 |
const RegVal | STATUS_VS_MASK = 3ULL << VS_OFFSET |
const RegVal | STATUS_SPP_MASK = 1ULL << 8 |
const RegVal | STATUS_MPIE_MASK = 1ULL << 7 |
const RegVal | STATUS_SPIE_MASK = 1ULL << 5 |
const RegVal | STATUS_UPIE_MASK = 1ULL << 4 |
const RegVal | STATUS_MIE_MASK = 1ULL << 3 |
const RegVal | STATUS_SIE_MASK = 1ULL << 1 |
const RegVal | STATUS_UIE_MASK = 1ULL << 0 |
const RegVal | MSTATUS_MASKS [enums::Num_RiscvType][enums::Num_PrivilegeModeSet] |
const RegVal | MSTATUSH_MASKS [enums::Num_PrivilegeModeSet] |
const RegVal | SSTATUS_MASKS [enums::Num_RiscvType][enums::Num_PrivilegeModeSet] |
const RegVal | USTATUS_MASKS [enums::Num_RiscvType][enums::Num_PrivilegeModeSet] |
const RegVal | LOCAL_MASK = mask(63,16) |
const RegVal | MEI_MASK = 1ULL << 11 |
const RegVal | SEI_MASK = 1ULL << 9 |
const RegVal | UEI_MASK = 1ULL << 8 |
const RegVal | MTI_MASK = 1ULL << 7 |
const RegVal | STI_MASK = 1ULL << 5 |
const RegVal | UTI_MASK = 1ULL << 4 |
const RegVal | MSI_MASK = 1ULL << 3 |
const RegVal | SSI_MASK = 1ULL << 1 |
const RegVal | USI_MASK = 1ULL << 0 |
const RegVal | MI_MASK [enums::Num_PrivilegeModeSet] |
const RegVal | SI_MASK [enums::Num_PrivilegeModeSet] |
const RegVal | UI_MASK [enums::Num_PrivilegeModeSet] |
const RegVal | FFLAGS_MASK = (1 << FRM_OFFSET) - 1 |
const RegVal | FRM_MASK = 0x7 |
const RegVal | CAUSE_INTERRUPT_MASKS [enums::Num_RiscvType] |
const std::unordered_map< int, RegVal > | CSRMasks [enums::Num_RiscvType][enums::Num_PrivilegeModeSet] |
const int | NumVecStandardRegs = 32 |
const int | NumVecInternalRegs = 8 |
const int | NumVecRegs = NumVecStandardRegs + NumVecInternalRegs |
const std::vector< std::string > | VecRegNames |
const int | VecMemInternalReg0 = NumVecStandardRegs |
static TypedRegClassOps< RiscvISA::VecRegContainer > | vecRegClassOps |
constexpr RegClass | vecRegClass |
Bitfield< 7, 0 > | vtype8 |
Bitfield< 7 > | vma |
Bitfield< 6 > | vta |
Bitfield< 5, 3 > | vsew |
Bitfield< 2, 0 > | vlmul |
const uint8_t | _rvk_emu_aes_fwd_sbox [256] |
Ref: https://github.com/rvkrypto/rvkrypto-fips. | |
const uint8_t | _rvk_emu_aes_inv_sbox [256] |
const uint8_t | _rvk_emu_sm4_sbox [256] |
rv_type | |
Bitfield< 61 > | compressed |
Bitfield< 57, 41 > | vl |
Bitfield< 40 > | vill |
Bitfield< 1, 0 > | quadRant |
Bitfield< 6, 2 > | opcode5 |
Bitfield< 6, 0 > | opcode |
Bitfield< 31, 0 > | all |
Bitfield< 11, 7 > | rd |
Bitfield< 14, 12 > | funct3 |
Bitfield< 19, 15 > | rs1 |
Bitfield< 24, 20 > | rs2 |
Bitfield< 31, 25 > | funct7 |
Bitfield< 30 > | srType |
Bitfield< 24, 20 > | shamt5 |
Bitfield< 25, 20 > | shamt6 |
Bitfield< 31, 20 > | imm12 |
Bitfield< 23, 20 > | succ |
Bitfield< 27, 24 > | pred |
Bitfield< 11, 7 > | imm5 |
Bitfield< 31, 25 > | imm7 |
Bitfield< 31, 12 > | imm20 |
Bitfield< 7 > | bimm12bit11 |
Bitfield< 11, 8 > | bimm12bits4to1 |
Bitfield< 30, 25 > | bimm12bits10to5 |
Bitfield< 31 > | immsign |
Bitfield< 30, 21 > | ujimmbits10to1 |
Bitfield< 20 > | ujimmbit11 |
Bitfield< 19, 12 > | ujimmbits19to12 |
Bitfield< 31, 20 > | funct12 |
Bitfield< 19, 15 > | csrimm |
Bitfield< 11, 7 > | fd |
Bitfield< 19, 15 > | fs1 |
Bitfield< 24, 20 > | fs2 |
Bitfield< 31, 27 > | fs3 |
Bitfield< 14, 12 > | round_mode |
Bitfield< 24, 20 > | conv_sgn |
Bitfield< 26, 25 > | funct2 |
Bitfield< 31, 27 > | amofunct |
Bitfield< 26 > | aq |
Bitfield< 25 > | rl |
Bitfield< 15, 13 > | copcode |
Bitfield< 12 > | cfunct1 |
Bitfield< 11, 10 > | cfunct2high |
Bitfield< 6, 5 > | cfunct2low |
Bitfield< 11, 7 > | rc1 |
Bitfield< 6, 2 > | rc2 |
Bitfield< 9, 7 > | rp1 |
Bitfield< 4, 2 > | rp2 |
Bitfield< 11, 7 > | fc1 |
Bitfield< 6, 2 > | fc2 |
Bitfield< 4, 2 > | fp2 |
Bitfield< 12, 2 > | cjumpimm |
Bitfield< 5, 3 > | cjumpimm3to1 |
Bitfield< 11, 11 > | cjumpimm4to4 |
Bitfield< 2, 2 > | cjumpimm5to5 |
Bitfield< 7, 7 > | cjumpimm6to6 |
Bitfield< 6, 6 > | cjumpimm7to7 |
Bitfield< 10, 9 > | cjumpimm9to8 |
Bitfield< 8, 8 > | cjumpimm10to10 |
Bitfield< 12 > | cjumpimmsign |
Bitfield< 12, 5 > | cimm8 |
Bitfield< 12, 7 > | cimm6 |
Bitfield< 6, 2 > | cimm5 |
Bitfield< 12, 10 > | cimm3 |
Bitfield< 6, 5 > | cimm2 |
Bitfield< 12 > | cimm1 |
Bitfield< 31, 25 > | m5func |
Bitfield< 31, 26 > | vfunct6 |
Bitfield< 31, 27 > | vfunct5 |
Bitfield< 27, 25 > | vfunct3 |
Bitfield< 26, 25 > | vfunct2 |
Bitfield< 31, 29 > | nf |
Bitfield< 28 > | mew |
Bitfield< 27, 26 > | mop |
Bitfield< 25 > | vm |
Bitfield< 24, 20 > | lumop |
Bitfield< 24, 20 > | sumop |
Bitfield< 14, 12 > | width |
Bitfield< 24, 20 > | vs2 |
Bitfield< 19, 15 > | vs1 |
Bitfield< 11, 7 > | vd |
Bitfield< 11, 7 > | vs3 |
Bitfield< 19, 15 > | vecimm |
Bitfield< 17, 15 > | simm3 |
Bitfield< 31 > | bit31 |
Bitfield< 30 > | bit30 |
Bitfield< 30, 20 > | zimm_vsetvli |
Bitfield< 31, 30 > | bit31_30 |
Bitfield< 29, 20 > | zimm_vsetivli |
Bitfield< 19, 15 > | uimm_vsetivli |
Bitfield< 31, 25 > | bit31_25 |
constexpr unsigned | MaxVecLenInBytes = MaxVecLenInBits >> 3 |
using gem5::RiscvISA::freg_t = float64_t |
typedef uint32_t gem5::RiscvISA::MachInst |
using gem5::RiscvISA::PrivilegeModeSet = enums::PrivilegeModeSet |
Definition at line 59 of file pcstate.hh.
using gem5::RiscvISA::RiscvType = enums::RiscvType |
Definition at line 55 of file pcstate.hh.
typedef Trie<Addr, TlbEntry> gem5::RiscvISA::TlbEntryTrie |
Definition at line 80 of file pagetable.hh.
using gem5::RiscvISA::VPUStatus = FPUStatus |
enum gem5::RiscvISA::ExceptionCode : uint64_t |
|
strong |
enum gem5::RiscvISA::FloatException : uint64_t |
|
inline |
Definition at line 361 of file rvk.hh.
References _rvk_emu_aes_inv_sbox, _rvk_emu_rol_32(), gem5::X86ISA::bs, rs1, rs2, and x.
|
inline |
Definition at line 372 of file rvk.hh.
References _rvk_emu_aes_inv_mc_8(), _rvk_emu_aes_inv_sbox, _rvk_emu_rol_32(), gem5::X86ISA::bs, rs1, rs2, and x.
|
inline |
Definition at line 447 of file rvk.hh.
References _rvk_emu_aes_fwd_sbox, _rvk_emu_rol_32(), gem5::X86ISA::bs, rs1, rs2, and x.
|
inline |
Definition at line 458 of file rvk.hh.
References _rvk_emu_aes_fwd_mc_8(), _rvk_emu_aes_fwd_sbox, _rvk_emu_rol_32(), gem5::X86ISA::bs, rs1, rs2, and x.
|
inline |
Definition at line 384 of file rvk.hh.
References _rvk_emu_aes_inv_sbox, rs1, and rs2.
Referenced by _rvk_emu_aes64dsm().
|
inline |
Definition at line 402 of file rvk.hh.
References _rvk_emu_aes64ds(), _rvk_emu_aes64im(), rs1, rs2, and x.
|
inline |
Definition at line 470 of file rvk.hh.
References _rvk_emu_aes_fwd_sbox, rs1, and rs2.
Referenced by _rvk_emu_aes64esm().
|
inline |
Definition at line 482 of file rvk.hh.
References _rvk_emu_aes64es(), _rvk_emu_aes_fwd_mc_32(), rs1, rs2, and x.
|
inline |
Definition at line 396 of file rvk.hh.
References _rvk_emu_aes_inv_mc_32(), and rs1.
Referenced by _rvk_emu_aes64dsm().
|
inline |
Definition at line 411 of file rvk.hh.
References _rvk_emu_aes_fwd_sbox, _rvk_emu_ror_32(), gem5::PowerISA::rc, rs1, and gem5::ArmISA::t.
|
inline |
Definition at line 437 of file rvk.hh.
References rs1, rs2, and gem5::ArmISA::t.
|
inline |
Definition at line 326 of file rvk.hh.
References _rvk_emu_aes_fwd_mc_8(), _rvk_emu_rol_32(), and x.
Referenced by _rvk_emu_aes64esm().
|
inline |
Definition at line 317 of file rvk.hh.
References _rvk_emu_aes_xtime(), and x.
Referenced by _rvk_emu_aes32esmi(), and _rvk_emu_aes_fwd_mc_32().
|
inline |
Definition at line 352 of file rvk.hh.
References _rvk_emu_aes_inv_mc_8(), _rvk_emu_rol_32(), and x.
Referenced by _rvk_emu_aes64im().
|
inline |
Definition at line 335 of file rvk.hh.
References _rvk_emu_aes_xtime(), and x.
Referenced by _rvk_emu_aes32dsmi(), and _rvk_emu_aes_inv_mc_32().
|
inline |
Definition at line 311 of file rvk.hh.
References x.
Referenced by _rvk_emu_aes_fwd_mc_8(), and _rvk_emu_aes_inv_mc_8().
|
inline |
Definition at line 182 of file rvk.hh.
References _rvk_emu_grev_32(), and rs1.
|
inline |
Definition at line 185 of file rvk.hh.
References _rvk_emu_grev_64(), and rs1.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 134 of file rvk.hh.
References _rvk_emu_sll_32(), _rvk_emu_srl_32(), rs1, and rs2.
Referenced by _rvk_emu_aes32dsi(), _rvk_emu_aes32dsmi(), _rvk_emu_aes32esi(), _rvk_emu_aes32esmi(), _rvk_emu_aes_fwd_mc_32(), _rvk_emu_aes_inv_mc_32(), _rvk_emu_sm3p0(), _rvk_emu_sm3p1(), _rvk_emu_sm4ed(), and _rvk_emu_sm4ks().
|
inline |
Definition at line 139 of file rvk.hh.
References _rvk_emu_sll_64(), _rvk_emu_srl_64(), rs1, and rs2.
|
inline |
Definition at line 136 of file rvk.hh.
References _rvk_emu_sll_32(), _rvk_emu_srl_32(), rs1, and rs2.
Referenced by _rvk_emu_aes64ks1i(), _rvk_emu_sha256sig0(), _rvk_emu_sha256sig1(), _rvk_emu_sha256sum0(), and _rvk_emu_sha256sum1().
|
inline |
Definition at line 141 of file rvk.hh.
References _rvk_emu_sll_64(), _rvk_emu_srl_64(), rs1, and rs2.
Referenced by _rvk_emu_sha512sig0(), _rvk_emu_sha512sig1(), _rvk_emu_sha512sum0(), and _rvk_emu_sha512sum1().
|
inline |
Definition at line 492 of file rvk.hh.
References _rvk_emu_ror_32(), _rvk_emu_srl_32(), rs1, and x.
|
inline |
Definition at line 501 of file rvk.hh.
References _rvk_emu_ror_32(), _rvk_emu_srl_32(), rs1, and x.
|
inline |
Definition at line 510 of file rvk.hh.
References _rvk_emu_ror_32(), rs1, and x.
|
inline |
Definition at line 519 of file rvk.hh.
References _rvk_emu_ror_32(), rs1, and x.
|
inline |
Definition at line 570 of file rvk.hh.
References _rvk_emu_ror_64(), _rvk_emu_srl_64(), and rs1.
|
inlinestatic |
Definition at line 528 of file rvk.hh.
References _rvk_emu_sll_32(), _rvk_emu_srl_32(), rs1, and rs2.
|
inlinestatic |
Definition at line 535 of file rvk.hh.
References _rvk_emu_sll_32(), _rvk_emu_srl_32(), rs1, and rs2.
|
inline |
Definition at line 576 of file rvk.hh.
References _rvk_emu_ror_64(), _rvk_emu_srl_64(), and rs1.
|
inlinestatic |
Definition at line 542 of file rvk.hh.
References _rvk_emu_sll_32(), _rvk_emu_srl_32(), rs1, and rs2.
|
inlinestatic |
Definition at line 549 of file rvk.hh.
References _rvk_emu_sll_32(), _rvk_emu_srl_32(), rs1, and rs2.
|
inline |
Definition at line 582 of file rvk.hh.
References _rvk_emu_ror_64(), and rs1.
|
inlinestatic |
Definition at line 556 of file rvk.hh.
References _rvk_emu_sll_32(), _rvk_emu_srl_32(), rs1, and rs2.
|
inline |
Definition at line 588 of file rvk.hh.
References _rvk_emu_ror_64(), and rs1.
|
inlinestatic |
Definition at line 563 of file rvk.hh.
References _rvk_emu_sll_32(), _rvk_emu_srl_32(), rs1, and rs2.
|
inline |
Definition at line 196 of file rvk.hh.
References _rvk_emu_shuffle32_stage(), rs1, rs2, and x.
Referenced by _rvk_emu_zip_32().
|
inline |
Definition at line 188 of file rvk.hh.
References x.
Referenced by _rvk_emu_shfl_32(), and _rvk_emu_unshfl_32().
|
inline |
Definition at line 124 of file rvk.hh.
Referenced by _rvk_emu_rol_32(), _rvk_emu_ror_32(), _rvk_emu_sha512sig0h(), _rvk_emu_sha512sig0l(), _rvk_emu_sha512sig1h(), _rvk_emu_sha512sig1l(), _rvk_emu_sha512sum0r(), and _rvk_emu_sha512sum1r().
|
inline |
Definition at line 128 of file rvk.hh.
Referenced by _rvk_emu_rol_64(), and _rvk_emu_ror_64().
|
inline |
Definition at line 624 of file rvk.hh.
References _rvk_emu_rol_32(), rs1, and x.
|
inline |
Definition at line 632 of file rvk.hh.
References _rvk_emu_rol_32(), rs1, and x.
|
inline |
Definition at line 595 of file rvk.hh.
References _rvk_emu_rol_32(), _rvk_emu_sm4_sbox, gem5::X86ISA::bs, rs1, rs2, and x.
|
inline |
Definition at line 609 of file rvk.hh.
References _rvk_emu_rol_32(), _rvk_emu_sm4_sbox, gem5::X86ISA::bs, rs1, rs2, and x.
|
inline |
Definition at line 126 of file rvk.hh.
Referenced by _rvk_emu_rol_32(), _rvk_emu_ror_32(), _rvk_emu_sha256sig0(), _rvk_emu_sha256sig1(), _rvk_emu_sha512sig0h(), _rvk_emu_sha512sig0l(), _rvk_emu_sha512sig1h(), _rvk_emu_sha512sig1l(), _rvk_emu_sha512sum0r(), and _rvk_emu_sha512sum1r().
|
inline |
Definition at line 130 of file rvk.hh.
Referenced by _rvk_emu_rol_64(), _rvk_emu_ror_64(), _rvk_emu_sha512sig0(), and _rvk_emu_sha512sig1().
|
inline |
Definition at line 209 of file rvk.hh.
References _rvk_emu_shuffle32_stage(), rs1, rs2, and x.
Referenced by _rvk_emu_unzip_32().
|
inline |
Definition at line 225 of file rvk.hh.
References _rvk_emu_unshfl_32(), and rs1.
|
inline |
Definition at line 272 of file rvk.hh.
References i, mask, r, rs1, and rs2.
Referenced by _rvk_emu_xperm4_32(), and _rvk_emu_xperm8_32().
|
inline |
Definition at line 285 of file rvk.hh.
References _rvk_emu_xperm32(), rs1, and rs2.
|
inline |
Definition at line 304 of file rvk.hh.
References _rvk_emu_xperm64(), rs1, and rs2.
|
inline |
Definition at line 291 of file rvk.hh.
References i, mask, r, rs1, and rs2.
Referenced by _rvk_emu_xperm4_64(), and _rvk_emu_xperm8_64().
|
inline |
Definition at line 288 of file rvk.hh.
References _rvk_emu_xperm32(), rs1, and rs2.
|
inline |
Definition at line 307 of file rvk.hh.
References _rvk_emu_xperm64(), rs1, and rs2.
|
inline |
Definition at line 222 of file rvk.hh.
References _rvk_emu_shfl_32(), and rs1.
gem5::RiscvISA::BitUnion32 | ( | IndexReg | ) |
gem5::RiscvISA::BitUnion64 | ( | ExtMachInst | ) |
gem5::RiscvISA::BitUnion64 | ( | PTESv39 | ) |
gem5::RiscvISA::BitUnion64 | ( | SATP | ) |
gem5::RiscvISA::BitUnion64 | ( | STATUS | ) |
These fields are specified in the RISC-V Instruction Set Manual, Volume II, v1.10, accessible at www.riscv.org.
in Figure 3.7. The main register that uses these fields is the MSTATUS register, which is shadowed by two others accessible at lower privilege levels (SSTATUS and USTATUS) that can't see the fields for higher privileges.
gem5::RiscvISA::BitUnion64 | ( | VTYPE | ) |
|
staticconstexpr |
|
staticconstexpr |
|
inline |
|
inline |
Definition at line 192 of file utility.hh.
Referenced by gem5::free_bsd::onUDelay(), gem5::linux::onUDelay(), and gem5::printSize().
|
inline |
Definition at line 205 of file utility.hh.
|
inline |
Definition at line 307 of file utility.hh.
Referenced by gem5::VegaISA::PackedReg< BITS, ELEM_SIZE >::getElem(), and gem5::VegaISA::PackedReg< BITS, ELEM_SIZE >::setElem().
|
inline |
Definition at line 317 of file utility.hh.
gem5::RiscvISA::EndBitUnion | ( | CacheErrReg | ) |
gem5::RiscvISA::EndBitUnion | ( | CauseReg | ) |
gem5::RiscvISA::EndBitUnion | ( | Config1Reg | ) |
gem5::RiscvISA::EndBitUnion | ( | Config2Reg | ) |
gem5::RiscvISA::EndBitUnion | ( | Config3Reg | ) |
gem5::RiscvISA::EndBitUnion | ( | ConfigReg | ) |
gem5::RiscvISA::EndBitUnion | ( | ContextReg | ) |
gem5::RiscvISA::EndBitUnion | ( | EBaseReg | ) |
gem5::RiscvISA::EndBitUnion | ( | EntryHiReg | ) |
gem5::RiscvISA::EndBitUnion | ( | EntryLoReg | ) |
gem5::RiscvISA::EndBitUnion | ( | ExtMachInst | ) | const |
gem5::RiscvISA::EndBitUnion | ( | HWREnaReg | ) |
gem5::RiscvISA::EndBitUnion | ( | IndexReg | ) |
gem5::RiscvISA::EndBitUnion | ( | IntCtlReg | ) |
gem5::RiscvISA::EndBitUnion | ( | INTERRUPT | ) | const |
gem5::RiscvISA::EndBitUnion | ( | MISA | ) |
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.
Both the MIP and MIE registers have the same fields, so accesses to either should use this bit union.
gem5::RiscvISA::EndBitUnion | ( | PageGrainReg | ) |
gem5::RiscvISA::EndBitUnion | ( | PageMaskReg | ) |
gem5::RiscvISA::EndBitUnion | ( | PerfCntCtlReg | ) |
gem5::RiscvISA::EndBitUnion | ( | PRIdReg | ) |
gem5::RiscvISA::EndBitUnion | ( | PTESv39 | ) |
gem5::RiscvISA::EndBitUnion | ( | RandomReg | ) |
gem5::RiscvISA::EndBitUnion | ( | SATP | ) |
Definition at line 49 of file pagetable.hh.
gem5::RiscvISA::EndBitUnion | ( | SRSCtlReg | ) |
gem5::RiscvISA::EndBitUnion | ( | SRSMapReg | ) |
gem5::RiscvISA::EndBitUnion | ( | STATUS | ) |
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.
The register is used to control instruction extensions.
gem5::RiscvISA::EndBitUnion | ( | StatusReg | ) |
gem5::RiscvISA::EndBitUnion | ( | WatchHiReg | ) |
gem5::RiscvISA::EndBitUnion | ( | WatchLoReg | ) |
gem5::RiscvISA::EndBitUnion | ( | WiredReg | ) |
gem5::RiscvISA::EndSubBitUnion | ( | cu | ) |
gem5::RiscvISA::EndSubBitUnion | ( | im | ) |
gem5::RiscvISA::EndSubBitUnion | ( | ip | ) |
gem5::RiscvISA::EndSubBitUnion | ( | vtype8 | ) |
|
staticconstexpr |
Definition at line 100 of file float.hh.
References r, and unboxF16().
|
staticconstexpr |
Definition at line 97 of file float.hh.
References v.
Referenced by fclassify(), fneg(), fsgnj16(), ftype(), and ftype_freg().
|
staticconstexpr |
Definition at line 101 of file float.hh.
References r, and unboxF32().
|
staticconstexpr |
Definition at line 98 of file float.hh.
References v.
Referenced by fclassify(), fneg(), fsgnj32(), ftype(), and ftype_freg().
|
staticconstexpr |
|
staticconstexpr |
Definition at line 99 of file float.hh.
References v.
Referenced by fclassify(), fneg(), fsgnj64(), ftype(), and ftype_freg().
IntType gem5::RiscvISA::f_to_i | ( | FloatType | a, |
uint_fast8_t | mode ) |
Definition at line 595 of file utility.hh.
FloatNType gem5::RiscvISA::f_to_nf | ( | FloatType | a | ) |
Definition at line 735 of file utility.hh.
References a.
IntType gem5::RiscvISA::f_to_ni | ( | FloatType | a, |
uint_fast8_t | mode ) |
Definition at line 623 of file utility.hh.
IntType gem5::RiscvISA::f_to_nui | ( | FloatType | a, |
uint_fast8_t | mode ) |
Definition at line 583 of file utility.hh.
IntType gem5::RiscvISA::f_to_ui | ( | FloatType | a, |
uint_fast8_t | mode ) |
Definition at line 555 of file utility.hh.
FloatWType gem5::RiscvISA::f_to_wf | ( | FloatType | a | ) |
Definition at line 722 of file utility.hh.
References a.
IntType gem5::RiscvISA::f_to_wi | ( | FloatType | a, |
uint_fast8_t | mode ) |
Definition at line 610 of file utility.hh.
IntType gem5::RiscvISA::f_to_wui | ( | FloatType | a, |
uint_fast8_t | mode ) |
Definition at line 570 of file utility.hh.
FloatType gem5::RiscvISA::fadd | ( | FloatType | a, |
FloatType | b ) |
Definition at line 353 of file utility.hh.
References a, and gem5::ArmISA::b.
FloatType gem5::RiscvISA::fclassify | ( | FloatType | a | ) |
FloatType gem5::RiscvISA::fdiv | ( | FloatType | a, |
FloatType | b ) |
Definition at line 401 of file utility.hh.
References a, and gem5::ArmISA::b.
bool gem5::RiscvISA::feq | ( | FloatType | a, |
FloatType | b ) |
Definition at line 497 of file utility.hh.
References a, and gem5::ArmISA::b.
bool gem5::RiscvISA::fle | ( | FloatType | a, |
FloatType | b ) |
Definition at line 485 of file utility.hh.
References a, and gem5::ArmISA::b.
|
inlineconstexpr |
bool gem5::RiscvISA::flt | ( | FloatType | a, |
FloatType | b ) |
Definition at line 509 of file utility.hh.
References a, and gem5::ArmISA::b.
Referenced by gem5::ruby::garnet::flitBuffer::insert().
FloatType gem5::RiscvISA::fmadd | ( | FloatType | a, |
FloatType | b, | ||
FloatType | c ) |
Definition at line 521 of file utility.hh.
References a, gem5::ArmISA::b, and c.
FloatType gem5::RiscvISA::fmax | ( | FloatType | a, |
FloatType | b ) |
Definition at line 389 of file utility.hh.
References a, and gem5::ArmISA::b.
Referenced by gem5::ArmISA::fpMaxNum(), and gem5::RealViewTemperatureSensor::read().
FloatType gem5::RiscvISA::fmin | ( | FloatType | a, |
FloatType | b ) |
Definition at line 377 of file utility.hh.
References a, and gem5::ArmISA::b.
Referenced by gem5::ArmISA::fpMinNum().
FloatType gem5::RiscvISA::fmul | ( | FloatType | a, |
FloatType | b ) |
Definition at line 413 of file utility.hh.
References a, and gem5::ArmISA::b.
FloatType gem5::RiscvISA::fneg | ( | FloatType | a | ) |
FloatType gem5::RiscvISA::frecip7 | ( | FloatType | a | ) |
Definition at line 449 of file utility.hh.
References a.
|
staticconstexpr |
Definition at line 105 of file float.hh.
References boxF16(), and gem5::ArmISA::f.
|
staticconstexpr |
Definition at line 106 of file float.hh.
References boxF32(), and gem5::ArmISA::f.
|
staticconstexpr |
Definition at line 107 of file float.hh.
References gem5::ArmISA::f.
|
staticconstexpr |
Definition at line 108 of file float.hh.
References gem5::ArmISA::f.
FloatType gem5::RiscvISA::frsqrte7 | ( | FloatType | a | ) |
Definition at line 437 of file utility.hh.
References a.
FloatType gem5::RiscvISA::fsgnj | ( | FloatType | a, |
FloatType | b, | ||
bool | n, | ||
bool | x ) |
Definition at line 473 of file utility.hh.
References a, gem5::ArmISA::b, fsgnj16(), fsgnj32(), fsgnj64(), gem5::ArmISA::n, and x.
|
inline |
Definition at line 215 of file float.hh.
References a, gem5::ArmISA::b, f16(), gem5::insertBits(), gem5::ArmISA::n, and x.
Referenced by fsgnj().
|
inline |
Definition at line 222 of file float.hh.
References a, gem5::ArmISA::b, f32(), gem5::insertBits(), gem5::ArmISA::n, and x.
Referenced by fsgnj().
|
inline |
Definition at line 229 of file float.hh.
References a, gem5::ArmISA::b, f64(), gem5::insertBits(), gem5::ArmISA::n, and x.
Referenced by fsgnj().
FloatType gem5::RiscvISA::fsqrt | ( | FloatType | a | ) |
Definition at line 425 of file utility.hh.
References a.
FloatType gem5::RiscvISA::fsub | ( | FloatType | a, |
FloatType | b ) |
Definition at line 365 of file utility.hh.
References a, and gem5::ArmISA::b.
auto gem5::RiscvISA::ftype | ( | IntType | a | ) | -> FloatType |
auto gem5::RiscvISA::ftype_freg | ( | freg_t | a | ) | -> FloatType |
WFT gem5::RiscvISA::fwiden | ( | FT | a | ) |
Definition at line 545 of file utility.hh.
References a.
Returns true if the fault passed as a first argument was triggered by a memory access, false otherwise.
If true it is storing the faulting address in the va argument
fault | generated fault |
va | function will modify this passed-by-reference parameter with the correct faulting virtual address |
Definition at line 252 of file faults.cc.
References gem5::GenericPageTableFault::getFaultVAddr(), gem5::RiscvISA::AddressFault::trap_value(), and gem5::ArmISA::va.
|
inline |
float gem5::RiscvISA::getVflmul | ( | uint32_t | vlmul_encoding | ) |
This function translates the 3-bit value of vlmul bits to the corresponding lmul value as specified in RVV 1.0 spec p11-12 chapter 3.4.2.
I.e., vlmul = -3 -> LMUL = 1/8 vlmul = -2 -> LMUL = 1/4 vlmul = -1 -> LMUL = 1/2 vlmul = 0 -> LMUL = 1 vlmul = 1 -> LMUL = 2 vlmul = 2 -> LMUL = 4 vlmul = 3 -> LMUL = 8
Definition at line 62 of file vector.cc.
References gem5::sext(), and vlmul.
Referenced by getVlmax().
uint32_t gem5::RiscvISA::getVlmax | ( | VTYPE | vtype, |
uint32_t | vlen ) |
Definition at line 70 of file vector.cc.
References getSew(), and getVflmul().
FloatType gem5::RiscvISA::i_to_f | ( | IntType | a | ) |
Definition at line 677 of file utility.hh.
References a.
FloatType gem5::RiscvISA::i_to_nf | ( | IntType | a | ) |
Definition at line 709 of file utility.hh.
References a.
FloatType gem5::RiscvISA::i_to_wf | ( | IntType | a | ) |
Definition at line 692 of file utility.hh.
References a.
T gem5::RiscvISA::int_rounding | ( | T | result, |
uint8_t | xrm, | ||
unsigned | gb ) |
Ref: https://github.com/riscv-software-src/riscv-isa-sim.
Definition at line 817 of file utility.hh.
References panic.
|
inlineconstexpr |
|
constexpr |
|
inline |
Definition at line 90 of file utility.hh.
|
inline |
Definition at line 102 of file utility.hh.
References std::isnan(), and gem5::X86ISA::val.
|
inline |
Definition at line 95 of file utility.hh.
References std::isnan(), and gem5::X86ISA::val.
|
inline |
Definition at line 110 of file utility.hh.
|
inline |
Definition at line 122 of file utility.hh.
References std::isnan(), and gem5::X86ISA::val.
|
inline |
Definition at line 115 of file utility.hh.
References std::isnan(), and gem5::X86ISA::val.
|
inlineconstexpr |
|
inline |
Definition at line 178 of file utility.hh.
References rs1, rs2, and gem5::X86ISA::type.
|
inline |
Definition at line 185 of file utility.hh.
References rs1, rs2, and gem5::X86ISA::type.
|
inline |
Definition at line 171 of file utility.hh.
References rs1, rs2, and gem5::X86ISA::type.
|
inline |
Definition at line 130 of file utility.hh.
References gem5::FloatRegClass, gem5::IntRegClass, gem5::RiscvISA::int_reg::NumArchRegs, gem5::RiscvISA::float_reg::NumRegs, NumVecRegs, gem5::X86ISA::reg, gem5::RiscvISA::float_reg::RegNames, gem5::RiscvISA::int_reg::RegNames, gem5::VecRegClass, and VecRegNames.
Referenced by gem5::RiscvISA::AtomicMemOp::generateDisassembly(), gem5::RiscvISA::AtomicMemOpMicro::generateDisassembly(), gem5::RiscvISA::BSOp::generateDisassembly(), gem5::RiscvISA::CompRegOp::generateDisassembly(), gem5::RiscvISA::CSROp::generateDisassembly(), gem5::RiscvISA::Load::generateDisassembly(), gem5::RiscvISA::LoadReserved::generateDisassembly(), gem5::RiscvISA::LoadReservedMicro::generateDisassembly(), gem5::RiscvISA::RegOp::generateDisassembly(), gem5::RiscvISA::Store::generateDisassembly(), gem5::RiscvISA::StoreCond::generateDisassembly(), gem5::RiscvISA::StoreCondMicro::generateDisassembly(), gem5::RiscvISA::SystemOp::generateDisassembly(), gem5::RiscvISA::VConfOp::generateDisassembly(), gem5::RiscvISA::VectorArithMacroInst::generateDisassembly(), gem5::RiscvISA::VectorArithMicroInst::generateDisassembly(), gem5::RiscvISA::VectorNonSplitInst::generateDisassembly(), gem5::RiscvISA::VectorSlideMacroInst::generateDisassembly(), gem5::RiscvISA::VectorSlideMicroInst::generateDisassembly(), gem5::RiscvISA::VectorVMUNARY0MacroInst::generateDisassembly(), gem5::RiscvISA::VectorVMUNARY0MicroInst::generateDisassembly(), gem5::RiscvISA::VleMacroInst::generateDisassembly(), gem5::RiscvISA::VleMicroInst::generateDisassembly(), gem5::RiscvISA::VlIndexMacroInst::generateDisassembly(), gem5::RiscvISA::VlIndexMicroInst::generateDisassembly(), gem5::RiscvISA::VlSegDeIntrlvMicroInst::generateDisassembly(), gem5::RiscvISA::VlSegMacroInst::generateDisassembly(), gem5::RiscvISA::VlSegMicroInst::generateDisassembly(), gem5::RiscvISA::VlStrideMacroInst::generateDisassembly(), gem5::RiscvISA::VlStrideMicroInst::generateDisassembly(), gem5::RiscvISA::VlWholeMacroInst::generateDisassembly(), gem5::RiscvISA::VlWholeMicroInst::generateDisassembly(), gem5::RiscvISA::VMaskMergeMicroInst::generateDisassembly(), gem5::RiscvISA::VMvWholeMacroInst::generateDisassembly(), gem5::RiscvISA::VMvWholeMicroInst::generateDisassembly(), gem5::RiscvISA::VseMacroInst::generateDisassembly(), gem5::RiscvISA::VseMicroInst::generateDisassembly(), gem5::RiscvISA::VsIndexMacroInst::generateDisassembly(), gem5::RiscvISA::VsIndexMicroInst::generateDisassembly(), gem5::RiscvISA::VsSegIntrlvMicroInst::generateDisassembly(), gem5::RiscvISA::VsSegMacroInst::generateDisassembly(), gem5::RiscvISA::VsSegMicroInst::generateDisassembly(), gem5::RiscvISA::VsStrideMacroInst::generateDisassembly(), gem5::RiscvISA::VsStrideMicroInst::generateDisassembly(), gem5::RiscvISA::VsWholeMacroInst::generateDisassembly(), and gem5::RiscvISA::VsWholeMicroInst::generateDisassembly().
|
inline |
Definition at line 215 of file utility.hh.
|
inline |
Definition at line 228 of file utility.hh.
|
constexpr |
T gem5::RiscvISA::sat_add | ( | T | x, |
T | y, | ||
bool * | sat ) |
Definition at line 746 of file utility.hh.
References gem5::ArmISA::sh, ux, and x.
T gem5::RiscvISA::sat_addu | ( | T | x, |
T | y, | ||
bool * | sat ) |
Definition at line 784 of file utility.hh.
References gem5::ArmISA::t, and x.
T gem5::RiscvISA::sat_sub | ( | T | x, |
T | y, | ||
bool * | sat ) |
Definition at line 765 of file utility.hh.
References gem5::ArmISA::sh, ux, and x.
T gem5::RiscvISA::sat_subu | ( | T | x, |
T | y, | ||
bool * | sat ) |
Definition at line 798 of file utility.hh.
References gem5::ArmISA::t, and x.
gem5::RiscvISA::SubBitUnion | ( | im | , |
15 | , | ||
8 | ) |
gem5::RiscvISA::SubBitUnion | ( | ip | , |
15 | , | ||
8 | ) |
gem5::RiscvISA::SubBitUnion | ( | vtype8 | , |
39 | , | ||
32 | ) |
FloatType gem5::RiscvISA::ui_to_f | ( | IntType | a | ) |
Definition at line 636 of file utility.hh.
References a.
FloatType gem5::RiscvISA::ui_to_nf | ( | IntType | a | ) |
Definition at line 666 of file utility.hh.
References a.
FloatType gem5::RiscvISA::ui_to_wf | ( | IntType | a | ) |
Definition at line 651 of file utility.hh.
References a.
|
static |
Target uname() handler.
Definition at line 113 of file se_workload.cc.
References gem5::ThreadContext::getProcessPtr(), and name().
|
static |
Target uname() handler.
Definition at line 98 of file se_workload.cc.
References gem5::ThreadContext::getProcessPtr(), and name().
|
staticconstexpr |
|
staticconstexpr |
|
inline |
Definition at line 276 of file utility.hh.
References gem5::bits(), and gem5::sext().
|
inline |
Definition at line 283 of file utility.hh.
|
inline |
Definition at line 235 of file utility.hh.
References gem5::bits().
|
inline |
Definition at line 260 of file utility.hh.
References gem5::bits(), gem5::sext(), and vsew.
|
inline |
Definition at line 270 of file utility.hh.
References gem5::bits(), and gem5::sext().
|
inline |
Definition at line 289 of file utility.hh.
References width.
const uint8_t gem5::RiscvISA::_rvk_emu_aes_fwd_sbox[256] |
Ref: https://github.com/rvkrypto/rvkrypto-fips.
Definition at line 47 of file rvk.hh.
Referenced by _rvk_emu_aes32esi(), _rvk_emu_aes32esmi(), _rvk_emu_aes64es(), and _rvk_emu_aes64ks1i().
const uint8_t gem5::RiscvISA::_rvk_emu_aes_inv_sbox[256] |
Definition at line 73 of file rvk.hh.
Referenced by _rvk_emu_aes32dsi(), _rvk_emu_aes32dsmi(), and _rvk_emu_aes64ds().
const uint8_t gem5::RiscvISA::_rvk_emu_sm4_sbox[256] |
Definition at line 99 of file rvk.hh.
Referenced by _rvk_emu_sm4ed(), and _rvk_emu_sm4ks().
Bitfield<6> gem5::RiscvISA::a |
Definition at line 69 of file pagetable.hh.
Referenced by _rvk_emu_clmul_32(), _rvk_emu_clmul_64(), _rvk_emu_clmulh_32(), _rvk_emu_clmulh_64(), f_to_i(), f_to_nf(), f_to_ni(), f_to_nui(), f_to_ui(), f_to_wf(), f_to_wi(), f_to_wui(), fadd(), fclassify(), fdiv(), feq(), fle(), flt(), fmadd(), fmax(), fmin(), fmul(), fneg(), frecip7(), frsqrte7(), fsgnj(), fsgnj16(), fsgnj32(), fsgnj64(), fsqrt(), fsub(), ftype(), ftype_freg(), fwiden(), i_to_f(), i_to_nf(), i_to_wf(), gem5::RiscvISA::PMP::pmpGetAField(), ui_to_f(), ui_to_nf(), and ui_to_wf().
Bitfield<31, 0> gem5::RiscvISA::all |
Definition at line 76 of file types.hh.
Referenced by gem5::BaseRemoteGDB::cmdIsThreadAlive(), gem5::BaseRemoteGDB::cmdSetThread(), gem5::networking::Ip6Hdr::extensionLength(), gem5::networking::Ip6Hdr::getExt(), gem5::networking::IpHdr::options(), gem5::networking::TcpHdr::options(), gem5::networking::Ip6Hdr::proto(), gem5::System::remove(), gem5::System::schedule(), gem5::ArmISA::VldSingleOp::VldSingleOp(), and gem5::ArmISA::VstSingleOp::VstSingleOp().
auto & gem5::RiscvISA::AMOTempReg = int_reg::Ureg0 |
Bitfield<12, 10> gem5::RiscvISA::ar |
Definition at line 225 of file pra_constants.hh.
|
inlineconstexpr |
Bitfield<12, 8> gem5::RiscvISA::aseDn |
Definition at line 83 of file pra_constants.hh.
gem5::RiscvISA::aseUp |
Definition at line 79 of file pra_constants.hh.
Bitfield< 23, 16 > gem5::RiscvISA::asid |
Definition at line 47 of file pagetable.hh.
Bitfield<14, 13> gem5::RiscvISA::at |
Definition at line 224 of file pra_constants.hh.
Bitfield<22, 4> gem5::RiscvISA::badVPN2 |
Definition at line 67 of file pra_constants.hh.
Bitfield<15> gem5::RiscvISA::be |
Definition at line 223 of file pra_constants.hh.
Bitfield<22> gem5::RiscvISA::bev |
Definition at line 117 of file pra_constants.hh.
Bitfield<5, 3> gem5::RiscvISA::c |
Definition at line 59 of file pra_constants.hh.
Referenced by gem5::RiscvISA::PCState::compressed(), and fmadd().
Bitfield<6> gem5::RiscvISA::c2 |
Definition at line 241 of file pra_constants.hh.
Bitfield<2> gem5::RiscvISA::ca |
Definition at line 245 of file pra_constants.hh.
const RegVal gem5::RiscvISA::CAUSE_INTERRUPT_MASKS[enums::Num_RiscvType] |
Definition at line 1497 of file misc.hh.
Referenced by gem5::RiscvISA::RiscvFault::invoke().
Bitfield<29, 28> gem5::RiscvISA::ce |
Definition at line 180 of file pra_constants.hh.
Bitfield<23, 16> gem5::RiscvISA::coId |
Definition at line 205 of file pra_constants.hh.
Bitfield<61> gem5::RiscvISA::compressed |
Definition at line 60 of file types.hh.
Referenced by gem5::RiscvISA::Decoder::decode(), gem5::RiscvISA::Decoder::decode(), and gem5::RiscvISA::Decoder::moreBytes().
gem5::RiscvISA::coOp |
Definition at line 204 of file pra_constants.hh.
Bitfield<9, 9> gem5::RiscvISA::cpuNum |
Definition at line 215 of file pra_constants.hh.
const std::unordered_map<int, CSRMetadata> gem5::RiscvISA::CSRData |
Definition at line 536 of file misc.hh.
Referenced by gem5::RiscvISA::CSROp::generateDisassembly(), gem5::RiscvISA::ISA::getCSRDataMap(), gem5::RiscvISA::RemoteGDB::Riscv32GdbRegCache::getRegs(), gem5::RiscvISA::RemoteGDB::Riscv64GdbRegCache::getRegs(), gem5::setRegNoEffectWithMask(), gem5::RiscvISA::RemoteGDB::Riscv32GdbRegCache::setRegs(), gem5::RiscvISA::RemoteGDB::Riscv64GdbRegCache::setRegs(), and gem5::setRegWithMask().
const std::unordered_map<int, RegVal> gem5::RiscvISA::CSRMasks[enums::Num_RiscvType][enums::Num_PrivilegeModeSet] |
Definition at line 1503 of file misc.hh.
Referenced by gem5::RiscvISA::ISA::getCSRMaskMap(), gem5::RiscvISA::RemoteGDB::Riscv32GdbRegCache::getRegs(), gem5::RiscvISA::RemoteGDB::Riscv64GdbRegCache::getRegs(), gem5::setRegNoEffectWithMask(), and gem5::setRegWithMask().
Bitfield<3, 0> gem5::RiscvISA::css |
Definition at line 163 of file pra_constants.hh.
Bitfield<28> gem5::RiscvISA::cu0 |
Definition at line 110 of file pra_constants.hh.
Bitfield<29> gem5::RiscvISA::cu1 |
Definition at line 109 of file pra_constants.hh.
Bitfield<30> gem5::RiscvISA::cu2 |
Definition at line 108 of file pra_constants.hh.
Bitfield<31> gem5::RiscvISA::cu3 |
Definition at line 107 of file pra_constants.hh.
Bitfield< 2 > gem5::RiscvISA::d |
Definition at line 68 of file pagetable.hh.
Bitfield<9, 7> gem5::RiscvISA::da |
Definition at line 240 of file pra_constants.hh.
Bitfield<27> gem5::RiscvISA::dc |
Definition at line 181 of file pra_constants.hh.
Bitfield<12, 10> gem5::RiscvISA::dl |
Definition at line 239 of file pra_constants.hh.
Bitfield<15, 13> gem5::RiscvISA::ds |
Definition at line 238 of file pra_constants.hh.
Bitfield<10> gem5::RiscvISA::dspp |
Definition at line 265 of file pra_constants.hh.
Bitfield<25> gem5::RiscvISA::eb |
Definition at line 315 of file pra_constants.hh.
Bitfield<30> gem5::RiscvISA::ec |
Definition at line 310 of file pra_constants.hh.
Bitfield<29> gem5::RiscvISA::ed |
Definition at line 311 of file pra_constants.hh.
Bitfield<26> gem5::RiscvISA::ee |
Definition at line 314 of file pra_constants.hh.
Bitfield<21, 18> gem5::RiscvISA::eicss |
Definition at line 157 of file pra_constants.hh.
Bitfield<29> gem5::RiscvISA::elpa |
Definition at line 80 of file pra_constants.hh.
Bitfield<1> gem5::RiscvISA::ep |
Definition at line 246 of file pra_constants.hh.
Bitfield<2> gem5::RiscvISA::erl |
Definition at line 140 of file pra_constants.hh.
Bitfield<27> gem5::RiscvISA::es |
Definition at line 313 of file pra_constants.hh.
Bitfield<28> gem5::RiscvISA::esp |
Definition at line 81 of file pra_constants.hh.
Bitfield<15, 12> gem5::RiscvISA::ess |
Definition at line 159 of file pra_constants.hh.
Bitfield<28> gem5::RiscvISA::et |
Definition at line 312 of file pra_constants.hh.
Bitfield<10, 5> gem5::RiscvISA::event |
Definition at line 300 of file pra_constants.hh.
Bitfield<6, 2> gem5::RiscvISA::excCode |
Definition at line 199 of file pra_constants.hh.
gem5::RiscvISA::exceptionBase |
Definition at line 213 of file pra_constants.hh.
Bitfield< 0 > gem5::RiscvISA::exl |
Definition at line 141 of file pra_constants.hh.
const RegVal gem5::RiscvISA::FFLAGS_MASK = (1 << FRM_OFFSET) - 1 |
Definition at line 1494 of file misc.hh.
Referenced by gem5::RiscvISA::ISA::readMiscReg(), and gem5::RiscvISA::ISA::setMiscReg().
Bitfield< 61, 40 > gem5::RiscvISA::fill |
Definition at line 57 of file pra_constants.hh.
Bitfield<0> gem5::RiscvISA::fp |
Definition at line 247 of file pra_constants.hh.
Bitfield<26> gem5::RiscvISA::fr |
Definition at line 113 of file pra_constants.hh.
const RegVal gem5::RiscvISA::FRM_MASK = 0x7 |
Definition at line 1495 of file misc.hh.
Referenced by gem5::RiscvISA::ISA::setMiscReg().
const off_t gem5::RiscvISA::FRM_OFFSET = 5 |
Definition at line 1279 of file misc.hh.
Referenced by gem5::RiscvISA::ISA::readMiscReg().
Bitfield< 30 > gem5::RiscvISA::g |
Definition at line 70 of file pagetable.hh.
gem5::RiscvISA::hss |
Definition at line 155 of file pra_constants.hh.
Bitfield< 2 > gem5::RiscvISA::i |
Definition at line 279 of file pra_constants.hh.
Referenced by _rvk_emu_clmul_32(), _rvk_emu_clmul_64(), _rvk_emu_clmulh_32(), _rvk_emu_clmulh_64(), _rvk_emu_xperm32(), _rvk_emu_xperm64(), gem5::RiscvISA::VlFFTrimVlMicroOp::calcVl(), gem5::RiscvISA::ISA::copyRegsFrom(), gem5::RiscvISA::VlSegDeIntrlvMicroInst::execute(), gem5::RiscvISA::VMaskMergeMicroInst::execute(), gem5::RiscvISA::VlSegDeIntrlvMicroInst::generateDisassembly(), gem5::RiscvISA::VMaskMergeMicroInst::generateDisassembly(), gem5::RiscvISA::VsSegIntrlvMicroInst::generateDisassembly(), gem5::RiscvISA::Interrupts::Interrupts(), gem5::RiscvISA::PMP::pmpCheck(), gem5::RiscvISA::PMP::pmpReset(), gem5::RiscvISA::PMP::pmpUpdateRule(), gem5::RiscvISA::ISA::setMiscReg(), gem5::RiscvISA::RiscvMacroInst::size(), gem5::RiscvISA::VlFFTrimVlMicroOp::VlFFTrimVlMicroOp(), gem5::RiscvISA::VlSegDeIntrlvMicroInst::VlSegDeIntrlvMicroInst(), gem5::RiscvISA::VMaskMergeMicroInst::VMaskMergeMicroInst(), and gem5::RiscvISA::VsSegIntrlvMicroInst::VsSegIntrlvMicroInst().
Bitfield<18, 16> gem5::RiscvISA::ia |
Definition at line 237 of file pra_constants.hh.
Bitfield< 4 > gem5::RiscvISA::ie |
Definition at line 142 of file pra_constants.hh.
Bitfield<21, 19> gem5::RiscvISA::il |
Definition at line 236 of file pra_constants.hh.
Bitfield<8> gem5::RiscvISA::im0 |
Definition at line 132 of file pra_constants.hh.
Bitfield<9> gem5::RiscvISA::im1 |
Definition at line 131 of file pra_constants.hh.
Bitfield<10> gem5::RiscvISA::im2 |
Definition at line 130 of file pra_constants.hh.
Bitfield<11> gem5::RiscvISA::im3 |
Definition at line 129 of file pra_constants.hh.
Bitfield<12> gem5::RiscvISA::im4 |
Definition at line 128 of file pra_constants.hh.
Bitfield<13> gem5::RiscvISA::im5 |
Definition at line 127 of file pra_constants.hh.
Bitfield<14> gem5::RiscvISA::im6 |
Definition at line 126 of file pra_constants.hh.
Bitfield< 4, 3 > gem5::RiscvISA::impl |
Definition at line 93 of file pra_constants.hh.
Bitfield< 22, 0 > gem5::RiscvISA::index |
Definition at line 47 of file pra_constants.hh.
Referenced by gem5::RiscvISA::Interrupts::clear(), elem_mask(), elem_mask_vseg(), gem5::RiscvISA::VlSegDeIntrlvMicroInst::execute(), gem5::RiscvISA::PMP::pmpUpdateAddr(), gem5::RiscvISA::Interrupts::post(), and gem5::RiscvISA::VlSegDeIntrlvMicroInst::VlSegDeIntrlvMicroInst().
Bitfield<8> gem5::RiscvISA::ip0 |
Definition at line 196 of file pra_constants.hh.
Bitfield<9> gem5::RiscvISA::ip1 |
Definition at line 195 of file pra_constants.hh.
Bitfield<10> gem5::RiscvISA::ip2 |
Definition at line 194 of file pra_constants.hh.
Bitfield<11> gem5::RiscvISA::ip3 |
Definition at line 193 of file pra_constants.hh.
Bitfield<12> gem5::RiscvISA::ip4 |
Definition at line 192 of file pra_constants.hh.
Bitfield<13> gem5::RiscvISA::ip5 |
Definition at line 191 of file pra_constants.hh.
Bitfield<14> gem5::RiscvISA::ip6 |
Definition at line 190 of file pra_constants.hh.
Bitfield<15, 10> gem5::RiscvISA::ipl |
Definition at line 123 of file pra_constants.hh.
Bitfield<28, 26> gem5::RiscvISA::ippci |
Definition at line 147 of file pra_constants.hh.
gem5::RiscvISA::ipti |
Definition at line 146 of file pra_constants.hh.
Bitfield<24, 22> gem5::RiscvISA::is |
Definition at line 235 of file pra_constants.hh.
const RegVal gem5::RiscvISA::ISA_MXL_MASKS[enums::Num_RiscvType] |
Bitfield<23> gem5::RiscvISA::iv |
Definition at line 184 of file pra_constants.hh.
Bitfield<1> gem5::RiscvISA::k |
Definition at line 304 of file pra_constants.hh.
Bitfield<2, 0> gem5::RiscvISA::k0 |
Definition at line 229 of file pra_constants.hh.
Bitfield<30, 28> gem5::RiscvISA::k23 |
Definition at line 220 of file pra_constants.hh.
Bitfield<4, 3> gem5::RiscvISA::ksu |
Definition at line 137 of file pra_constants.hh.
Bitfield<27, 25> gem5::RiscvISA::ku |
Definition at line 221 of file pra_constants.hh.
Bitfield<5> gem5::RiscvISA::l |
Definition at line 323 of file pra_constants.hh.
const Addr gem5::RiscvISA::LEVEL_BITS = 9 |
Definition at line 60 of file pagetable.hh.
Referenced by gem5::RiscvISA::Walker::WalkerState::setupWalk(), and gem5::RiscvISA::Walker::WalkerState::stepWalk().
const Addr gem5::RiscvISA::LEVEL_MASK = (1 << LEVEL_BITS) - 1 |
Definition at line 61 of file pagetable.hh.
Referenced by gem5::RiscvISA::Walker::WalkerState::setupWalk(), and gem5::RiscvISA::Walker::WalkerState::stepWalk().
gem5::RiscvISA::local |
Definition at line 1251 of file misc.hh.
Referenced by gem5::openatFunc().
Bitfield<7> gem5::RiscvISA::lpa |
Definition at line 267 of file pra_constants.hh.
Bitfield< 11, 3 > gem5::RiscvISA::mask |
Definition at line 73 of file pra_constants.hh.
Referenced by _rvk_emu_xperm32(), _rvk_emu_xperm64(), boxF16(), boxF32(), gem5::RiscvISA::PMAChecker::checkPAddrAlignment(), gem5::RiscvISA::PMAChecker::checkVAddrAlignment(), gem5::RiscvISA::VMaskMergeMicroInst::execute(), fneg(), gem5::RiscvISA::Interrupts::getInterrupt(), gem5::RiscvISA::Interrupts::globalMask(), gem5::RiscvISA::ISA::setMiscReg(), gem5::RiscvISA::Walker::WalkerState::stepWalk(), unboxF16(), and unboxF32().
Bitfield<12, 11> gem5::RiscvISA::maskx |
Definition at line 74 of file pra_constants.hh.
|
constexpr |
const off_t gem5::RiscvISA::MBE_OFFSET[enums::Num_RiscvType] |
Bitfield<5> gem5::RiscvISA::md |
Definition at line 242 of file pra_constants.hh.
const RegVal gem5::RiscvISA::MI_MASK[enums::Num_PrivilegeModeSet] |
Definition at line 1467 of file misc.hh.
Referenced by gem5::RiscvISA::ISA::setMiscReg().
const RegVal gem5::RiscvISA::MISA_MASKS[enums::Num_RiscvType] |
const std::array<const char *, NUM_MISCREGS> gem5::RiscvISA::MiscRegNames |
Definition at line 70 of file isa.cc.
Referenced by gem5::RiscvISA::ISA::readMiscRegNoEffect(), gem5::RiscvISA::ISA::setMiscReg(), and gem5::RiscvISA::ISA::setMiscRegNoEffect().
Bitfield<30, 25> gem5::RiscvISA::mmuSize |
Definition at line 234 of file pra_constants.hh.
gem5::RiscvISA::mode |
Definition at line 46 of file pagetable.hh.
Referenced by gem5::RiscvISA::PMAChecker::check(), gem5::RiscvISA::PMAChecker::checkPAddrAlignment(), gem5::RiscvISA::PMAChecker::checkVAddrAlignment(), gem5::RiscvISA::PMP::createAddrfault(), gem5::RiscvISA::PMAChecker::createMisalignFault(), f_to_i(), f_to_ni(), f_to_nui(), f_to_ui(), f_to_wi(), f_to_wui(), gem5::RiscvISA::MMU::getMemPriv(), gem5::RiscvISA::Walker::WalkerState::initState(), gem5::RiscvISA::Walker::WalkerState::pageFault(), gem5::RiscvISA::PMP::pmpCheck(), gem5::RiscvISA::Walker::WalkerState::recvPacket(), gem5::RiscvISA::Walker::WalkerState::stepWalk(), and gem5::RiscvISA::MMU::translateFunctional().
const RegVal gem5::RiscvISA::MSTATUS_MASKS[enums::Num_RiscvType][enums::Num_PrivilegeModeSet] |
Definition at line 1325 of file misc.hh.
Referenced by gem5::RiscvISA::ISA::setMiscReg().
const RegVal gem5::RiscvISA::MSTATUSH_MASKS[enums::Num_PrivilegeModeSet] |
Bitfield< 2 > gem5::RiscvISA::mt |
Definition at line 226 of file pra_constants.hh.
Bitfield<24> gem5::RiscvISA::mx |
Definition at line 115 of file pra_constants.hh.
Bitfield<19> gem5::RiscvISA::nmi |
Definition at line 120 of file pra_constants.hh.
const int gem5::RiscvISA::NumVecRegs = NumVecStandardRegs + NumVecInternalRegs |
Definition at line 56 of file vector.hh.
Referenced by registerName().
Bitfield<0> gem5::RiscvISA::p |
Definition at line 326 of file pra_constants.hh.
Referenced by gem5::RiscvISA::BareMetal::BareMetal(), gem5::RiscvISA::Decoder::Decoder(), gem5::RiscvISA::Interrupts::Interrupts(), and gem5::RiscvISA::ISA::ISA().
Definition at line 54 of file page_size.hh.
Referenced by gem5::RiscvSemihosting::isSemihostingEBreak(), and gem5::RiscvISA::MMU::translateFunctional().
const Addr gem5::RiscvISA::PageShift = 12 |
Definition at line 53 of file page_size.hh.
Referenced by gem5::RiscvISA::Walker::WalkerState::setupWalk(), gem5::RiscvISA::Walker::WalkerState::startFunctional(), and gem5::RiscvISA::Walker::WalkerState::stepWalk().
Bitfield<4> gem5::RiscvISA::pc |
Definition at line 243 of file pra_constants.hh.
Referenced by gem5::RiscvISA::RiscvMicroInst::advancePC(), gem5::RiscvISA::RiscvStaticInst::advancePC(), gem5::RiscvISA::RiscvStaticInst::advancePC(), gem5::RiscvISA::PCState::branching(), gem5::RiscvISA::VlFFTrimVlMicroOp::execute(), and gem5::RiscvISA::Decoder::moreBytes().
Bitfield<26> gem5::RiscvISA::pci |
Definition at line 182 of file pra_constants.hh.
Bitfield<3, 1> gem5::RiscvISA::perm |
Definition at line 72 of file pagetable.hh.
Referenced by gem5::ruby::CacheMemory::recordCacheContents().
Bitfield<29, 6> gem5::RiscvISA::pfn |
Definition at line 58 of file pra_constants.hh.
gem5::RiscvISA::ppn |
Definition at line 48 of file pagetable.hh.
Referenced by gem5::prefetch::SignaturePath::addPrefetch(), gem5::prefetch::SignaturePath::auxiliaryPrefetcher(), gem5::prefetch::SignaturePath::calculatePrefetch(), and gem5::prefetch::SignaturePath::getSignatureEntry().
Bitfield<18, 10> gem5::RiscvISA::ppn0 |
Definition at line 67 of file pagetable.hh.
Bitfield<27, 19> gem5::RiscvISA::ppn1 |
Definition at line 66 of file pagetable.hh.
Bitfield<53, 28> gem5::RiscvISA::ppn2 |
Definition at line 65 of file pagetable.hh.
Bitfield<27, 24> gem5::RiscvISA::pred |
Definition at line 90 of file types.hh.
Referenced by gem5::branch_prediction::TAGEBase::baseUpdate(), gem5::branch_prediction::TAGEBase::condBranchUpdate(), gem5::MSHR::promoteIf(), gem5::MSHR::promoteReadable(), gem5::MSHR::promoteWritable(), and gem5::branch_prediction::MultiperspectivePerceptron::train().
Bitfield<15, 8> gem5::RiscvISA::procId |
Definition at line 206 of file pra_constants.hh.
Bitfield<9, 6> gem5::RiscvISA::pss |
Definition at line 161 of file pra_constants.hh.
Bitfield<7, 6> gem5::RiscvISA::pState |
Definition at line 322 of file pra_constants.hh.
gem5::RiscvISA::pTagLo |
Definition at line 321 of file pra_constants.hh.
gem5::RiscvISA::pteBase |
Definition at line 66 of file pra_constants.hh.
Bitfield<23> gem5::RiscvISA::px |
Definition at line 116 of file pra_constants.hh.
Bitfield< 1 > gem5::RiscvISA::r |
Definition at line 75 of file pagetable.hh.
Referenced by _rvk_emu_xperm32(), _rvk_emu_xperm64(), f16(), f32(), and f64().
Bitfield<3> gem5::RiscvISA::r0 |
Definition at line 139 of file pra_constants.hh.
gem5::RiscvISA::random |
Definition at line 53 of file pra_constants.hh.
Bitfield<25> gem5::RiscvISA::re |
Definition at line 114 of file pra_constants.hh.
|
inlineconstexpr |
auto & gem5::RiscvISA::ReturnValueReg = int_reg::A0 |
Bitfield<7, 0> gem5::RiscvISA::rev |
Definition at line 207 of file pra_constants.hh.
Bitfield<15, 10> gem5::RiscvISA::ripl |
Definition at line 187 of file pra_constants.hh.
Bitfield<19, 15> gem5::RiscvISA::rs1 |
Definition at line 79 of file types.hh.
Referenced by _rvk_emu_aes32dsi(), _rvk_emu_aes32dsmi(), _rvk_emu_aes32esi(), _rvk_emu_aes32esmi(), _rvk_emu_aes64ds(), _rvk_emu_aes64dsm(), _rvk_emu_aes64es(), _rvk_emu_aes64esm(), _rvk_emu_aes64im(), _rvk_emu_aes64ks1i(), _rvk_emu_aes64ks2(), _rvk_emu_brev8_32(), _rvk_emu_brev8_64(), _rvk_emu_clmul_32(), _rvk_emu_clmul_64(), _rvk_emu_clmulh_32(), _rvk_emu_clmulh_64(), _rvk_emu_grev_32(), _rvk_emu_grev_64(), _rvk_emu_rol_32(), _rvk_emu_rol_64(), _rvk_emu_ror_32(), _rvk_emu_ror_64(), _rvk_emu_sha256sig0(), _rvk_emu_sha256sig1(), _rvk_emu_sha256sum0(), _rvk_emu_sha256sum1(), _rvk_emu_sha512sig0(), _rvk_emu_sha512sig0h(), _rvk_emu_sha512sig0l(), _rvk_emu_sha512sig1(), _rvk_emu_sha512sig1h(), _rvk_emu_sha512sig1l(), _rvk_emu_sha512sum0(), _rvk_emu_sha512sum0r(), _rvk_emu_sha512sum1(), _rvk_emu_sha512sum1r(), _rvk_emu_shfl_32(), _rvk_emu_sll_32(), _rvk_emu_sll_64(), _rvk_emu_sm3p0(), _rvk_emu_sm3p1(), _rvk_emu_sm4ed(), _rvk_emu_sm4ks(), _rvk_emu_srl_32(), _rvk_emu_srl_64(), _rvk_emu_unshfl_32(), _rvk_emu_unzip_32(), _rvk_emu_xperm32(), _rvk_emu_xperm4_32(), _rvk_emu_xperm4_64(), _rvk_emu_xperm64(), _rvk_emu_xperm8_32(), _rvk_emu_xperm8_64(), _rvk_emu_zip_32(), div(), divu(), mulh(), mulhsu(), mulhu(), rem(), and remu().
Bitfield<24, 20> gem5::RiscvISA::rs2 |
Definition at line 80 of file types.hh.
Referenced by _rvk_emu_aes32dsi(), _rvk_emu_aes32dsmi(), _rvk_emu_aes32esi(), _rvk_emu_aes32esmi(), _rvk_emu_aes64ds(), _rvk_emu_aes64dsm(), _rvk_emu_aes64es(), _rvk_emu_aes64esm(), _rvk_emu_aes64ks2(), _rvk_emu_clmul_32(), _rvk_emu_clmul_64(), _rvk_emu_clmulh_32(), _rvk_emu_clmulh_64(), _rvk_emu_grev_32(), _rvk_emu_grev_64(), _rvk_emu_rol_32(), _rvk_emu_rol_64(), _rvk_emu_ror_32(), _rvk_emu_ror_64(), _rvk_emu_sha512sig0h(), _rvk_emu_sha512sig0l(), _rvk_emu_sha512sig1h(), _rvk_emu_sha512sig1l(), _rvk_emu_sha512sum0r(), _rvk_emu_sha512sum1r(), _rvk_emu_shfl_32(), _rvk_emu_sll_32(), _rvk_emu_sll_64(), _rvk_emu_sm4ed(), _rvk_emu_sm4ks(), _rvk_emu_srl_32(), _rvk_emu_srl_64(), _rvk_emu_unshfl_32(), _rvk_emu_xperm32(), _rvk_emu_xperm4_32(), _rvk_emu_xperm4_64(), _rvk_emu_xperm64(), _rvk_emu_xperm8_32(), _rvk_emu_xperm8_64(), div(), divu(), mulh(), mulhsu(), mulhu(), rem(), and remu().
|
constexpr |
Definition at line 56 of file pcstate.hh.
Referenced by gem5::RiscvISA::ISA::clear(), EndBitUnion(), gem5::RiscvISA::Interrupts::getInterrupt(), gem5::RiscvISA::RemoteGDB::Riscv32GdbRegCache::getRegs(), gem5::RiscvProcess32::initState(), gem5::Clint::raiseInterruptPin(), gem5::RiscvISA::ISA::readMiscReg(), gem5::RiscvISA::RiscvStaticInst::rvSelect(), gem5::RiscvISA::ISA::setMiscReg(), and gem5::RiscvISA::RemoteGDB::Riscv32GdbRegCache::setRegs().
|
constexpr |
Definition at line 57 of file pcstate.hh.
Referenced by gem5::RiscvISA::ISA::clear(), EndBitUnion(), gem5::RiscvISA::Interrupts::getInterrupt(), gem5::RiscvISA::RemoteGDB::Riscv64GdbRegCache::getRegs(), gem5::RiscvProcess64::initState(), gem5::RiscvISA::ISA::readMiscReg(), gem5::RiscvISA::ISA::setMiscReg(), and gem5::RiscvISA::RemoteGDB::Riscv64GdbRegCache::setRegs().
Bitfield<2> gem5::RiscvISA::s |
Definition at line 303 of file pra_constants.hh.
Referenced by gem5::RiscvISA::VlSegDeIntrlvMicroInst::execute(), gem5::RiscvISA::VMaskMergeMicroInst::execute(), gem5::RiscvISA::VsSegIntrlvMicroInst::execute(), and gem5::RiscvISA::VConfOp::generateZimmDisassembly().
Bitfield<3, 0> gem5::RiscvISA::sa |
Definition at line 259 of file pra_constants.hh.
const off_t gem5::RiscvISA::SBE_OFFSET[enums::Num_RiscvType] |
const RegVal gem5::RiscvISA::SI_MASK[enums::Num_PrivilegeModeSet] |
Definition at line 1478 of file misc.hh.
Referenced by gem5::RiscvISA::ISA::readMiscReg(), and gem5::RiscvISA::ISA::setMiscReg().
Bitfield<7, 4> gem5::RiscvISA::sl |
Definition at line 258 of file pra_constants.hh.
Bitfield<1> gem5::RiscvISA::sm |
Definition at line 273 of file pra_constants.hh.
Bitfield<4> gem5::RiscvISA::sp |
Definition at line 270 of file pra_constants.hh.
Bitfield<20> gem5::RiscvISA::sr |
Definition at line 119 of file pra_constants.hh.
Bitfield<11, 8> gem5::RiscvISA::ss |
Definition at line 257 of file pra_constants.hh.
Referenced by gem5::RiscvISA::AtomicMemOp::generateDisassembly(), gem5::RiscvISA::AtomicMemOpMicro::generateDisassembly(), gem5::RiscvISA::BSOp::generateDisassembly(), gem5::RiscvISA::CompRegOp::generateDisassembly(), gem5::RiscvISA::CSROp::generateDisassembly(), gem5::RiscvISA::Load::generateDisassembly(), gem5::RiscvISA::LoadReserved::generateDisassembly(), gem5::RiscvISA::LoadReservedMicro::generateDisassembly(), gem5::RiscvISA::MemFenceMicro::generateDisassembly(), gem5::RiscvISA::RegOp::generateDisassembly(), gem5::RiscvISA::Store::generateDisassembly(), gem5::RiscvISA::StoreCond::generateDisassembly(), gem5::RiscvISA::StoreCondMicro::generateDisassembly(), gem5::RiscvISA::SystemOp::generateDisassembly(), gem5::RiscvISA::VConfOp::generateDisassembly(), gem5::RiscvISA::VectorArithMacroInst::generateDisassembly(), gem5::RiscvISA::VectorArithMicroInst::generateDisassembly(), gem5::RiscvISA::VectorNonSplitInst::generateDisassembly(), gem5::RiscvISA::VectorNopMicroInst::generateDisassembly(), gem5::RiscvISA::VectorSlideMacroInst::generateDisassembly(), gem5::RiscvISA::VectorSlideMicroInst::generateDisassembly(), gem5::RiscvISA::VectorVMUNARY0MacroInst::generateDisassembly(), gem5::RiscvISA::VectorVMUNARY0MicroInst::generateDisassembly(), gem5::RiscvISA::VleMacroInst::generateDisassembly(), gem5::RiscvISA::VleMicroInst::generateDisassembly(), gem5::RiscvISA::VlFFTrimVlMicroOp::generateDisassembly(), gem5::RiscvISA::VlIndexMacroInst::generateDisassembly(), gem5::RiscvISA::VlIndexMicroInst::generateDisassembly(), gem5::RiscvISA::VlSegDeIntrlvMicroInst::generateDisassembly(), gem5::RiscvISA::VlSegMacroInst::generateDisassembly(), gem5::RiscvISA::VlSegMicroInst::generateDisassembly(), gem5::RiscvISA::VlStrideMacroInst::generateDisassembly(), gem5::RiscvISA::VlStrideMicroInst::generateDisassembly(), gem5::RiscvISA::VlWholeMacroInst::generateDisassembly(), gem5::RiscvISA::VlWholeMicroInst::generateDisassembly(), gem5::RiscvISA::VMaskMergeMicroInst::generateDisassembly(), gem5::RiscvISA::VMvWholeMacroInst::generateDisassembly(), gem5::RiscvISA::VMvWholeMicroInst::generateDisassembly(), gem5::RiscvISA::VseMacroInst::generateDisassembly(), gem5::RiscvISA::VseMicroInst::generateDisassembly(), gem5::RiscvISA::VsIndexMacroInst::generateDisassembly(), gem5::RiscvISA::VsIndexMicroInst::generateDisassembly(), gem5::RiscvISA::VsSegIntrlvMicroInst::generateDisassembly(), gem5::RiscvISA::VsSegMacroInst::generateDisassembly(), gem5::RiscvISA::VsSegMicroInst::generateDisassembly(), gem5::RiscvISA::VsStrideMacroInst::generateDisassembly(), gem5::RiscvISA::VsStrideMicroInst::generateDisassembly(), gem5::RiscvISA::VsWholeMacroInst::generateDisassembly(), gem5::RiscvISA::VsWholeMicroInst::generateDisassembly(), and gem5::RiscvISA::VxsatMicroInst::generateDisassembly().
const RegVal gem5::RiscvISA::SSTATUS_MASKS[enums::Num_RiscvType][enums::Num_PrivilegeModeSet] |
Definition at line 1399 of file misc.hh.
Referenced by gem5::RiscvISA::ISA::readMiscReg(), and gem5::RiscvISA::ISA::setMiscReg().
Bitfield<3, 0> gem5::RiscvISA::ssv0 |
Definition at line 174 of file pra_constants.hh.
Bitfield<7, 4> gem5::RiscvISA::ssv1 |
Definition at line 173 of file pra_constants.hh.
Bitfield<11, 8> gem5::RiscvISA::ssv2 |
Definition at line 172 of file pra_constants.hh.
Bitfield<15, 12> gem5::RiscvISA::ssv3 |
Definition at line 171 of file pra_constants.hh.
Bitfield<19, 16> gem5::RiscvISA::ssv4 |
Definition at line 170 of file pra_constants.hh.
Bitfield<23, 20> gem5::RiscvISA::ssv5 |
Definition at line 169 of file pra_constants.hh.
Bitfield<27, 24> gem5::RiscvISA::ssv6 |
Definition at line 168 of file pra_constants.hh.
gem5::RiscvISA::ssv7 |
Definition at line 167 of file pra_constants.hh.
auto & gem5::RiscvISA::StackPointerReg = int_reg::Sp |
Definition at line 141 of file int.hh.
Referenced by gem5::RiscvLinux32::archClone(), and gem5::RiscvLinux64::archClone().
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_SD_MASKS[enums::Num_RiscvType] |
const RegVal gem5::RiscvISA::STATUS_SXL_MASK = 3ULL << SXL_OFFSET |
Definition at line 1305 of file misc.hh.
Referenced by gem5::RiscvISA::ISA::setMiscReg().
const RegVal gem5::RiscvISA::STATUS_UXL_MASK = 3ULL << UXL_OFFSET |
Definition at line 1306 of file misc.hh.
Referenced by gem5::RiscvISA::ISA::setMiscReg().
Bitfield<15, 12> gem5::RiscvISA::su |
Definition at line 256 of file pra_constants.hh.
Bitfield<23, 20> gem5::RiscvISA::succ |
Definition at line 89 of file types.hh.
Referenced by gem5::prefetch::PIF::CompactorEntry::getPredictedAddresses(), gem5::prefetch::PIF::CompactorEntry::hasAddress(), gem5::prefetch::PIF::CompactorEntry::inSameSpatialRegion(), gem5::RequestPort::sendTimingReq(), and gem5::ResponsePort::sendTimingResp().
Bitfield<18> gem5::RiscvISA::sum |
Definition at line 1198 of file misc.hh.
Referenced by gem5::networking::__tu_cksum(), gem5::networking::__tu_cksum6(), gem5::PowerISA::IntArithOp::add(), gem5::PowerISA::IntArithOp::add(), gem5::X86ISA::ACPI::apic_checksum(), gem5::networking::cksum(), gem5::ruby::Throttle::getTotalLinkBandwidth(), gem5::TrafficGen::parseConfig(), gem5::popCount(), gem5::ruby::garnet::GarnetNetwork::regStats(), gem5::ruby::SimpleNetwork::regStats(), and TEST().
Bitfield<6> gem5::RiscvISA::sx |
Definition at line 135 of file pra_constants.hh.
auto & gem5::RiscvISA::SyscallNumReg = int_reg::A7 |
Definition at line 145 of file int.hh.
Referenced by gem5::RiscvISA::EmuLinux::syscall().
Bitfield<19, 16> gem5::RiscvISA::ta |
Definition at line 255 of file pra_constants.hh.
auto & gem5::RiscvISA::ThreadPointerReg = int_reg::Tp |
Definition at line 142 of file int.hh.
Referenced by gem5::RiscvLinux32::archClone(), and gem5::RiscvLinux64::archClone().
Bitfield<30> gem5::RiscvISA::ti |
Definition at line 179 of file pra_constants.hh.
Bitfield< 0 > gem5::RiscvISA::tl |
Definition at line 254 of file pra_constants.hh.
Bitfield< 27, 24 > gem5::RiscvISA::ts |
Definition at line 118 of file pra_constants.hh.
Bitfield<30, 28> gem5::RiscvISA::tu |
Definition at line 252 of file pra_constants.hh.
Bitfield< 3 > gem5::RiscvISA::u |
Definition at line 71 of file pagetable.hh.
const RegVal gem5::RiscvISA::UI_MASK[enums::Num_PrivilegeModeSet] |
Definition at line 1487 of file misc.hh.
Referenced by gem5::RiscvISA::ISA::readMiscReg(), and gem5::RiscvISA::ISA::setMiscReg().
Bitfield<4> gem5::RiscvISA::um |
Definition at line 138 of file pra_constants.hh.
const RegVal gem5::RiscvISA::USTATUS_MASKS[enums::Num_RiscvType][enums::Num_PrivilegeModeSet] |
Definition at line 1430 of file misc.hh.
Referenced by gem5::RiscvISA::ISA::readMiscReg(), and gem5::RiscvISA::ISA::setMiscReg().
Bitfield<5> gem5::RiscvISA::ux |
Definition at line 136 of file pra_constants.hh.
Bitfield< 1 > gem5::RiscvISA::v |
Definition at line 76 of file pagetable.hh.
Referenced by boxF16(), boxF32(), f16(), f32(), f64(), unboxF16(), unboxF32(), gem5::RiscvISA::PCState::vl(), gem5::RiscvISA::PCState::vlenb(), and gem5::RiscvISA::PCState::vtype().
gem5::RiscvISA::vaddr |
Definition at line 278 of file pra_constants.hh.
Referenced by gem5::RiscvISA::PMAChecker::check(), gem5::RiscvISA::PMAChecker::checkPAddrAlignment(), gem5::RiscvISA::PMP::createAddrfault(), gem5::RiscvISA::PMAChecker::createMisalignFault(), gem5::RiscvISA::PMP::pmpCheck(), gem5::RiscvISA::Walker::WalkerState::recvPacket(), gem5::RiscvISA::Walker::WalkerState::setupWalk(), and gem5::RiscvISA::Walker::startWalkWrapper().
const Addr gem5::RiscvISA::VADDR_BITS = 39 |
Definition at line 59 of file pagetable.hh.
Bitfield<11, 7> gem5::RiscvISA::vd |
Definition at line 163 of file types.hh.
Referenced by gem5::ArmISA::MacroVFPMemOp::MacroVFPMemOp(), gem5::ArmISA::VldMultOp::VldMultOp(), gem5::ArmISA::VldMultOp64::VldMultOp64(), gem5::ArmISA::VldSingleOp::VldSingleOp(), gem5::ArmISA::VldSingleOp64::VldSingleOp64(), gem5::VoltageDomain::VoltageDomainStats::VoltageDomainStats(), gem5::ArmISA::VstMultOp::VstMultOp(), gem5::ArmISA::VstMultOp64::VstMultOp64(), gem5::ArmISA::VstSingleOp::VstSingleOp(), and gem5::ArmISA::VstSingleOp64::VstSingleOp64().
const int gem5::RiscvISA::VecMemInternalReg0 = NumVecStandardRegs |
Definition at line 67 of file vector.hh.
Referenced by gem5::RiscvISA::VlSegDeIntrlvMicroInst::VlSegDeIntrlvMicroInst(), gem5::RiscvISA::VMaskMergeMicroInst::VMaskMergeMicroInst(), and gem5::RiscvISA::VsSegIntrlvMicroInst::VsSegIntrlvMicroInst().
|
inlineconstexpr |
Definition at line 71 of file vector.hh.
Referenced by gem5::RiscvISA::ISA::copyRegsFrom(), gem5::RiscvISA::VlSegDeIntrlvMicroInst::execute(), gem5::RiscvISA::VMaskMergeMicroInst::execute(), gem5::RiscvISA::VsSegIntrlvMicroInst::execute(), gem5::RiscvISA::ISA::ISA(), gem5::RiscvISA::VlFFTrimVlMicroOp::VlFFTrimVlMicroOp(), gem5::RiscvISA::VlSegDeIntrlvMicroInst::VlSegDeIntrlvMicroInst(), gem5::RiscvISA::VMaskMergeMicroInst::VMaskMergeMicroInst(), and gem5::RiscvISA::VsSegIntrlvMicroInst::VsSegIntrlvMicroInst().
|
inlinestatic |
const std::vector<std::string> gem5::RiscvISA::VecRegNames |
Definition at line 58 of file vector.hh.
Referenced by registerName().
Bitfield<6> gem5::RiscvISA::veic |
Definition at line 268 of file pra_constants.hh.
Bitfield<3> gem5::RiscvISA::vi |
Definition at line 228 of file pra_constants.hh.
Bitfield<40> gem5::RiscvISA::vill |
Definition at line 63 of file types.hh.
Referenced by checked_vtype().
Bitfield<5> gem5::RiscvISA::vint |
Definition at line 269 of file pra_constants.hh.
Bitfield<57, 41> gem5::RiscvISA::vl |
Definition at line 62 of file types.hh.
Referenced by gem5::RiscvISA::VlFFTrimVlMicroOp::branchTarget(), and gem5::RiscvISA::VlFFTrimVlMicroOp::calcVl().
Bitfield< 34, 32 > gem5::RiscvISA::vlmul |
Definition at line 82 of file vector.hh.
Referenced by checked_vtype(), and getVflmul().
Bitfield<7> gem5::RiscvISA::vma |
Definition at line 79 of file vector.hh.
Referenced by gem5::GPUComputeDriver::deallocateGpuVma(), gem5::MemState::fixupFault(), gem5::RiscvISA::VConfOp::generateZimmDisassembly(), gem5::MemState::isUnmapped(), gem5::MemState::printVmaList(), gem5::MemState::remapRegion(), gem5::MemState::serialize(), gem5::GPUComputeDriver::setMtype(), and gem5::MemState::unmapRegion().
Bitfield<39, 13> gem5::RiscvISA::vpn2 |
Definition at line 100 of file pra_constants.hh.
Bitfield<12, 11> gem5::RiscvISA::vpn2x |
Definition at line 101 of file pra_constants.hh.
Bitfield< 10, 9 > gem5::RiscvISA::vs |
Definition at line 149 of file pra_constants.hh.
Referenced by elem_mask(), and elem_mask_vseg().
Bitfield< 37, 35 > gem5::RiscvISA::vsew |
Definition at line 81 of file vector.hh.
Referenced by checked_vtype(), getSew(), and vtype_VLMAX().
Bitfield< 38 > gem5::RiscvISA::vta |
Definition at line 80 of file vector.hh.
Referenced by gem5::RiscvISA::VConfOp::generateZimmDisassembly().
Bitfield< 30 > gem5::RiscvISA::w |
Definition at line 74 of file pagetable.hh.
Bitfield<14, 12> gem5::RiscvISA::width |
Definition at line 160 of file types.hh.
Referenced by width_EEW().
gem5::RiscvISA::wired |
Definition at line 89 of file pra_constants.hh.
Bitfield<22> gem5::RiscvISA::wp |
Definition at line 185 of file pra_constants.hh.
Bitfield<3> gem5::RiscvISA::wr |
Definition at line 244 of file pra_constants.hh.
Bitfield<3> gem5::RiscvISA::x |
Definition at line 73 of file pagetable.hh.
Referenced by _rvk_emu_aes32dsi(), _rvk_emu_aes32dsmi(), _rvk_emu_aes32esi(), _rvk_emu_aes32esmi(), _rvk_emu_aes64dsm(), _rvk_emu_aes64esm(), _rvk_emu_aes_fwd_mc_32(), _rvk_emu_aes_fwd_mc_8(), _rvk_emu_aes_inv_mc_32(), _rvk_emu_aes_inv_mc_8(), _rvk_emu_aes_xtime(), _rvk_emu_clmul_32(), _rvk_emu_clmul_64(), _rvk_emu_clmulh_32(), _rvk_emu_clmulh_64(), _rvk_emu_grev_32(), _rvk_emu_grev_64(), _rvk_emu_sha256sig0(), _rvk_emu_sha256sig1(), _rvk_emu_sha256sum0(), _rvk_emu_sha256sum1(), _rvk_emu_shfl_32(), _rvk_emu_shuffle32_stage(), _rvk_emu_sm3p0(), _rvk_emu_sm3p1(), _rvk_emu_sm4ed(), _rvk_emu_sm4ks(), _rvk_emu_unshfl_32(), gem5::prefetch::BOP::bestOffsetLearning(), gem5::o3::LSQUnit::checkSnoop(), gem5::o3::LSQUnit::commitStores(), gem5::CopyEngine::CopyEngine(), gem5::SparcISA::ISA::copyRegsFrom(), gem5::SparcISA::TLB::demapAll(), gem5::SparcISA::TLB::demapContext(), gem5::SparcISA::TLB::dumpAll(), gem5::IGbE::DescCache< T >::fetchComplete(), gem5::Float16::Float16(), gem5::floorLog2(), gem5::ArmISA::TLB::flush(), gem5::ArmISA::TLB::flushAll(), gem5::SparcISA::TLB::flushAll(), gem5::ArmISA::fp16_add(), gem5::ArmISA::fp16_div(), gem5::ArmISA::fp16_mul(), gem5::ArmISA::fp16_muladd(), gem5::ArmISA::fp16_sqrt(), gem5::ArmISA::fp16_unpack(), gem5::ArmISA::fp32_add(), gem5::ArmISA::fp32_div(), gem5::ArmISA::fp32_mul(), gem5::ArmISA::fp32_muladd(), gem5::ArmISA::fp32_sqrt(), gem5::ArmISA::fp32_unpack(), gem5::ArmISA::fp64_add(), gem5::ArmISA::fp64_div(), gem5::ArmISA::fp64_mul(), gem5::ArmISA::fp64_muladd(), gem5::ArmISA::fp64_sqrt(), gem5::ArmISA::fp64_unpack(), gem5::ArmISA::fplibCompareEQ(), gem5::ArmISA::fplibCompareEQ(), gem5::ArmISA::fplibCompareEQ(), gem5::ArmISA::fplibCompareGE(), gem5::ArmISA::fplibCompareGE(), gem5::ArmISA::fplibCompareGE(), gem5::ArmISA::fplibCompareGT(), gem5::ArmISA::fplibCompareGT(), gem5::ArmISA::fplibCompareGT(), gem5::ArmISA::fplibCompareUN(), gem5::ArmISA::fplibCompareUN(), gem5::ArmISA::fplibCompareUN(), gem5::ArmISA::fplibMax(), gem5::ArmISA::fplibMax(), gem5::ArmISA::fplibMax(), gem5::ArmISA::fplibMin(), gem5::ArmISA::fplibMin(), gem5::ArmISA::fplibMin(), gem5::ArmISA::fplibRoundInt(), gem5::ArmISA::fplibRoundInt(), gem5::ArmISA::fplibRoundInt(), gem5::ArmISA::FpOp::fpSqrt(), gem5::ArmISA::FpOp::fpSqrt(), gem5::ArmISA::FPToFixed_16(), gem5::ArmISA::FPToFixed_32(), gem5::ArmISA::FPToFixed_64(), fsgnj(), fsgnj16(), fsgnj32(), fsgnj64(), gem5::getFpRound(), gem5::branch_prediction::MultiperspectivePerceptron::ACYCLIC::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::BLURRYPATH::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::GHISTMODPATH::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::GHISTPATH::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::LOCAL::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::MODHIST::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::MODPATH::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::PATH::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::RECENCY::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::SGHISTPATH::getHash(), gem5::GicV2::GicV2(), gem5::Gicv2m::Gicv2m(), gem5::branch_prediction::MultiperspectivePerceptron::GHIST::hash(), gem5::stl_helpers::hash_impl::hash_refine(), gem5::branch_prediction::MultiperspectivePerceptron::MPPBranchInfo::hashPC(), gem5::branch_prediction::MultiperspectivePerceptron::insert(), gem5::SparcISA::TLB::insert(), gem5::prefetch::BOP::insertIntoDelayQueue(), gem5::Iob::Iob(), gem5::ArmISA::lsl16(), gem5::ArmISA::lsl32(), gem5::ArmISA::lsl64(), gem5::ArmISA::TLB::match(), gem5::ArmISA::modeConv(), gem5::ps2::TouchKit::mouseAt(), gem5::FrameBuffer::pixel(), gem5::FrameBuffer::pixel(), gem5::SparcISA::SparcStaticInst::printRegArray(), gem5::ArmISA::TLB::printTlb(), gem5::RangeAddrMapper::RangeAddrMapper(), gem5::GicV2::readCpu(), gem5::SparcISA::ISA::readFSReg(), gem5::IGbE::DescCache< T >::reset(), gem5::ArmISA::HTMCheckpoint::restore(), gem5::ArmISA::Crypto::ror(), gem5::RiscvISA::RiscvStaticInst::rvExt(), gem5::RiscvISA::RiscvStaticInst::rvSext(), gem5::RiscvISA::RiscvStaticInst::rvZext(), gem5::ArmISA::MMU::s1PermBits64(), gem5::ArmISA::MMU::s2PermBits64(), sat_add(), sat_addu(), sat_sub(), sat_subu(), gem5::ArmISA::HTMCheckpoint::save(), gem5::Shader::ScheduleAdd(), gem5::VncServer::sendFrameBufferUpdate(), gem5::CopyEngine::serialize(), gem5::IGbE::DescCache< T >::serialize(), gem5::Iob::serialize(), gem5::Pl111::serialize(), gem5::SparcISA::TLB::serialize(), gem5::VncServer::setEncodings(), gem5::GicV2::softInt(), gem5::swap_byte(), gem5::swap_byte16(), gem5::swap_byte32(), gem5::swap_byte64(), gem5::System::System(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), gem5::SparcISA::TLB::TLB(), gem5::SparcISA::TLB::translateFunctional(), gem5::CopyEngine::unserialize(), gem5::IGbE::DescCache< T >::unserialize(), gem5::Iob::unserialize(), gem5::Pl111::unserialize(), gem5::SparcISA::TLB::unserialize(), gem5::memory::PhysicalMemory::unserializeStore(), gem5::GicV2::updateIntState(), gem5::VGic::VGic(), gem5::IGbE::DescCache< T >::wbComplete(), gem5::BmpWriter::write(), gem5::PngWriter::write(), gem5::IGbE::DescCache< T >::writeback1(), gem5::CopyEngine::~CopyEngine(), gem5::GicV2::~GicV2(), and gem5::VGic::~VGic().
Bitfield<16, 15> gem5::RiscvISA::xs |
Definition at line 1200 of file misc.hh.
Referenced by gem5::dumpFpuSpec().