Namespace rv64
Namespace List > rv64
Namespaces
Classes
Public Types
Public Attributes
Public Functions
Type |
Name |
void |
raise_trap (ExceptionCode exc, uint64_t mtval)
|
Public Types Documentation
enum @42
enum rv64::@42 {
MachineMode = 0b11,
HypervisorMode = 0b10,
SupervisorMode = 0b01,
UserMode = 0b00,
NoneMode = 0xffffffff
};
enum CoreExecStatus
enum rv64::CoreExecStatus {
Runnable,
HitBreakpoint,
Terminated
};
enum ExceptionCode
enum rv64::ExceptionCode {
EXC_U_SOFTWARE_INTERRUPT = 0,
EXC_S_SOFTWARE_INTERRUPT = 1,
EXC_M_SOFTWARE_INTERRUPT = 3,
EXC_U_TIMER_INTERRUPT = 4,
EXC_S_TIMER_INTERRUPT = 5,
EXC_M_TIMER_INTERRUPT = 7,
EXC_U_EXTERNAL_INTERRUPT = 8,
EXC_S_EXTERNAL_INTERRUPT = 9,
EXC_M_EXTERNAL_INTERRUPT = 11,
EXC_INSTR_ADDR_MISALIGNED = 0,
EXC_INSTR_ACCESS_FAULT = 1,
EXC_ILLEGAL_INSTR = 2,
EXC_BREAKPOINT = 3,
EXC_LOAD_ADDR_MISALIGNED = 4,
EXC_LOAD_ACCESS_FAULT = 5,
EXC_STORE_AMO_ADDR_MISALIGNED = 6,
EXC_STORE_AMO_ACCESS_FAULT = 7,
EXC_ECALL_U_MODE = 8,
EXC_ECALL_S_MODE = 9,
EXC_ECALL_M_MODE = 11,
EXC_INSTR_PAGE_FAULT = 12,
EXC_LOAD_PAGE_FAULT = 13,
EXC_STORE_AMO_PAGE_FAULT = 15
};
typedef PrivilegeLevel
typedef uint32_t rv64::PrivilegeLevel;
enum SATPMode
enum rv64::SATPMode {
SATP_MODE_BARE = 0,
SATP_MODE_SV32 = 1,
SATP_MODE_SV39 = 8,
SATP_MODE_SV48 = 9,
SATP_MODE_SV57 = 10,
SATP_MODE_SV64 = 11
};
Public Attributes Documentation
variable FS_CLEAN
constexpr unsigned rv64::FS_CLEAN;
variable FS_DIRTY
constexpr unsigned rv64::FS_DIRTY;
variable FS_INITIAL
constexpr unsigned rv64::FS_INITIAL;
variable FS_OFF
constexpr unsigned rv64::FS_OFF;
Public Functions Documentation
function raise_trap
inline void rv64::raise_trap (
ExceptionCode exc,
uint64_t mtval
)
The documentation for this class was generated from the following file projects/casvp/src/bindings/cp/rv64/csr.h