gem5
v20.1.0.0
|
Classes | |
class | AddressFault |
class | AtomicGenericOp |
A generic atomic op class. More... | |
class | AtomicMemOp |
class | AtomicMemOpMicro |
class | BareMetal |
class | BreakpointFault |
class | CompRegOp |
Base class for compressed operations that work only on registers. More... | |
struct | CSRMetadata |
class | CSROp |
Base class for CSR operations. More... | |
class | Decoder |
class | FsWorkload |
class | IllegalFrmFault |
class | IllegalInstFault |
class | ImmOp |
Base class for operations with immediates (I is the type of immediate) More... | |
class | InstFault |
class | InterruptFault |
class | Interrupts |
class | ISA |
class | Load |
class | LoadReserved |
class | LoadReservedMicro |
class | MemFenceMicro |
class | MemInst |
class | PCState |
class | PseudoOp |
class | RegOp |
Base class for operations that work only on registers. More... | |
class | RemoteGDB |
class | Reset |
class | RiscvFault |
class | RiscvMacroInst |
Base class for all RISC-V Macroops. More... | |
class | RiscvMicroInst |
Base class for all RISC-V Microops. More... | |
class | RiscvStaticInst |
Base class for all RISC-V static instructions. More... | |
class | StackTrace |
class | Store |
class | StoreCond |
class | StoreCondMicro |
class | SyscallFault |
class | SystemOp |
Base class for system operations. More... | |
class | TLB |
struct | TlbEntry |
class | UnimplementedFault |
class | Unknown |
Static instruction class for unknown (illegal) instructions. More... | |
class | UnknownInstFault |
class | Walker |
Typedefs | |
typedef Trie< Addr, TlbEntry > | TlbEntryTrie |
using | VecElem = ::DummyVecElem |
using | VecReg = ::DummyVecReg |
using | ConstVecReg = ::DummyConstVecReg |
using | VecRegContainer = ::DummyVecRegContainer |
using | VecPredReg = ::DummyVecPredReg |
using | ConstVecPredReg = ::DummyConstVecPredReg |
using | VecPredRegContainer = ::DummyVecPredRegContainer |
typedef uint32_t | MachInst |
typedef uint64_t | ExtMachInst |
Functions | |
template<class XC > | |
void | handleLockedSnoop (XC *xc, PacketPtr pkt, Addr cacheBlockMask) |
template<class XC > | |
void | handleLockedRead (XC *xc, const RequestPtr &req) |
template<class XC > | |
void | handleLockedSnoopHit (XC *xc) |
template<class XC > | |
bool | handleLockedWrite (XC *xc, const RequestPtr &req, Addr cacheBlockMask) |
template<class XC > | |
void | globalClearExclusive (XC *xc) |
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 | |
BitUnion64 (STATUS) Bitfield< 63 > sd | |
These fields are specified in the RISC-V Instruction Set Manual, Volume II, v1.10, accessible at www.riscv.org. More... | |
EndBitUnion (STATUS) BitUnion64(INTERRUPT) Bitfield< 11 > mei | |
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. More... | |
EndBitUnion (INTERRUPT) const off_t MXL_OFFSET | |
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) |
PCState | buildRetPC (const PCState &curPC, const PCState &callPC) |
uint64_t | getArgument (ThreadContext *tc, int &number, uint16_t size, bool fp) |
void | copyRegs (ThreadContext *src, ThreadContext *dest) |
std::string | registerName (RegId reg) |
void | advancePC (PCState &pc, const StaticInstPtr &inst) |
static bool | inUserMode (ThreadContext *tc) |
uint64_t | getExecutingAsid (ThreadContext *tc) |
Variables | |
static const MachInst | LowerBitMask = (1 << sizeof(MachInst) * 4) - 1 |
static const MachInst | UpperBitMask = LowerBitMask << sizeof(MachInst) * 4 |
const std::array< const char *, NumMiscRegs > M5_VAR_USED | MiscRegNames |
const ByteOrder | GuestByteOrder = ByteOrder::little |
const Addr | PageShift = 12 |
const Addr | PageBytes = ULL(1) << PageShift |
std::unordered_map< int, std::stack< Addr > > | locked_addrs |
const int | WARN_FAILURE = 10000 |
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 |
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 |
const int | MaxMiscDestRegs = 2 |
constexpr unsigned | NumVecElemPerVecReg = ::DummyNumVecElemPerVecReg |
constexpr size_t | VecRegSizeBytes = ::DummyVecRegSizeBytes |
constexpr size_t | VecPredRegSizeBits = ::DummyVecPredRegSizeBits |
constexpr bool | VecPredRegHasPackedRepr = ::DummyVecPredRegHasPackedRepr |
const int | NumIntArchRegs = 32 |
const int | NumMicroIntRegs = 1 |
const int | NumIntRegs = NumIntArchRegs + NumMicroIntRegs |
const int | NumFloatRegs = 32 |
const unsigned | NumVecRegs = 1 |
const int | NumVecPredRegs = 1 |
const int | NumCCRegs = 0 |
const int | ZeroReg = 0 |
const int | ReturnAddrReg = 1 |
const int | StackPointerReg = 2 |
const int | GlobalPointerReg = 3 |
const int | ThreadPointerReg = 4 |
const int | FramePointerReg = 8 |
const int | ReturnValueReg = 10 |
const std::vector< int > | ReturnValueRegs = {10, 11} |
const std::vector< int > | ArgumentRegs = {10, 11, 12, 13, 14, 15, 16, 17} |
const int | AMOTempReg = 32 |
const int | SyscallPseudoReturnReg = 10 |
const std::vector< int > | SyscallArgumentRegs = {10, 11, 12, 13, 14, 15, 16} |
const int | SyscallNumReg = 17 |
const std::vector< std::string > | IntRegNames |
const std::vector< std::string > | FloatRegNames |
const int | NumMiscRegs = NUM_MISCREGS |
const std::map< int, CSRMetadata > | CSRData |
Bitfield< 35, 34 > | sxl |
Bitfield< 33, 32 > | uxl |
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 |
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 | SXL_OFFSET = 34 |
const off_t | UXL_OFFSET = 32 |
const off_t | FS_OFFSET = 13 |
const off_t | FRM_OFFSET = 5 |
const RegVal | ISA_MXL_MASK = 3ULL << MXL_OFFSET |
const RegVal | ISA_EXT_MASK = mask(26) |
const RegVal | ISA_EXT_C_MASK = 1UL << ('c' - 'a') |
const RegVal | MISA_MASK = ISA_MXL_MASK | ISA_EXT_MASK |
const RegVal | STATUS_SD_MASK = 1ULL << ((sizeof(uint64_t) * 8) - 1) |
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_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_MASK |
const RegVal | SSTATUS_MASK |
const RegVal | USTATUS_MASK |
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 |
const RegVal | SI_MASK |
const RegVal | UI_MASK = UEI_MASK | UTI_MASK | USI_MASK |
const RegVal | FFLAGS_MASK = (1 << FRM_OFFSET) - 1 |
const RegVal | FRM_MASK = 0x7 |
const std::map< int, RegVal > | CSRMasks |
using RiscvISA::ConstVecPredReg = typedef ::DummyConstVecPredReg |
Definition at line 74 of file registers.hh.
using RiscvISA::ConstVecReg = typedef ::DummyConstVecReg |
Definition at line 67 of file registers.hh.
typedef uint64_t RiscvISA::ExtMachInst |
typedef uint32_t RiscvISA::MachInst |
typedef Trie<Addr, TlbEntry> RiscvISA::TlbEntryTrie |
Definition at line 76 of file pagetable.hh.
using RiscvISA::VecElem = typedef ::DummyVecElem |
Definition at line 65 of file registers.hh.
using RiscvISA::VecPredReg = typedef ::DummyVecPredReg |
Definition at line 73 of file registers.hh.
using RiscvISA::VecPredRegContainer = typedef ::DummyVecPredRegContainer |
Definition at line 75 of file registers.hh.
using RiscvISA::VecReg = typedef ::DummyVecReg |
Definition at line 66 of file registers.hh.
using RiscvISA::VecRegContainer = typedef ::DummyVecRegContainer |
Definition at line 68 of file registers.hh.
enum RiscvISA::CSRIndex |
Definition at line 258 of file registers.hh.
enum RiscvISA::ExceptionCode : uint64_t |
enum RiscvISA::FloatException : uint64_t |
enum RiscvISA::FPUStatus |
Definition at line 128 of file registers.hh.
|
inline |
Definition at line 168 of file utility.hh.
References StaticInst::advancePC(), and pc.
Referenced by RiscvISA::RiscvFault::invoke().
RiscvISA::BitUnion32 | ( | IndexReg | ) |
RiscvISA::BitUnion64 | ( | PTESv39 | ) |
RiscvISA::BitUnion64 | ( | SATP | ) |
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.
Definition at line 102 of file utility.hh.
References GenericISA::SimplePCState< MachInst >::advance(), GenericISA::SimplePCState< MachInst >::npc(), and GenericISA::SimplePCState< MachInst >::pc().
|
inline |
Definition at line 124 of file utility.hh.
References i, NumFloatRegs, NumIntRegs, ThreadContext::pcState(), ThreadContext::readFloatReg(), ThreadContext::readIntReg(), ThreadContext::setFloatReg(), and ThreadContext::setIntReg().
Referenced by RiscvLinux64::archClone(), and RiscvLinux32::archClone().
RiscvISA::EndBitUnion | ( | CacheErrReg | ) |
RiscvISA::EndBitUnion | ( | CauseReg | ) |
RiscvISA::EndBitUnion | ( | Config1Reg | ) |
RiscvISA::EndBitUnion | ( | Config2Reg | ) |
RiscvISA::EndBitUnion | ( | Config3Reg | ) |
RiscvISA::EndBitUnion | ( | ConfigReg | ) |
RiscvISA::EndBitUnion | ( | ContextReg | ) |
RiscvISA::EndBitUnion | ( | EBaseReg | ) |
RiscvISA::EndBitUnion | ( | EntryHiReg | ) |
RiscvISA::EndBitUnion | ( | EntryLoReg | ) |
RiscvISA::EndBitUnion | ( | HWREnaReg | ) |
RiscvISA::EndBitUnion | ( | IndexReg | ) |
RiscvISA::EndBitUnion | ( | IntCtlReg | ) |
RiscvISA::EndBitUnion | ( | INTERRUPT | ) | const |
RiscvISA::EndBitUnion | ( | PageGrainReg | ) |
RiscvISA::EndBitUnion | ( | PageMaskReg | ) |
RiscvISA::EndBitUnion | ( | PerfCntCtlReg | ) |
RiscvISA::EndBitUnion | ( | PRIdReg | ) |
RiscvISA::EndBitUnion | ( | PTESv39 | ) |
RiscvISA::EndBitUnion | ( | RandomReg | ) |
RiscvISA::EndBitUnion | ( | SATP | ) |
Definition at line 45 of file pagetable.hh.
RiscvISA::EndBitUnion | ( | SRSCtlReg | ) |
RiscvISA::EndBitUnion | ( | SRSMapReg | ) |
RiscvISA::EndBitUnion | ( | STATUS | ) |
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.
RiscvISA::EndBitUnion | ( | StatusReg | ) |
RiscvISA::EndBitUnion | ( | WatchHiReg | ) |
RiscvISA::EndBitUnion | ( | WatchLoReg | ) |
RiscvISA::EndBitUnion | ( | WiredReg | ) |
RiscvISA::EndSubBitUnion | ( | cu | ) |
RiscvISA::EndSubBitUnion | ( | im | ) |
RiscvISA::EndSubBitUnion | ( | ip | ) |
|
inline |
Definition at line 111 of file utility.hh.
References ArgumentRegs, fp, panic_if, and ThreadContext::readIntReg().
|
inline |
Definition at line 180 of file utility.hh.
|
inline |
Definition at line 136 of file locked_mem.hh.
|
inline |
Definition at line 86 of file locked_mem.hh.
References DPRINTF, and locked_addrs.
|
inline |
Definition at line 72 of file locked_mem.hh.
References DPRINTF, Packet::getAddr(), and locked_addrs.
|
inline |
Definition at line 96 of file locked_mem.hh.
|
inline |
Definition at line 100 of file locked_mem.hh.
References curTick(), DPRINTF, locked_addrs, warn, and WARN_FAILURE.
|
inlinestatic |
Definition at line 174 of file utility.hh.
|
inline |
Definition at line 62 of file utility.hh.
|
inline |
Definition at line 75 of file utility.hh.
References X86ISA::val.
|
inline |
Definition at line 68 of file utility.hh.
References X86ISA::val.
|
inline |
Definition at line 82 of file utility.hh.
|
inline |
Definition at line 95 of file utility.hh.
References X86ISA::val.
|
inline |
Definition at line 88 of file utility.hh.
References X86ISA::val.
|
inline |
Definition at line 139 of file utility.hh.
References FloatRegNames, IntRegNames, NumFloatRegs, NumIntArchRegs, and X86ISA::reg.
Referenced by RiscvISA::CompRegOp::generateDisassembly(), RiscvISA::RegOp::generateDisassembly(), RiscvISA::Load::generateDisassembly(), RiscvISA::LoadReserved::generateDisassembly(), RiscvISA::Store::generateDisassembly(), RiscvISA::LoadReservedMicro::generateDisassembly(), RiscvISA::SystemOp::generateDisassembly(), RiscvISA::StoreCond::generateDisassembly(), RiscvISA::StoreCondMicro::generateDisassembly(), RiscvISA::CSROp::generateDisassembly(), RiscvISA::AtomicMemOp::generateDisassembly(), and RiscvISA::AtomicMemOpMicro::generateDisassembly().
RiscvISA::SubBitUnion | ( | im | , |
15 | , | ||
8 | |||
) |
RiscvISA::SubBitUnion | ( | ip | , |
15 | , | ||
8 | |||
) |
Bitfield<6> RiscvISA::a |
Definition at line 65 of file pagetable.hh.
const int RiscvISA::AMOTempReg = 32 |
Definition at line 101 of file registers.hh.
Bitfield<12, 10> RiscvISA::ar |
Definition at line 222 of file pra_constants.hh.
const std::vector<int> RiscvISA::ArgumentRegs = {10, 11, 12, 13, 14, 15, 16, 17} |
Definition at line 100 of file registers.hh.
Referenced by GuestABI::Argument< X86ISA::I386LinuxProcess::SyscallABI, Arg, typename std::enable_if< X86ISA::I386LinuxProcess::SyscallABI::IsWide< Arg >::value >::type >::get(), GuestABI::Argument< ABI, Arg, typename std::enable_if< std::is_base_of< ArmProcess32::SyscallABI, ABI >::value &&ABI::template IsWide< Arg >::value >::type >::get(), GuestABI::Argument< ABI, Arg, typename std::enable_if< std::is_base_of< GenericSyscallABI64, ABI >::value &&std::is_integral< Arg >::value >::type >::get(), GuestABI::Argument< ABI, Arg, typename std::enable_if<!ABI::template IsWide< Arg >::value >::type >::get(), GuestABI::Argument< Sparc32Process::SyscallABI, Arg, typename std::enable_if< Sparc32Process::SyscallABI::IsWide< Arg >::value >::type >::get(), and getArgument().
Bitfield<12, 8> RiscvISA::aseDn |
Definition at line 80 of file pra_constants.hh.
RiscvISA::aseUp |
Definition at line 76 of file pra_constants.hh.
Bitfield< 23, 16 > RiscvISA::asid |
Definition at line 43 of file pagetable.hh.
Referenced by RiscvISA::TLB::demapPage(), RiscvISA::TLB::lookup(), RiscvISA::TLB::remove(), and RiscvISA::TLB::translateWithTLB().
Bitfield<14, 13> RiscvISA::at |
Definition at line 221 of file pra_constants.hh.
Bitfield<22, 4> RiscvISA::badVPN2 |
Definition at line 64 of file pra_constants.hh.
Bitfield<15> RiscvISA::be |
Definition at line 220 of file pra_constants.hh.
Bitfield<22> RiscvISA::bev |
Definition at line 114 of file pra_constants.hh.
Bitfield<5, 3> RiscvISA::c |
Definition at line 56 of file pra_constants.hh.
Referenced by RiscvISA::PCState::compressed(), and RiscvISA::Interrupts::getInterrupt().
Bitfield<6> RiscvISA::c2 |
Definition at line 238 of file pra_constants.hh.
Bitfield<2> RiscvISA::ca |
Definition at line 242 of file pra_constants.hh.
Bitfield<29, 28> RiscvISA::ce |
Definition at line 177 of file pra_constants.hh.
Bitfield<23, 16> RiscvISA::coId |
Definition at line 202 of file pra_constants.hh.
RiscvISA::coOp |
Definition at line 201 of file pra_constants.hh.
Bitfield<9, 9> RiscvISA::cpuNum |
Definition at line 212 of file pra_constants.hh.
const std::map<int, CSRMetadata> RiscvISA::CSRData |
Definition at line 430 of file registers.hh.
Referenced by RiscvISA::CSROp::generateDisassembly(), and RiscvISA::ISA::setMiscReg().
const std::map<int, RegVal> RiscvISA::CSRMasks |
Definition at line 711 of file registers.hh.
Bitfield<3, 0> RiscvISA::css |
Definition at line 160 of file pra_constants.hh.
Bitfield<28> RiscvISA::cu0 |
Definition at line 107 of file pra_constants.hh.
Bitfield<29> RiscvISA::cu1 |
Definition at line 106 of file pra_constants.hh.
Bitfield<30> RiscvISA::cu2 |
Definition at line 105 of file pra_constants.hh.
Bitfield<31> RiscvISA::cu3 |
Definition at line 103 of file pra_constants.hh.
Bitfield< 2 > RiscvISA::d |
Definition at line 64 of file pagetable.hh.
Bitfield<9, 7> RiscvISA::da |
Definition at line 237 of file pra_constants.hh.
Bitfield<27> RiscvISA::dc |
Definition at line 178 of file pra_constants.hh.
Bitfield<12, 10> RiscvISA::dl |
Definition at line 236 of file pra_constants.hh.
Bitfield<15, 13> RiscvISA::ds |
Definition at line 235 of file pra_constants.hh.
Bitfield<10> RiscvISA::dspp |
Definition at line 262 of file pra_constants.hh.
Bitfield<25> RiscvISA::eb |
Definition at line 312 of file pra_constants.hh.
Bitfield<30> RiscvISA::ec |
Definition at line 307 of file pra_constants.hh.
Bitfield<29> RiscvISA::ed |
Definition at line 308 of file pra_constants.hh.
Bitfield<26> RiscvISA::ee |
Definition at line 311 of file pra_constants.hh.
Bitfield<21, 18> RiscvISA::eicss |
Definition at line 154 of file pra_constants.hh.
Bitfield<29> RiscvISA::elpa |
Definition at line 77 of file pra_constants.hh.
Bitfield<1> RiscvISA::ep |
Definition at line 243 of file pra_constants.hh.
Bitfield<2> RiscvISA::erl |
Definition at line 137 of file pra_constants.hh.
Bitfield<27> RiscvISA::es |
Definition at line 310 of file pra_constants.hh.
Bitfield<28> RiscvISA::esp |
Definition at line 78 of file pra_constants.hh.
Bitfield<15, 12> RiscvISA::ess |
Definition at line 156 of file pra_constants.hh.
Bitfield<28> RiscvISA::et |
Definition at line 309 of file pra_constants.hh.
Bitfield<10, 5> RiscvISA::event |
Definition at line 297 of file pra_constants.hh.
Bitfield<6, 2> RiscvISA::excCode |
Definition at line 196 of file pra_constants.hh.
RiscvISA::exceptionBase |
Definition at line 210 of file pra_constants.hh.
Bitfield< 0 > RiscvISA::exl |
Definition at line 138 of file pra_constants.hh.
const RegVal RiscvISA::FFLAGS_MASK = (1 << FRM_OFFSET) - 1 |
Definition at line 708 of file registers.hh.
Bitfield< 61, 40 > RiscvISA::fill |
Definition at line 54 of file pra_constants.hh.
const std::vector<std::string> RiscvISA::FloatRegNames |
Definition at line 117 of file registers.hh.
Referenced by registerName().
Bitfield<0> RiscvISA::fp |
Definition at line 244 of file pra_constants.hh.
Referenced by getArgument().
Bitfield<26> RiscvISA::fr |
Definition at line 110 of file pra_constants.hh.
const int RiscvISA::FramePointerReg = 8 |
Definition at line 97 of file registers.hh.
const RegVal RiscvISA::FRM_MASK = 0x7 |
Definition at line 709 of file registers.hh.
const off_t RiscvISA::FRM_OFFSET = 5 |
Definition at line 645 of file registers.hh.
Bitfield<14, 13> RiscvISA::fs |
Definition at line 612 of file registers.hh.
const off_t RiscvISA::FS_OFFSET = 13 |
Definition at line 644 of file registers.hh.
Referenced by RiscvISA::ISA::clear().
Bitfield< 30 > RiscvISA::g |
Definition at line 66 of file pagetable.hh.
const int RiscvISA::GlobalPointerReg = 3 |
Definition at line 95 of file registers.hh.
const ByteOrder RiscvISA::GuestByteOrder = ByteOrder::little |
Definition at line 50 of file isa_traits.hh.
RiscvISA::hss |
Definition at line 152 of file pra_constants.hh.
Bitfield< 2 > RiscvISA::i |
Definition at line 276 of file pra_constants.hh.
Referenced by copyRegs(), RiscvISA::TLB::demapPage(), RiscvISA::TLB::evictLRU(), RiscvISA::TLB::flushAll(), RiscvISA::RemoteGDB::RiscvGdbRegCache::getRegs(), and RiscvISA::RemoteGDB::RiscvGdbRegCache::setRegs().
Bitfield<18, 16> RiscvISA::ia |
Definition at line 234 of file pra_constants.hh.
Bitfield< 4 > RiscvISA::ie |
Definition at line 139 of file pra_constants.hh.
Bitfield<21, 19> RiscvISA::il |
Definition at line 233 of file pra_constants.hh.
Bitfield<8> RiscvISA::im0 |
Definition at line 129 of file pra_constants.hh.
Bitfield<9> RiscvISA::im1 |
Definition at line 128 of file pra_constants.hh.
Bitfield<10> RiscvISA::im2 |
Definition at line 127 of file pra_constants.hh.
Bitfield<11> RiscvISA::im3 |
Definition at line 126 of file pra_constants.hh.
Bitfield<12> RiscvISA::im4 |
Definition at line 125 of file pra_constants.hh.
Bitfield<13> RiscvISA::im5 |
Definition at line 124 of file pra_constants.hh.
Bitfield<14> RiscvISA::im6 |
Definition at line 123 of file pra_constants.hh.
Bitfield< 4, 3 > RiscvISA::impl |
Definition at line 90 of file pra_constants.hh.
Bitfield< 22, 0 > RiscvISA::index |
Definition at line 44 of file pra_constants.hh.
Referenced by RiscvISA::Interrupts::clear(), and RiscvISA::Interrupts::post().
const std::vector<std::string> RiscvISA::IntRegNames |
Definition at line 107 of file registers.hh.
Referenced by registerName().
Bitfield<8> RiscvISA::ip0 |
Definition at line 193 of file pra_constants.hh.
Bitfield<9> RiscvISA::ip1 |
Definition at line 192 of file pra_constants.hh.
Bitfield<10> RiscvISA::ip2 |
Definition at line 191 of file pra_constants.hh.
Bitfield<11> RiscvISA::ip3 |
Definition at line 190 of file pra_constants.hh.
Bitfield<12> RiscvISA::ip4 |
Definition at line 189 of file pra_constants.hh.
Bitfield<13> RiscvISA::ip5 |
Definition at line 188 of file pra_constants.hh.
Bitfield<14> RiscvISA::ip6 |
Definition at line 187 of file pra_constants.hh.
Bitfield<15, 10> RiscvISA::ipl |
Definition at line 120 of file pra_constants.hh.
Bitfield<28, 26> RiscvISA::ippci |
Definition at line 144 of file pra_constants.hh.
RiscvISA::ipti |
Definition at line 143 of file pra_constants.hh.
Bitfield<24, 22> RiscvISA::is |
Definition at line 232 of file pra_constants.hh.
Definition at line 649 of file registers.hh.
Referenced by RiscvISA::ISA::readMiscReg(), and RiscvISA::ISA::setMiscReg().
Definition at line 648 of file registers.hh.
Definition at line 647 of file registers.hh.
Bitfield<23> RiscvISA::iv |
Definition at line 181 of file pra_constants.hh.
Bitfield<1> RiscvISA::k |
Definition at line 301 of file pra_constants.hh.
Bitfield<2, 0> RiscvISA::k0 |
Definition at line 226 of file pra_constants.hh.
Bitfield<30, 28> RiscvISA::k23 |
Definition at line 217 of file pra_constants.hh.
Bitfield<4, 3> RiscvISA::ksu |
Definition at line 134 of file pra_constants.hh.
Bitfield<27, 25> RiscvISA::ku |
Definition at line 218 of file pra_constants.hh.
Bitfield<5> RiscvISA::l |
Definition at line 320 of file pra_constants.hh.
const Addr RiscvISA::LEVEL_BITS = 9 |
Definition at line 56 of file pagetable.hh.
Referenced by RiscvISA::Walker::WalkerState::setupWalk(), and RiscvISA::Walker::WalkerState::stepWalk().
const Addr RiscvISA::LEVEL_MASK = (1 << LEVEL_BITS) - 1 |
Definition at line 57 of file pagetable.hh.
Referenced by RiscvISA::Walker::WalkerState::setupWalk(), and RiscvISA::Walker::WalkerState::stepWalk().
std::unordered_map< int, std::stack< Addr > > RiscvISA::locked_addrs |
Definition at line 9 of file locked_mem.cc.
Referenced by handleLockedRead(), handleLockedSnoop(), handleLockedWrite(), and PhysicalMemory::serialize().
Definition at line 37 of file decoder.cc.
Referenced by RiscvISA::Decoder::moreBytes().
Bitfield<7> RiscvISA::lpa |
Definition at line 264 of file pra_constants.hh.
Bitfield< 11, 3 > RiscvISA::mask |
Definition at line 70 of file pra_constants.hh.
Referenced by RiscvISA::TLB::demapPage(), RiscvISA::TLB::doTranslate(), RiscvISA::Interrupts::getInterrupt(), RiscvISA::Interrupts::globalMask(), RiscvISA::Walker::WalkerState::stepWalk(), RiscvISA::TLB::translateFunctional(), and RiscvISA::TLB::translateWithTLB().
Bitfield<12, 11> RiscvISA::maskx |
Definition at line 71 of file pra_constants.hh.
const int RiscvISA::MaxMiscDestRegs = 2 |
Definition at line 62 of file registers.hh.
Bitfield<5> RiscvISA::md |
Definition at line 239 of file pra_constants.hh.
Definition at line 692 of file registers.hh.
const RegVal RiscvISA::MI_MASK |
Bitfield<3> RiscvISA::mie |
Definition at line 618 of file registers.hh.
const RegVal RiscvISA::MISA_MASK = ISA_MXL_MASK | ISA_EXT_MASK |
Definition at line 650 of file registers.hh.
const std::array<const char *, NumMiscRegs> M5_VAR_USED RiscvISA::MiscRegNames |
Definition at line 52 of file isa.cc.
Referenced by RiscvISA::ISA::readMiscRegNoEffect(), and RiscvISA::ISA::setMiscRegNoEffect().
Bitfield<30, 25> RiscvISA::mmuSize |
Definition at line 231 of file pra_constants.hh.
RiscvISA::mode |
Definition at line 42 of file pagetable.hh.
Referenced by RiscvISA::TLB::checkPermissions(), RiscvISA::TLB::createPagefault(), RiscvISA::TLB::doTranslate(), RiscvISA::TLB::getMemPriv(), RiscvISA::Walker::WalkerState::initState(), RiscvISA::TLB::lookup(), RiscvISA::Walker::WalkerState::pageFault(), RiscvISA::Walker::WalkerState::recvPacket(), RiscvISA::Walker::WalkerState::stepWalk(), RiscvISA::TLB::translate(), RiscvISA::TLB::translateAtomic(), RiscvISA::TLB::translateFunctional(), RiscvISA::TLB::translateTiming(), and RiscvISA::TLB::translateWithTLB().
Bitfield<7> RiscvISA::mpie |
Definition at line 615 of file registers.hh.
Bitfield<12, 11> RiscvISA::mpp |
Definition at line 613 of file registers.hh.
Bitfield<17> RiscvISA::mprv |
Definition at line 610 of file registers.hh.
Bitfield<3> RiscvISA::msi |
Definition at line 636 of file registers.hh.
Definition at line 698 of file registers.hh.
const RegVal RiscvISA::MSTATUS_MASK |
Definition at line 671 of file registers.hh.
Bitfield< 2 > RiscvISA::mt |
Definition at line 223 of file pra_constants.hh.
Bitfield<7> RiscvISA::mti |
Definition at line 633 of file registers.hh.
Definition at line 695 of file registers.hh.
Bitfield<24> RiscvISA::mx |
Definition at line 112 of file pra_constants.hh.
Bitfield<19> RiscvISA::mxr |
Definition at line 608 of file registers.hh.
Bitfield<19> RiscvISA::nmi |
Definition at line 117 of file pra_constants.hh.
const int RiscvISA::NumCCRegs = 0 |
Definition at line 89 of file registers.hh.
const int RiscvISA::NumFloatRegs = 32 |
Definition at line 82 of file registers.hh.
Referenced by copyRegs(), and registerName().
const int RiscvISA::NumIntArchRegs = 32 |
Definition at line 79 of file registers.hh.
Referenced by RiscvISA::RemoteGDB::RiscvGdbRegCache::getRegs(), registerName(), and RiscvISA::RemoteGDB::RiscvGdbRegCache::setRegs().
const int RiscvISA::NumIntRegs = NumIntArchRegs + NumMicroIntRegs |
Definition at line 81 of file registers.hh.
Referenced by copyRegs().
const int RiscvISA::NumMicroIntRegs = 1 |
Definition at line 80 of file registers.hh.
const int RiscvISA::NumMiscRegs = NUM_MISCREGS |
Definition at line 256 of file registers.hh.
Referenced by RiscvISA::ISA::ISA(), RiscvISA::ISA::readMiscRegNoEffect(), and RiscvISA::ISA::setMiscRegNoEffect().
|
constexpr |
Definition at line 69 of file registers.hh.
const int RiscvISA::NumVecPredRegs = 1 |
Definition at line 86 of file registers.hh.
const unsigned RiscvISA::NumVecRegs = 1 |
Definition at line 84 of file registers.hh.
Bitfield<0> RiscvISA::p |
Definition at line 323 of file pra_constants.hh.
Referenced by RiscvISA::BareMetal::BareMetal(), RiscvISA::TLB::TLB(), and RiscvISA::TLB::translate().
Definition at line 53 of file isa_traits.hh.
const Addr RiscvISA::PageShift = 12 |
Definition at line 52 of file isa_traits.hh.
Referenced by RiscvISA::TLB::doTranslate(), RiscvISA::Walker::WalkerState::setupWalk(), RiscvISA::Walker::WalkerState::startFunctional(), RiscvISA::Walker::WalkerState::stepWalk(), and RiscvISA::TLB::translateWithTLB().
Bitfield<4> RiscvISA::pc |
Definition at line 240 of file pra_constants.hh.
Referenced by RiscvISA::RiscvStaticInst::advancePC(), advancePC(), RiscvISA::Reset::invoke(), and RiscvISA::Decoder::moreBytes().
Bitfield<26> RiscvISA::pci |
Definition at line 179 of file pra_constants.hh.
Bitfield<3, 1> RiscvISA::perm |
Definition at line 68 of file pagetable.hh.
Referenced by ArmISA::TLB::checkPermissions64(), and CacheMemory::recordCacheContents().
Bitfield<29, 6> RiscvISA::pfn |
Definition at line 55 of file pra_constants.hh.
RiscvISA::ppn |
Definition at line 44 of file pagetable.hh.
Referenced by Prefetcher::SignaturePath::addPrefetch(), Prefetcher::SignaturePath::auxiliaryPrefetcher(), Prefetcher::SignaturePath::calculatePrefetch(), and Prefetcher::SignaturePath::getSignatureEntry().
Bitfield<18, 10> RiscvISA::ppn0 |
Definition at line 63 of file pagetable.hh.
Bitfield<27, 19> RiscvISA::ppn1 |
Definition at line 62 of file pagetable.hh.
Bitfield<53, 28> RiscvISA::ppn2 |
Definition at line 61 of file pagetable.hh.
Bitfield<15, 8> RiscvISA::procId |
Definition at line 203 of file pra_constants.hh.
Bitfield<9, 6> RiscvISA::pss |
Definition at line 158 of file pra_constants.hh.
Bitfield<7, 6> RiscvISA::pState |
Definition at line 319 of file pra_constants.hh.
RiscvISA::pTagLo |
Definition at line 318 of file pra_constants.hh.
RiscvISA::pteBase |
Definition at line 63 of file pra_constants.hh.
Bitfield<23> RiscvISA::px |
Definition at line 113 of file pra_constants.hh.
Bitfield< 1 > RiscvISA::r |
Definition at line 71 of file pagetable.hh.
Referenced by RiscvISA::RemoteGDB::RiscvGdbRegCache::setRegs().
Bitfield<3> RiscvISA::r0 |
Definition at line 136 of file pra_constants.hh.
RiscvISA::random |
Definition at line 50 of file pra_constants.hh.
Bitfield<25> RiscvISA::re |
Definition at line 111 of file pra_constants.hh.
const int RiscvISA::ReturnAddrReg = 1 |
Definition at line 93 of file registers.hh.
const int RiscvISA::ReturnValueReg = 10 |
Definition at line 98 of file registers.hh.
Referenced by GuestABI::Result< RiscvProcess::SyscallABI, SyscallReturn >::store().
const std::vector<int> RiscvISA::ReturnValueRegs = {10, 11} |
Definition at line 99 of file registers.hh.
Bitfield<7, 0> RiscvISA::rev |
Definition at line 204 of file pra_constants.hh.
Bitfield<15, 10> RiscvISA::ripl |
Definition at line 184 of file pra_constants.hh.
Bitfield<2> RiscvISA::s |
Definition at line 300 of file pra_constants.hh.
Bitfield<3, 0> RiscvISA::sa |
Definition at line 256 of file pra_constants.hh.
Bitfield<9> RiscvISA::sei |
Definition at line 631 of file registers.hh.
Definition at line 693 of file registers.hh.
const RegVal RiscvISA::SI_MASK |
Bitfield<1> RiscvISA::sie |
Definition at line 619 of file registers.hh.
Bitfield<7, 4> RiscvISA::sl |
Definition at line 255 of file pra_constants.hh.
Bitfield<1> RiscvISA::sm |
Definition at line 270 of file pra_constants.hh.
Bitfield<4> RiscvISA::sp |
Definition at line 267 of file pra_constants.hh.
Bitfield<5> RiscvISA::spie |
Definition at line 616 of file registers.hh.
Bitfield<8> RiscvISA::spp |
Definition at line 614 of file registers.hh.
Bitfield<20> RiscvISA::sr |
Definition at line 116 of file pra_constants.hh.
Bitfield<11, 8> RiscvISA::ss |
Definition at line 254 of file pra_constants.hh.
Referenced by RiscvISA::CompRegOp::generateDisassembly().
Bitfield<1> RiscvISA::ssi |
Definition at line 637 of file registers.hh.
Definition at line 699 of file registers.hh.
const RegVal RiscvISA::SSTATUS_MASK |
Definition at line 681 of file registers.hh.
Bitfield<3, 0> RiscvISA::ssv0 |
Definition at line 171 of file pra_constants.hh.
Bitfield<7, 4> RiscvISA::ssv1 |
Definition at line 170 of file pra_constants.hh.
Bitfield<11, 8> RiscvISA::ssv2 |
Definition at line 169 of file pra_constants.hh.
Bitfield<15, 12> RiscvISA::ssv3 |
Definition at line 168 of file pra_constants.hh.
Bitfield<19, 16> RiscvISA::ssv4 |
Definition at line 167 of file pra_constants.hh.
Bitfield<23, 20> RiscvISA::ssv5 |
Definition at line 166 of file pra_constants.hh.
Bitfield<27, 24> RiscvISA::ssv6 |
Definition at line 165 of file pra_constants.hh.
RiscvISA::ssv7 |
Definition at line 164 of file pra_constants.hh.
const int RiscvISA::StackPointerReg = 2 |
Definition at line 94 of file registers.hh.
Referenced by RiscvLinux64::archClone(), and RiscvLinux32::archClone().
Definition at line 662 of file registers.hh.
Definition at line 668 of file registers.hh.
Definition at line 665 of file registers.hh.
Definition at line 663 of file registers.hh.
Definition at line 660 of file registers.hh.
Definition at line 658 of file registers.hh.
Definition at line 652 of file registers.hh.
Definition at line 669 of file registers.hh.
Definition at line 666 of file registers.hh.
Definition at line 664 of file registers.hh.
Definition at line 659 of file registers.hh.
const RegVal RiscvISA::STATUS_SXL_MASK = 3ULL << SXL_OFFSET |
Definition at line 653 of file registers.hh.
Referenced by RiscvISA::ISA::setMiscReg().
Definition at line 655 of file registers.hh.
Definition at line 657 of file registers.hh.
Definition at line 656 of file registers.hh.
Definition at line 670 of file registers.hh.
Definition at line 667 of file registers.hh.
const RegVal RiscvISA::STATUS_UXL_MASK = 3ULL << UXL_OFFSET |
Definition at line 654 of file registers.hh.
Referenced by RiscvISA::ISA::setMiscReg().
Definition at line 661 of file registers.hh.
Bitfield<5> RiscvISA::sti |
Definition at line 634 of file registers.hh.
Definition at line 696 of file registers.hh.
Bitfield<15, 12> RiscvISA::su |
Definition at line 253 of file pra_constants.hh.
Bitfield<18> RiscvISA::sum |
Definition at line 609 of file registers.hh.
Referenced by Net::__tu_cksum(), Net::__tu_cksum6(), Net::cksum(), StatTest::init(), TrafficGen::parseConfig(), popCount(), SimpleNetwork::regStats(), GarnetNetwork::regStats(), FullO3CPU< O3CPUImpl >::regStats(), SC_MODULE(), and TEST().
Bitfield<6> RiscvISA::sx |
Definition at line 132 of file pra_constants.hh.
Bitfield<35, 34> RiscvISA::sxl |
Definition at line 603 of file registers.hh.
const off_t RiscvISA::SXL_OFFSET = 34 |
Definition at line 642 of file registers.hh.
Referenced by RiscvISA::ISA::clear().
const std::vector<int> RiscvISA::SyscallArgumentRegs = {10, 11, 12, 13, 14, 15, 16} |
Definition at line 104 of file registers.hh.
const int RiscvISA::SyscallNumReg = 17 |
Definition at line 105 of file registers.hh.
const int RiscvISA::SyscallPseudoReturnReg = 10 |
Definition at line 103 of file registers.hh.
Bitfield<19, 16> RiscvISA::ta |
Definition at line 252 of file pra_constants.hh.
const int RiscvISA::ThreadPointerReg = 4 |
Definition at line 96 of file registers.hh.
Referenced by RiscvLinux64::archClone().
Bitfield<30> RiscvISA::ti |
Definition at line 176 of file pra_constants.hh.
Bitfield< 0 > RiscvISA::tl |
Definition at line 251 of file pra_constants.hh.
Bitfield< 27, 24 > RiscvISA::ts |
Definition at line 115 of file pra_constants.hh.
Bitfield<22> RiscvISA::tsr |
Definition at line 605 of file registers.hh.
Bitfield<30, 28> RiscvISA::tu |
Definition at line 249 of file pra_constants.hh.
Bitfield<20> RiscvISA::tvm |
Definition at line 607 of file registers.hh.
Bitfield<21> RiscvISA::tw |
Definition at line 606 of file registers.hh.
Bitfield< 3 > RiscvISA::u |
Definition at line 67 of file pagetable.hh.
Bitfield<8> RiscvISA::uei |
Definition at line 632 of file registers.hh.
Definition at line 694 of file registers.hh.
Definition at line 707 of file registers.hh.
Bitfield<0> RiscvISA::uie |
Definition at line 620 of file registers.hh.
Bitfield<4> RiscvISA::um |
Definition at line 135 of file pra_constants.hh.
Bitfield<4> RiscvISA::upie |
Definition at line 617 of file registers.hh.
|
static |
Definition at line 38 of file decoder.cc.
Referenced by RiscvISA::Decoder::moreBytes().
Bitfield<0> RiscvISA::usi |
Definition at line 638 of file registers.hh.
Definition at line 700 of file registers.hh.
const RegVal RiscvISA::USTATUS_MASK |
Definition at line 687 of file registers.hh.
Bitfield<4> RiscvISA::uti |
Definition at line 635 of file registers.hh.
Definition at line 697 of file registers.hh.
Bitfield<5> RiscvISA::ux |
Definition at line 133 of file pra_constants.hh.
Bitfield<33, 32> RiscvISA::uxl |
Definition at line 604 of file registers.hh.
const off_t RiscvISA::UXL_OFFSET = 32 |
Definition at line 643 of file registers.hh.
Referenced by RiscvISA::ISA::clear().
Bitfield< 1 > RiscvISA::v |
Definition at line 72 of file pagetable.hh.
RiscvISA::vaddr |
Definition at line 275 of file pra_constants.hh.
Referenced by RiscvISA::TLB::checkPermissions(), RiscvISA::TLB::createPagefault(), RiscvISA::TLB::demapPage(), RiscvISA::TLB::doTranslate(), RiscvISA::Walker::WalkerState::recvPacket(), RiscvISA::TLB::remove(), RiscvISA::Walker::WalkerState::setupWalk(), RiscvISA::TLB::translateFunctional(), and RiscvISA::TLB::translateWithTLB().
const Addr RiscvISA::VADDR_BITS = 39 |
Definition at line 55 of file pagetable.hh.
Referenced by RiscvISA::TLB::doTranslate(), RiscvISA::Walker::WalkerState::recvPacket(), and RiscvISA::Walker::WalkerState::setupWalk().
|
constexpr |
Definition at line 77 of file registers.hh.
|
constexpr |
Definition at line 76 of file registers.hh.
|
constexpr |
Definition at line 70 of file registers.hh.
Bitfield<6> RiscvISA::veic |
Definition at line 265 of file pra_constants.hh.
Bitfield<3> RiscvISA::vi |
Definition at line 225 of file pra_constants.hh.
Bitfield<5> RiscvISA::vint |
Definition at line 266 of file pra_constants.hh.
Bitfield<39, 13> RiscvISA::vpn2 |
Definition at line 97 of file pra_constants.hh.
Bitfield<12, 11> RiscvISA::vpn2x |
Definition at line 98 of file pra_constants.hh.
Bitfield<9, 5> RiscvISA::vs |
Definition at line 146 of file pra_constants.hh.
Bitfield< 30 > RiscvISA::w |
Definition at line 70 of file pagetable.hh.
const int RiscvISA::WARN_FAILURE = 10000 |
Definition at line 65 of file locked_mem.hh.
Referenced by handleLockedWrite().
RiscvISA::wired |
Definition at line 86 of file pra_constants.hh.
Bitfield<22> RiscvISA::wp |
Definition at line 182 of file pra_constants.hh.
Bitfield<3> RiscvISA::wr |
Definition at line 241 of file pra_constants.hh.
Bitfield<3> RiscvISA::x |
Definition at line 69 of file pagetable.hh.
Referenced by sc_dt::and_on_help(), sc_dt::sc_proxy< sc_bv_base >::assign_(), sc_dt::assign_v_(), sc_dt::b_and_assign_(), sc_dt::b_or_assign_(), sc_dt::b_xor_assign_(), Prefetcher::BOP::bestOffsetLearning(), sc_dt::sc_proxy< sc_bv_base >::check_bounds(), ArmISA::TLB::checkPermissions64(), LSQUnit< Impl >::checkSnoop(), sc_dt::sc_lv_base::clean_tail(), sc_dt::scfx_rep::clear(), LSQUnit< Impl >::commitStores(), CopyEngine::CopyEngine(), SparcISA::copyRegs(), SparcISA::TLB::demapAll(), SparcISA::TLB::demapContext(), SparcISA::TLB::dumpAll(), sc_dt::extend_sign_w_(), IGbE::DescCache< iGbReg::RxDesc >::fetchComplete(), Float16::Float16(), floorLog2(), SparcISA::TLB::flushAll(), ArmISA::TLB::flushAllNs(), ArmISA::TLB::flushAllSecurity(), ArmISA::TLB::flushAsid(), ArmISA::fp16_add(), ArmISA::fp16_div(), ArmISA::fp16_mul(), ArmISA::fp16_muladd(), ArmISA::fp16_sqrt(), ArmISA::fp16_unpack(), ArmISA::fp32_add(), ArmISA::fp32_div(), ArmISA::fp32_mul(), ArmISA::fp32_muladd(), ArmISA::fp32_sqrt(), ArmISA::fp32_unpack(), ArmISA::fp64_add(), ArmISA::fp64_div(), ArmISA::fp64_mul(), ArmISA::fp64_muladd(), ArmISA::fp64_sqrt(), ArmISA::fp64_unpack(), ArmISA::fplibCompareEQ(), ArmISA::fplibCompareGE(), ArmISA::fplibCompareGT(), ArmISA::fplibCompareUN(), ArmISA::fplibMax(), ArmISA::fplibMin(), ArmISA::fplibRoundInt(), ArmISA::FpOp::fpSqrt(), ArmISA::FPToFixed_16(), ArmISA::FPToFixed_32(), ArmISA::FPToFixed_64(), sc_dt::scfx_rep::get_bit(), PciDevice::getAddrRanges(), MultiperspectivePerceptron::ACYCLIC::getHash(), MultiperspectivePerceptron::MODHIST::getHash(), MultiperspectivePerceptron::RECENCY::getHash(), MultiperspectivePerceptron::PATH::getHash(), MultiperspectivePerceptron::LOCAL::getHash(), MultiperspectivePerceptron::MODPATH::getHash(), MultiperspectivePerceptron::GHISTPATH::getHash(), MultiperspectivePerceptron::GHISTMODPATH::getHash(), MultiperspectivePerceptron::BLURRYPATH::getHash(), MultiperspectivePerceptron::SGHISTPATH::getHash(), Gicv2m::Gicv2m(), MultiperspectivePerceptron::GHIST::hash(), MultiperspectivePerceptron::MPPBranchInfo::hashPC(), QTIsaac< ALPHA >::ind(), SparcISA::TLB::insert(), MultiperspectivePerceptron::insert(), Prefetcher::BOP::insertIntoDelayQueue(), Iob::Iob(), QTIsaac< ALPHA >::isaac(), ArmISA::TLB::lookup(), sc_dt::sc_proxy< sc_bv_base >::lrotate(), sc_dt::lrotate(), ArmISA::lsl16(), ArmISA::lsl32(), ArmISA::lsl64(), m5_fegetround(), ArmISA::modeConv(), PS2TouchKit::mouseAt(), sc_dt::scfx_rep::o_extend(), sc_dt::scfx_rep::o_set_high(), sc_dt::scfx_rep::o_zero_left(), sc_dt::scfx_rep::o_zero_right(), sc_dt::operator!=(), sc_dt::sc_proxy< sc_bv_base >::operator>>(), FrameBuffer::pixel(), SparcISA::SparcStaticInst::printRegArray(), ArmISA::TLB::printTlb(), sc_dt::scfx_rep::q_clear(), sc_dt::scfx_rep::q_incr(), RangeAddrMapper::RangeAddrMapper(), GicV2::readCpu(), SparcISA::ISA::readFSReg(), IGbE::DescCache< iGbReg::RxDesc >::reset(), ArmISA::HTMCheckpoint::restore(), QTIsaac< ALPHA >::rngstep(), ArmISA::Crypto::ror(), sc_dt::scfx_rep::round(), sc_dt::sc_proxy< sc_bv_base >::rrotate(), ArmISA::HTMCheckpoint::save(), SC_MODULE(), sc_dt::scfx_rep::scfx_rep(), Shader::ScheduleAdd(), VncServer::sendFrameBufferUpdate(), RiscvISA::TLB::serialize(), Iob::serialize(), CopyEngine::serialize(), SparcISA::TLB::serialize(), IGbE::DescCache< iGbReg::RxDesc >::serialize(), Pl111::serialize(), sc_dt::scfx_rep::set(), VncServer::setEncodings(), GicV2::softInt(), swap_byte(), swap_byte16(), swap_byte32(), swap_byte64(), System::System(), TEST(), RiscvISA::TLB::TLB(), SparcISA::TLB::TLB(), sc_dt::scfx_rep::to_string(), SparcISA::TLB::translateFunctional(), RiscvISA::TLB::unserialize(), Iob::unserialize(), CopyEngine::unserialize(), SparcISA::TLB::unserialize(), IGbE::DescCache< iGbReg::RxDesc >::unserialize(), Pl111::unserialize(), PhysicalMemory::unserializeStore(), GicV2::updateIntState(), sc_dt::vec_mul_small_on(), VGic::VGic(), IGbE::DescCache< iGbReg::RxDesc >::wbComplete(), BmpWriter::write(), PngWriter::write(), IGbE::DescCache< iGbReg::RxDesc >::writeback1(), sc_dt::sc_proxy< sc_bv_base >::xor_reduce(), CopyEngine::~CopyEngine(), GicV2::~GicV2(), mm::~mm(), and VGic::~VGic().
Bitfield<16, 15> RiscvISA::xs |
Definition at line 611 of file registers.hh.
Referenced by dumpFpuSpec().
const int RiscvISA::ZeroReg = 0 |
Definition at line 92 of file registers.hh.