aboutsummaryrefslogtreecommitdiff
path: root/include/arch/proc.h
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2023-06-08 18:43:18 +0300
committerKimplul <kimi.h.kuparinen@gmail.com>2023-06-08 18:43:18 +0300
commitdd10667c56b943c19436c6540946f9ad0f71d257 (patch)
tree407bb9cea33344831c17347183303e8de0200b78 /include/arch/proc.h
parenta8540ed5cc382ac71716b9978862e57edf274d77 (diff)
downloadkmi-dd10667c56b943c19436c6540946f9ad0f71d257.tar.gz
kmi-dd10667c56b943c19436c6540946f9ad0f71d257.zip
add fast userspace return to do_ipc
Diffstat (limited to 'include/arch/proc.h')
-rw-r--r--include/arch/proc.h10
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 */