From 5aef44da0ce752e7ac6bd9c95489942b1a0319ae Mon Sep 17 00:00:00 2001 From: Amlal Date: Tue, 10 Sep 2024 10:33:39 +0200 Subject: Fix: See below. - Fixing PML4 mapping and getting it to work. - Don't update cr4, instead do lidt to triple fault. Signed-off-by: Amlal --- dev/ZBA/Sources/HEL/AMD64/BootAPI.S | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'dev/ZBA/Sources/HEL/AMD64/BootAPI.S') diff --git a/dev/ZBA/Sources/HEL/AMD64/BootAPI.S b/dev/ZBA/Sources/HEL/AMD64/BootAPI.S index 380aeb94..9db0961a 100644 --- a/dev/ZBA/Sources/HEL/AMD64/BootAPI.S +++ b/dev/ZBA/Sources/HEL/AMD64/BootAPI.S @@ -18,15 +18,14 @@ rt_jump_to_address: rt_reset_hardware: /* dont raise any interrupts. (except ofc NMIs.) */ cli + /* remap PIC */ wait_gate1: - /* wait for gate 1 to be ready? */ in al,0x64 and al,2 jnz wait_gate1 mov al,0x0D1 out 0x64,al wait_gate2: - /* wait for gate 2 to be ready? */ in al,0x64 and al,2 jnz wait_gate2 @@ -35,8 +34,9 @@ wait_gate2: /* trigger triple fault, by writing to cr4 */ - xor rax,rax - mov cr4,rax + mov rax, 0 + lidt [rax] + reset_wait: jmp reset_wait -- cgit v1.2.3