#[repr(C, align(64))]pub struct N3MinimalContext {}Expand description
Minimal CPU context saved/restored during N3 migration.
Layout is #[repr(C, align(64))] to match the ASM primitive offsets.
No FPU/AVX state : handled separately per FPU policy.
Total size: 96 bytes (fields) + 32 bytes (padding) = 128 bytes.
Fields§
§r15: u64Callee-saved GPRs (System V AMD64 ABI).
r14: u64§r13: u64§r12: u64§rbp: u64§rbx: u64§rdx: u64§rax: u64§rflags: u64Processor flags.
rsp: u64Stack pointer.
rip: u64Instruction pointer (handler entry or return address).
cr3_pcid: u64CR3 value with PCID bits for N3b, or 0 for N3c.
_pad: [u8; 32]Explicit padding to reach 128 bytes (align(64) requires this). Prevents implicit compiler padding and ensures deterministic layout for the ASM primitive.
Implementations§
Trait Implementations§
Source§impl Clone for N3MinimalContext
impl Clone for N3MinimalContext
Source§fn clone(&self) -> N3MinimalContext
fn clone(&self) -> N3MinimalContext
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 moreimpl Copy for N3MinimalContext
Auto Trait Implementations§
impl Freeze for N3MinimalContext
impl RefUnwindSafe for N3MinimalContext
impl Send for N3MinimalContext
impl Sync for N3MinimalContext
impl Unpin for N3MinimalContext
impl UnsafeUnpin for N3MinimalContext
impl UnwindSafe for N3MinimalContext
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more