#[repr(C)]pub struct TrapFrame {Show 22 fields
pub rax: u64,
pub rcx: u64,
pub rdx: u64,
pub rbx: u64,
pub rbp: u64,
pub rsi: u64,
pub rdi: u64,
pub r8: u64,
pub r9: u64,
pub r10: u64,
pub r11: u64,
pub r12: u64,
pub r13: u64,
pub r14: u64,
pub r15: u64,
pub vector: u64,
pub error_code: u64,
pub rip: u64,
pub cs: u64,
pub rflags: u64,
pub rsp: u64,
pub ss: u64,
}
Expand description
Saved registers when a trap (interrupt or exception) occurs.
Fields§
§rax: u64
§rcx: u64
§rdx: u64
§rbx: u64
§rbp: u64
§rsi: u64
§rdi: u64
§r8: u64
§r9: u64
§r10: u64
§r11: u64
§r12: u64
§r13: u64
§r14: u64
§r15: u64
§vector: u64
§error_code: u64
§rip: u64
§cs: u64
§rflags: u64
§rsp: u64
§ss: u64
Implementations§
source§impl TrapFrame
impl TrapFrame
sourcepub fn set_user_sp(&mut self, user_sp: usize)
pub fn set_user_sp(&mut self, user_sp: usize)
To set the stack pointer
sourcepub fn app_init_context(app_entry: usize, user_sp: usize) -> Self
pub fn app_init_context(app_entry: usize, user_sp: usize) -> Self
用于第一次进入应用程序时的初始化
sourcepub fn set_ret_code(&mut self, ret_value: usize)
pub fn set_ret_code(&mut self, ret_value: usize)
set the return code
sourcepub fn get_ret_code(&self) -> usize
pub fn get_ret_code(&self) -> usize
获取 ret
sourcepub fn get_syscall_args(&self) -> [usize; 6]
pub fn get_syscall_args(&self) -> [usize; 6]
获取所有 syscall 参数
sourcepub fn get_syscall_num(&self) -> usize
pub fn get_syscall_num(&self) -> usize
获取 syscall id
Trait Implementations§
impl Copy for TrapFrame
Auto Trait Implementations§
impl RefUnwindSafe for TrapFrame
impl Send for TrapFrame
impl Sync for TrapFrame
impl Unpin for TrapFrame
impl UnwindSafe for TrapFrame
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