From fc5ddc8764c68ae1a220a1b107375e4a15af89d9 Mon Sep 17 00:00:00 2001
From: Jeremy Soller <jackpot51@gmail.com>
Date: Sat, 10 Sep 2016 18:48:27 -0600
Subject: [PATCH] Reorganize kernel memory mappings

---
 x86_64/startup-x86_64.asm | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/x86_64/startup-x86_64.asm b/x86_64/startup-x86_64.asm
index f5f9bc6..3d9b865 100644
--- a/x86_64/startup-x86_64.asm
+++ b/x86_64/startup-x86_64.asm
@@ -58,9 +58,9 @@ startup_arch:
     rep stosd
 
     xor edi, edi
-    ;Link first PML4 and third to last PML4 to PDP
+    ;Link first PML4 and second to last PML4 to PDP
     mov DWORD [es:edi], 0x71000 | 1 << 1 | 1
-    mov DWORD [es:edi + 509*8], 0x71000 | 1 << 1 | 1
+    mov DWORD [es:edi + 510*8], 0x71000 | 1 << 1 | 1
     add edi, 0x1000
     ;Link last PML4 to PML4
     mov DWORD [es:edi - 8], 0x70000 | 1 << 1 | 1
@@ -120,8 +120,7 @@ long_mode:
     mov rsp, 0x0009F000
 
     ;rust init
-    xor rax, rax
-    mov eax, [kernel_base + 0x18]
+    mov rax, [kernel_base + 0x18]
     jmp rax
 
 long_mode_ap:
-- 
GitLab