diff --git a/x86_64/startup-x86_64.asm b/x86_64/startup-x86_64.asm
index 9cb683b520856b3bbb10dd74993b70b561159b38..48d7980f2efe1de3f52f272e55297c01f1f4074f 100644
--- a/x86_64/startup-x86_64.asm
+++ b/x86_64/startup-x86_64.asm
@@ -122,10 +122,11 @@ long_mode:
     mov gs, rax
     mov ss, rax
 
-    mov rsp, 0x0009F000
+    mov rsp, 0xFFFFFF000009F000
 
     ;rust init
     mov rax, [kernel_base + 0x18]
+    xchg bx, bx
     jmp rax
 
 long_mode_ap: