#[repr(C)]pub struct SyscallFrame {Show 14 fields
pub r9: u64,
pub r8: u64,
pub r10: u64,
pub rdx: u64,
pub rsi: u64,
pub rdi: u64,
pub r15: u64,
pub r14: u64,
pub r13: u64,
pub r12: u64,
pub rbx: u64,
pub rbp: u64,
pub r11: u64,
pub rcx: u64,
}Expand description
Saved user register frame from SYSCALL entry.
This struct matches the exact push order in syscall_entry assembly.
After all pushes, RSP points to this layout (lowest address = first field).
The struct is used by fork_process() to capture the live register state
of the parent at the moment of the fork() syscall, so the child gets a
copy of the parent’s actual CPU registers rather than the stale
ThreadContext from process creation time.
Fields§
§r9: u64§r8: u64§r10: u64§rdx: u64§rsi: u64§rdi: u64§r15: u64§r14: u64§r13: u64§r12: u64§rbx: u64§rbp: u64§r11: u64§rcx: u64Trait Implementations§
Source§impl Clone for SyscallFrame
impl Clone for SyscallFrame
Source§fn clone(&self) -> SyscallFrame
fn clone(&self) -> SyscallFrame
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SyscallFrame
impl Debug for SyscallFrame
impl Copy for SyscallFrame
Auto Trait Implementations§
impl Freeze for SyscallFrame
impl RefUnwindSafe for SyscallFrame
impl Send for SyscallFrame
impl Sync for SyscallFrame
impl Unpin for SyscallFrame
impl UnwindSafe for SyscallFrame
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)