diff options
author | Jon Santmyer <jon@jonsantmyer.com> | 2025-09-11 14:37:04 -0400 |
---|---|---|
committer | Jon Santmyer <jon@jonsantmyer.com> | 2025-09-11 14:37:04 -0400 |
commit | 42a2bdaecaee627247689b3f4ff2828fe3c8dc97 (patch) | |
tree | 17e59594b1979912401eecb05891234e028e8869 /arch/x86_64/usermode.c | |
parent | 7f350e7ee1c2c38e5ac0b6c22c17388f6c78f0b5 (diff) | |
download | jove-kernel-42a2bdaecaee627247689b3f4ff2828fe3c8dc97.tar.gz jove-kernel-42a2bdaecaee627247689b3f4ff2828fe3c8dc97.tar.bz2 jove-kernel-42a2bdaecaee627247689b3f4ff2828fe3c8dc97.zip |
load init from ELF executable
Diffstat (limited to 'arch/x86_64/usermode.c')
-rw-r--r-- | arch/x86_64/usermode.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/arch/x86_64/usermode.c b/arch/x86_64/usermode.c index 8975993..24a31a1 100644 --- a/arch/x86_64/usermode.c +++ b/arch/x86_64/usermode.c @@ -1,8 +1,7 @@ - +#include "jove.h" __attribute__((noreturn)) -static void -s_enter_usermode(void *ip, void *sp) +void usermode(void *ip, void *sp) { __asm__ volatile("mov %0, %%rsp; \ movq %1, %%rcx; \ @@ -11,5 +10,5 @@ s_enter_usermode(void *ip, void *sp) swapgs; \ sysretq":: "r"(sp), "r"(ip): "memory"); - for(;;); + hcf(); } |