pub enum EsrDecoded {
DataAbort {
is_write: bool,
sas: u8,
srt: u8,
sf: bool,
},
Hvc {
imm16: u16,
},
Smc {
imm16: u16,
},
SystemRegister {
read: bool,
op0: u8,
op1: u8,
crn: u8,
crm: u8,
op2: u8,
xt: u8,
},
Wfi,
Wfe,
Brk {
imm16: u16,
},
Other {
ec: u8,
raw: u64,
},
}Expand description
A decoded ESR_EL2 value.
Variants§
DataAbort
Data abort taken from a lower exception level. is_write distinguishes load vs
store; sas is the syndrome access size (0 = byte, 1 = halfword, 2 = word,
3 = doubleword). srt is the source/destination register index (0..=31). sf
indicates 64-bit register width.
Fields
Hvc
HVC immediate. The argument register x[0..3] is read separately by the caller.
Smc
SMC immediate.
SystemRegister
Trapped MSR / MRS / system instruction.
Fields
Wfi
WFI.
Wfe
WFE.
Brk
BRK immediate (debugger breakpoint).
Other
Anything not specifically decoded above. The caller treats this as fatal and
returns VmExit::InternalError.
Trait Implementations§
Source§impl Clone for EsrDecoded
impl Clone for EsrDecoded
Source§fn clone(&self) -> EsrDecoded
fn clone(&self) -> EsrDecoded
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for EsrDecoded
impl Debug for EsrDecoded
Source§impl PartialEq for EsrDecoded
impl PartialEq for EsrDecoded
Source§fn eq(&self, other: &EsrDecoded) -> bool
fn eq(&self, other: &EsrDecoded) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Copy for EsrDecoded
impl Eq for EsrDecoded
impl StructuralPartialEq for EsrDecoded
Auto Trait Implementations§
impl Freeze for EsrDecoded
impl RefUnwindSafe for EsrDecoded
impl Send for EsrDecoded
impl Sync for EsrDecoded
impl Unpin for EsrDecoded
impl UnsafeUnpin for EsrDecoded
impl UnwindSafe for EsrDecoded
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