#[repr(C)]pub struct SyscallFrame {Show 20 fields
pub r15: u64,
pub r14: u64,
pub r13: u64,
pub r12: u64,
pub rbp: u64,
pub rbx: u64,
pub r11: u64,
pub r10: u64,
pub r9: u64,
pub r8: u64,
pub rsi: u64,
pub rdi: u64,
pub rdx: u64,
pub rcx: u64,
pub rax: u64,
pub iret_rip: u64,
pub iret_cs: u64,
pub iret_rflags: u64,
pub iret_rsp: u64,
pub iret_ss: u64,
}Expand description
Stack frame passed to the Rust syscall dispatcher.
This matches the push order in syscall_entry (arch/x86_64/syscall.rs).
The struct is laid out in memory from low to high address (RSP grows down,
so first push = highest address, last push = lowest = RSP).
Fields§
§r15: u64§r14: u64§r13: u64§r12: u64§rbp: u64§rbx: u64§r11: u64§r10: u64§r9: u64§r8: u64§rsi: u64§rdi: u64§rdx: u64§rcx: u64§rax: u64§iret_rip: u64§iret_cs: u64§iret_rflags: u64§iret_rsp: u64§iret_ss: u64Auto Trait Implementations§
impl Freeze for SyscallFrame
impl RefUnwindSafe for SyscallFrame
impl Send for SyscallFrame
impl Sync for SyscallFrame
impl Unpin for SyscallFrame
impl UnsafeUnpin for SyscallFrame
impl UnwindSafe for SyscallFrame
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
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