diff options
| author | Kimplul <kimi.h.kuparinen@gmail.com> | 2023-06-08 18:43:18 +0300 |
|---|---|---|
| committer | Kimplul <kimi.h.kuparinen@gmail.com> | 2023-06-08 18:43:18 +0300 |
| commit | dd10667c56b943c19436c6540946f9ad0f71d257 (patch) | |
| tree | 407bb9cea33344831c17347183303e8de0200b78 /include | |
| parent | a8540ed5cc382ac71716b9978862e57edf274d77 (diff) | |
| download | kmi-dd10667c56b943c19436c6540946f9ad0f71d257.tar.gz kmi-dd10667c56b943c19436c6540946f9ad0f71d257.zip | |
add fast userspace return to do_ipc
Diffstat (limited to 'include')
| -rw-r--r-- | include/arch/proc.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/include/arch/proc.h b/include/arch/proc.h index 493b168..c9b54db 100644 --- a/include/arch/proc.h +++ b/include/arch/proc.h @@ -113,4 +113,14 @@ void adjust_syscall(struct tcb *t); */ __noreturn void run_init(struct tcb *t, void *fdt); +/** + * Return to userspace fast. + * Doesn't load registers besides arguments. + * Mainly for do_ipc(). + * Note that this skips canary checking, + * but at least do_ipc() uses basically zero stack space + * so I'm not too worried. + */ +__noreturn void ret_userspace_fast(); + #endif /* KMI_ARCH_PROC_H */ |
