pub struct ExecutionContextHeader { /* private fields */ }Expand description
Pinned architecture header for one execution context.
CPU binding uses a four-phase publication word:
Unbound -> Binding -> Bound -> Unbinding -> next Unbound. The epoch is
retained solely to reject a stale incoming switch tail.
Implementations§
Source§impl ExecutionContextHeader
impl ExecutionContextHeader
Sourcepub const fn new() -> Self
pub const fn new() -> Self
Creates an unbound header before placing it in stable pinned storage.
Sourcepub fn cpu_area(&self) -> Option<CpuAreaRef>
pub fn cpu_area(&self) -> Option<CpuAreaRef>
Returns the stable CPU area while this header is fully bound.
Sourcepub fn cpu_area_base(&self) -> Option<usize>
pub fn cpu_area_base(&self) -> Option<usize>
Returns the raw bound area base used by architecture trap entry.
Sourcepub fn as_non_null(self: Pin<&Self>) -> NonNull<Self>
pub fn as_non_null(self: Pin<&Self>) -> NonNull<Self>
Returns the stable pointer installed in the current-context source.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for ExecutionContextHeader
impl RefUnwindSafe for ExecutionContextHeader
impl Send for ExecutionContextHeader
impl Sync for ExecutionContextHeader
impl Unpin for ExecutionContextHeader
impl UnsafeUnpin for ExecutionContextHeader
impl UnwindSafe for ExecutionContextHeader
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