diff options
Diffstat (limited to 'usr/umode.c')
-rw-r--r-- | usr/umode.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/usr/umode.c b/usr/umode.c index 4ef5306..1105d9e 100644 --- a/usr/umode.c +++ b/usr/umode.c @@ -24,7 +24,15 @@ umode_setup(void) kpanic("Init file %s is incorrectly formatted (want ELF64)\n", init_path); void *user_stack = (void*)(0x00007FFFFFFFFFFF); - mem_ensure_range((uintptr_t)user_stack & ~0xFFF, (uintptr_t)user_stack, true, true); + mem_ensure_range( + (uintptr_t)user_stack & ~0xFFF, + (uintptr_t)user_stack, + (page_flags_t) { + .present = true, + .writeable = true, + .useraccess = true, + .executable = false + }); klogf("User entry point %#016X\n", entry_point); umode_enter(entry_point, user_stack); |