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