Skip to main content

ExceptionClass

Enum ExceptionClass 

Source
pub enum ExceptionClass {
Show 18 variants Unknown = 0, TrappedWfiWfe = 1, TrappedCp15McrMrc = 3, TrappedCp15McrrMrrc = 4, TrappedCp14McrMrc = 5, TrappedLdcStc = 6, TrappedFpu = 7, TrappedVmrs = 8, TrappedCp14McrrMrrc = 12, IllegalAArch32Eret = 14, Svc = 17, Hvc = 18, Smc = 19, PrefetchAbortFromLower = 32, PrefetchAbortFromCurrent = 33, PcAlignment = 34, DataAbortFromLower = 36, DataAbortFromCurrent = 37,
}
Expand description

Exception Class value from the HSR (Hyp Syndrome Register)

Variants§

§

Unknown = 0

Unknown reason

§

TrappedWfiWfe = 1

Trapped WFI or WFE instruction execution

§

TrappedCp15McrMrc = 3

Trapped MCR or MRC access with (coproc==0b1111) that is not reported using EC value `0b000000``

§

TrappedCp15McrrMrrc = 4

Trapped MCRR or MRRC access with (coproc==0b1111) that is not reported using EC value `0b000000``

§

TrappedCp14McrMrc = 5

Trapped MCR or MRC access with (coproc==`0b1110``)

§

TrappedLdcStc = 6

Trapped LDC or STC access

§

TrappedFpu = 7

Access to Advanced SIMD or floating-point functionality trapped by a HCPTR.{TASE, TCP10} control

§

TrappedVmrs = 8

Trapped VMRS access, from ID group trap, that is not reported using EC value 0b000111

§

TrappedCp14McrrMrrc = 12

Trapped MRRC access with (coproc==0b1110)

§

IllegalAArch32Eret = 14

Illegal exception return to AArch32 state

§

Svc = 17

Exception on SVC instruction execution in AArch32 state routed to EL2

§

Hvc = 18

HVC instruction execution in AArch32 state, when HVC is not disabled

§

Smc = 19

Trapped execution of SMC instruction in AArch32 state

§

PrefetchAbortFromLower = 32

Prefetch Abort from a lower Exception level

§

PrefetchAbortFromCurrent = 33

Prefetch Abort taken without a change in Exception level

§

PcAlignment = 34

PC alignment fault exception

§

DataAbortFromLower = 36

Data Abort exception from a lower Exception level

§

DataAbortFromCurrent = 37

Data Abort exception taken without a change in Exception level

Implementations§

Source§

impl ExceptionClass

Source

pub const fn raw_value(self) -> UInt<u8, 6usize>

Returns the underlying raw value of this bitfield.

Source

pub const fn new_with_raw_value( value: UInt<u8, 6usize>, ) -> Result<Self, UInt<u8, 6usize>>

Creates a new instance of this bitfield with the given raw value.

Source§

impl ExceptionClass

Source

pub fn decode_iss(&self, iss: u25) -> Iss

Convert an ISS value based on the Exception Class

Trait Implementations§

Source§

impl Clone for ExceptionClass

Source§

fn clone(&self) -> ExceptionClass

Returns a duplicate of the value. Read more
1.0.0 (const: unstable)§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for ExceptionClass

Source§

impl Debug for ExceptionClass

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for ExceptionClass

Source§

impl PartialEq for ExceptionClass

Source§

fn eq(&self, other: &ExceptionClass) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable)§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for ExceptionClass

Auto Trait Implementations§

§

impl Freeze for ExceptionClass

§

impl RefUnwindSafe for ExceptionClass

§

impl Send for ExceptionClass

§

impl Sync for ExceptionClass

§

impl Unpin for ExceptionClass

§

impl UnsafeUnpin for ExceptionClass

§

impl UnwindSafe for ExceptionClass

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CloneToUninit for T
where T: Clone,

§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> Into<U> for T
where U: From<T>,

§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.