|
enum | PrivilegeLevel {
U
, User = U
, P
, Privileged = P
,
H
, Hyperprivileged = H
, NumLevels
, SH = -1
,
ShouldntHappen = SH
} |
|
using | PrivilegeLevelSpec = std::array<PrivilegeLevel, NumLevels> |
|
FaultName | name () const |
|
TrapType | trapType () |
|
FaultPriority | priority () |
|
PrivilegeLevel | getNextLevel (PrivilegeLevel current) |
|
void | invoke (ThreadContext *tc, const StaticInstPtr &inst=nullStaticInstPtr) |
|
virtual | ~FaultBase () |
|
SparcFaultBase::FaultVals | vals ("power_on_reset", 0x001, 0, {{H, H, H}}) |
|
SparcFaultBase::FaultVals | vals ("watch_dog_reset", 0x002, 120, {{H, H, H}}) |
|
SparcFaultBase::FaultVals | vals ("externally_initiated_reset", 0x003, 110, {{H, H, H}}) |
|
SparcFaultBase::FaultVals | vals ("software_initiated_reset", 0x004, 130, {{SH, SH, H}}) |
|
SparcFaultBase::FaultVals | vals ("RED_state_exception", 0x005, 1, {{H, H, H}}) |
|
SparcFaultBase::FaultVals | vals ("store_error", 0x007, 201, {{H, H, H}}) |
|
SparcFaultBase::FaultVals | vals ("instruction_access_exception", 0x008, 300, {{H, H, H}}) |
|
SparcFaultBase::FaultVals | vals ("instruction_access_error", 0x00A, 400, {{H, H, H}}) |
|
SparcFaultBase::FaultVals | vals ("illegal_instruction", 0x010, 620, {{H, H, H}}) |
|
SparcFaultBase::FaultVals | vals ("privileged_opcode", 0x011, 700, {{P, SH, SH}}) |
|
SparcFaultBase::FaultVals | vals ("fp_disabled", 0x020, 800, {{P, P, H}}) |
|
SparcFaultBase::FaultVals | vals ("fp_disabled", 0x020, 800, {{P, P, H}}) |
|
SparcFaultBase::FaultVals | vals ("fp_exception_ieee_754", 0x021, 1110, {{P, P, H}}) |
|
SparcFaultBase::FaultVals | vals ("fp_exception_other", 0x022, 1110, {{P, P, H}}) |
|
SparcFaultBase::FaultVals | vals ("tag_overflow", 0x023, 1400, {{P, P, H}}) |
|
SparcFaultBase::FaultVals | vals ("clean_window", 0x024, 1010, {{P, P, H}}) |
|
SparcFaultBase::FaultVals | vals ("division_by_zero", 0x028, 1500, {{P, P, H}}) |
|
SparcFaultBase::FaultVals | vals ("internal_processor_error", 0x029, 4, {{H, H, H}}) |
|
SparcFaultBase::FaultVals | vals ("instruction_invalid_tsb_entry", 0x02A, 210, {{H, H, SH}}) |
|
SparcFaultBase::FaultVals | vals ("data_invalid_tsb_entry", 0x02B, 1203, {{H, H, H}}) |
|
SparcFaultBase::FaultVals | vals ("data_access_exception", 0x030, 1201, {{H, H, H}}) |
|
SparcFaultBase::FaultVals | vals ("data_access_error", 0x032, 1210, {{H, H, H}}) |
|
SparcFaultBase::FaultVals | vals ("data_access_protection", 0x033, 1207, {{H, H, H}}) |
|
SparcFaultBase::FaultVals | vals ("mem_address_not_aligned", 0x034, 1020, {{H, H, H}}) |
|
SparcFaultBase::FaultVals | vals ("LDDF_mem_address_not_aligned", 0x035, 1010, {{H, H, H}}) |
|
SparcFaultBase::FaultVals | vals ("STDF_mem_address_not_aligned", 0x036, 1010, {{H, H, H}}) |
|
SparcFaultBase::FaultVals | vals ("privileged_action", 0x037, 1110, {{H, H, SH}}) |
|
SparcFaultBase::FaultVals | vals ("LDQF_mem_address_not_aligned", 0x038, 1010, {{H, H, H}}) |
|
SparcFaultBase::FaultVals | vals ("STQF_mem_address_not_aligned", 0x039, 1010, {{H, H, H}}) |
|
SparcFaultBase::FaultVals | vals ("instruction_real_translation_miss", 0x03E, 208, {{H, H, SH}}) |
|
SparcFaultBase::FaultVals | vals ("data_real_translation_miss", 0x03F, 1203, {{H, H, H}}) |
|
SparcFaultBase::FaultVals | vals ("interrupt_level_n", 0x040, 0, {{P, P, SH}}) |
|
SparcFaultBase::FaultVals | vals ("hstick_match", 0x05E, 1601, {{H, H, H}}) |
|
SparcFaultBase::FaultVals | vals ("trap_level_zero", 0x05F, 202, {{H, H, SH}}) |
|
SparcFaultBase::FaultVals | vals ("interrupt_vector", 0x060, 2630, {{H, H, H}}) |
|
SparcFaultBase::FaultVals | vals ("PA_watchpoint", 0x061, 1209, {{H, H, H}}) |
|
SparcFaultBase::FaultVals | vals ("VA_watchpoint", 0x062, 1120, {{P, P, SH}}) |
|
SparcFaultBase::FaultVals | vals ("fast_instruction_access_MMU_miss", 0x064, 208, {{H, H, SH}}) |
|
SparcFaultBase::FaultVals | vals ("fast_data_access_MMU_miss", 0x068, 1203, {{H, H, H}}) |
|
SparcFaultBase::FaultVals | vals ("fast_data_access_protection", 0x06C, 1207, {{H, H, H}}) |
|
SparcFaultBase::FaultVals | vals ("instruction_break", 0x076, 610, {{H, H, H}}) |
|
SparcFaultBase::FaultVals | vals ("cpu_mondo", 0x07C, 1608, {{P, P, SH}}) |
|
SparcFaultBase::FaultVals | vals ("dev_mondo", 0x07D, 1611, {{P, P, SH}}) |
|
SparcFaultBase::FaultVals | vals ("resume_error", 0x07E, 3330, {{P, P, SH}}) |
|
SparcFaultBase::FaultVals | vals ("spill_n_normal", 0x080, 900, {{P, P, H}}) |
|
SparcFaultBase::FaultVals | vals ("spill_n_other", 0x0A0, 900, {{P, P, H}}) |
|
SparcFaultBase::FaultVals | vals ("fill_n_normal", 0x0C0, 900, {{P, P, H}}) |
|
SparcFaultBase::FaultVals | vals ("fill_n_other", 0x0E0, 900, {{P, P, H}}) |
|
SparcFaultBase::FaultVals | vals ("trap_instruction", 0x100, 1602, {{P, P, H}}) |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
SparcFaultBase::FaultVals | vals |
|
static FaultVals | vals |
|