summaryrefslogtreecommitdiffstats
path: root/arch/x86_64/usermode.c
diff options
context:
space:
mode:
authorJon Santmyer <jon@jonsantmyer.com>2025-09-11 14:37:04 -0400
committerJon Santmyer <jon@jonsantmyer.com>2025-09-11 14:37:04 -0400
commit42a2bdaecaee627247689b3f4ff2828fe3c8dc97 (patch)
tree17e59594b1979912401eecb05891234e028e8869 /arch/x86_64/usermode.c
parent7f350e7ee1c2c38e5ac0b6c22c17388f6c78f0b5 (diff)
downloadjove-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.c7
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();
}