-
Notifications
You must be signed in to change notification settings - Fork 133
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add wrapper mechanism around syscall / sysret #244
Comments
The So you probably need a custom assembly entry point for system calls. To make this easier, you can require in your OS that some/all registers can be overwritten on system calls so that the userspace application has to take care of saving/restoring them. This is possible because system calls are initiated by the userspace application, unlike hardware interrupts and exceptions. Then the assembly entry point can be just a thin |
@phil-opp is correct here. In general, it's not very ergonomic to use interrupts for system calls (as it requires dealing with the indeterminate order the registers are pushed/popped from the stack). The easier way is to just use the This crate provides support for setting up the @MarcoCicognani, would Rust wrappers around the |
Hi @josephlr! |
InterruptStackFrame
's Pushed Registers
Hi!
How i can easily access the pushed registers from an
InterruptStackFrame
instance?I need this to read/write the saved values, for example, for system calls arguments
The text was updated successfully, but these errors were encountered: