From cb3b62d66520c385270674cca214785a0a9093c7 Mon Sep 17 00:00:00 2001 From: Bananymous Date: Mon, 30 Jan 2023 18:55:57 +0200 Subject: [PATCH] Kernel: Only allocate single GDT entry during boot.S When we need more, we should probably initialize rest of them in cpp code --- kernel/arch/x86_64/boot.S | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/kernel/arch/x86_64/boot.S b/kernel/arch/x86_64/boot.S index c2b6427e..dfef073b 100644 --- a/kernel/arch/x86_64/boot.S +++ b/kernel/arch/x86_64/boot.S @@ -73,11 +73,8 @@ g_multiboot_magic: .skip 8 boot_gdt: - .quad 0 # null descriptor - .quad (GDT_F_G | GDT_F_L ) | (GDT_A_P | (0 * GDT_A_DPL) | GDT_A_S | GDT_A_E | GDT_A_RW) | (0xF << 48 | 0xFFFF) # kernel code - .quad (GDT_F_G | GDT_F_DB ) | (GDT_A_P | (0 * GDT_A_DPL) | GDT_A_S | GDT_A_RW) | (0xF << 48 | 0xFFFF) # kernel data - .quad (GDT_F_G | GDT_F_L ) | (GDT_A_P | (3 * GDT_A_DPL) | GDT_A_S | GDT_A_E | GDT_A_RW) | (0xF << 48 | 0xFFFF) # userspace code - .quad (GDT_F_G | GDT_F_DB ) | (GDT_A_P | (3 * GDT_A_DPL) | GDT_A_S | GDT_A_RW) | (0xF << 48 | 0xFFFF) # userspace data + .quad 0 # null descriptor + .quad (GDT_F_G | GDT_F_L ) | (GDT_A_P | (0 * GDT_A_DPL) | GDT_A_S | GDT_A_E | GDT_A_RW) | (0xF << 48 | 0xFFFF) # kernel code boot_gdtr: .short . - boot_gdt - 1 .quad boot_gdt