pub enum Stack {
Und,
Svc,
Abt,
Hyp,
Irq,
Fiq,
Sys,
}Expand description
Represents one of the AArch32 stacks
Variants§
Und
UND mode stack
Svc
SVC mode stack
Abt
ABT mode stack, for data abort and prefetch abort
Hyp
HYP mode stack, for EL2
Irq
IRQ mode stack, for interrupts
Fiq
FIQ mode stack, for fast interrupts
Sys
SYS mode stack, for the main thread
Implementations§
Source§impl Stack
impl Stack
Sourcepub fn top(&self, core: usize) -> Option<*const u32>
pub fn top(&self, core: usize) -> Option<*const u32>
Get the highest address of this stack, for the given core
Sourcepub fn bottom(&self, core: usize) -> Option<*const u32>
pub fn bottom(&self, core: usize) -> Option<*const u32>
Get the lowest address of this stack, for the given core
Sourcepub fn range(&self, core: usize) -> Option<Range<*const u32>>
pub fn range(&self, core: usize) -> Option<Range<*const u32>>
Get the range of this stack, for the given core
Sourcepub fn mpu_range(&self, core: usize) -> Option<RangeInclusive<*const u8>>
pub fn mpu_range(&self, core: usize) -> Option<RangeInclusive<*const u8>>
Get the inclusive range of this stack, for the given core
This is the range you need to give to the PMSAv8 MPU code.
Sourcepub fn per_core_size_words(&self) -> isize
pub fn per_core_size_words(&self) -> isize
Get the total size of this stack across all cores
Trait Implementations§
impl Copy for Stack
Auto Trait Implementations§
impl Freeze for Stack
impl RefUnwindSafe for Stack
impl Send for Stack
impl Sync for Stack
impl Unpin for Stack
impl UnsafeUnpin for Stack
impl UnwindSafe for Stack
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