pub enum SimErr {
Show 15 variants
IllegalOpcode,
InvalidInstrFormat,
PrivilegeViolation,
AccessViolation,
UnresolvedExternal(String),
Interrupt(ExternalInterrupt),
StrictRegSetUninit,
StrictMemSetUninit,
StrictIOSetUninit,
StrictJmpAddrUninit,
StrictSRAddrUninit,
StrictMemAddrUninit,
StrictPCCurrUninit,
StrictPCNextUninit,
StrictPSRSetUninit,
}
Expand description
Errors that can occur during simulation.
Variants§
IllegalOpcode
Word was decoded, but the opcode was invalid.
InvalidInstrFormat
Word was decoded, and the opcode is recognized, but the instruction’s format is invalid.
PrivilegeViolation
A privileged instruction was called in user mode.
AccessViolation
A supervisor region was accessed in user mode.
UnresolvedExternal(String)
Object file contained unresolved external symbols.
Interrupt(ExternalInterrupt)
Interrupt raised.
StrictRegSetUninit
A register was loaded with a partially uninitialized value.
This will ignore loads from the stack (R6), because it is convention to push registers
(including uninitialized registers).
This also ignores loads from allocated (.blkw
) memory in case the program writer
uses those as register stores.
StrictMemSetUninit
Memory was loaded with a partially uninitialized value.
This will ignore loads from the stack (R6), because it is convention to push registers
(including uninitialized registers).
This also ignores loads from allocated (.blkw
) memory in case the program writer
uses those as register stores.
StrictIOSetUninit
Data was stored into MMIO with a partially uninitialized value.
StrictJmpAddrUninit
Address to jump to is coming from an uninitialized value.
StrictSRAddrUninit
Address to jump to (which is a subroutine or trap call) is coming from an uninitialized value.
StrictMemAddrUninit
Address to read from memory is coming from an uninitialized value.
StrictPCCurrUninit
PC is pointing to an uninitialized value.
StrictPCNextUninit
PC was set to an address that has an uninitialized value and will read from it next cycle.
StrictPSRSetUninit
The PSR was loaded with a partially uninitialized value (by RTI).