From 75b78273752b2679507689945300aa326dbfd209 Mon Sep 17 00:00:00 2001
From: Jeremy Soller <jackpot51@gmail.com>
Date: Mon, 7 Feb 2022 20:19:40 -0700
Subject: [PATCH] Load gdt before and after thunk

---
 asm/x86-unknown-none/thunk.asm | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/asm/x86-unknown-none/thunk.asm b/asm/x86-unknown-none/thunk.asm
index 0e47f9d..16a3597 100644
--- a/asm/x86-unknown-none/thunk.asm
+++ b/asm/x86-unknown-none/thunk.asm
@@ -32,6 +32,9 @@ thunk:
     ; save esp
     mov [.esp], esp
 
+    ; load gdt
+    lgdt [gdtr]
+
     ; far jump to protected mode 16-bit
     jmp gdt.pm16_code:.pm16
 
@@ -121,6 +124,9 @@ USE16
     ; save registers
     pushad
 
+    ; load gdt (BIOS sometimes overwrites this)
+    lgdt [gdtr]
+
     ; restore cr0, will enable protected mode
     mov eax, [.cr0]
     mov cr0, eax
-- 
GitLab