Struct context_switch_sse::ContextSSE
source · #[repr(C, packed(1))]pub struct ContextSSE { /* private fields */ }
Expand description
The registers saved before a context switch and restored after a context switch for SSE-enabled Tasks.
Note: the order of the registers here MUST MATCH the order of
registers popped in the restore_registers_sse!
macro.
Implementations§
source§impl ContextSSE
impl ContextSSE
sourcepub fn new(rip: usize) -> ContextSSE
pub fn new(rip: usize) -> ContextSSE
Creates a new ContextSSE struct that will cause the
SSE-enabled Task containing it to begin its execution at the given rip
.
sourcepub fn set_first_register(&mut self, value: usize)
pub fn set_first_register(&mut self, value: usize)
Sets the value of the first regular (non-SSE) register to the given value
.
This is useful for storing a value (e.g., task ID) in that register
and then recovering it later with read_first_register()
.
On x86_64, this sets the r15
register.
Trait Implementations§
impl FromBytes for ContextSSE
Auto Trait Implementations§
impl RefUnwindSafe for ContextSSE
impl Send for ContextSSE
impl Sync for ContextSSE
impl Unpin for ContextSSE
impl UnwindSafe for ContextSSE
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