From b5e0d749b86c4f0792b9f8e124b59ffe581e6673 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Lov=C3=A9n?= Date: Fri, 8 Dec 2017 15:55:41 +0100 Subject: [PATCH] Reload cr3 after updating P4 --- src/kernel/boot/boot.S | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/kernel/boot/boot.S b/src/kernel/boot/boot.S index 22b0399..48e84aa 100644 --- a/src/kernel/boot/boot.S +++ b/src/kernel/boot/boot.S @@ -43,7 +43,7 @@ _start: lgdt [V2P(BootGDTp)] //; and update the code selector by a long jump - jmp 0x8:V2P(long_mode_start) +jmp 0x8:V2P(long_mode_start) .code64 long_mode_start: @@ -68,6 +68,9 @@ _start: mov rax, 0 movabs [BootP4], rax + mov rax, cr3 + mov cr3, rax + //; Jump to kmain() .extern kmain movabs rax, offset kmain