pub enum Exception {
InstructionAddressMisaligned {
address: Option<NonZeroU64>,
},
InstructionAccessFault {
address: Option<NonZeroU64>,
},
IllegalInstruction {
instruction: Option<NonZeroU32>,
},
Breakpoint {
address: Option<NonZeroU64>,
},
LoadAddressMisaligned {
address: Option<NonZeroU64>,
},
LoadAccessFault {
address: Option<NonZeroU64>,
},
StoreAmoAddressMisaligned {
address: Option<NonZeroU64>,
},
StoreAmoAccessFault {
address: Option<NonZeroU64>,
},
EnvironmentCall,
}Expand description
Exceptions that can be encountered during the execution of an instruction by a BaseHart.
These mostly line up with the list of exceptions defined by the RISC-V privlieged specification, though with some minor differences and omissions.
Variants§
InstructionAddressMisaligned
Fields
§
address: Option<NonZeroU64>InstructionAccessFault
Fields
§
address: Option<NonZeroU64>IllegalInstruction
Fields
§
instruction: Option<NonZeroU32>Breakpoint
Fields
§
address: Option<NonZeroU64>LoadAddressMisaligned
Fields
§
address: Option<NonZeroU64>LoadAccessFault
Fields
§
address: Option<NonZeroU64>StoreAmoAddressMisaligned
Fields
§
address: Option<NonZeroU64>StoreAmoAccessFault
Fields
§
address: Option<NonZeroU64>EnvironmentCall
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Exception
impl RefUnwindSafe for Exception
impl Send for Exception
impl Sync for Exception
impl Unpin for Exception
impl UnwindSafe for Exception
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more