From e59104ffb55abe522c82d658f1f285149cca2cb1 Mon Sep 17 00:00:00 2001 From: Loic Guegan Date: Sun, 2 May 2021 14:46:18 +0200 Subject: Debug GDT enable multitasking --- src/core/gdt.S | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'src/core/gdt.S') diff --git a/src/core/gdt.S b/src/core/gdt.S index c32db59..d99145e 100644 --- a/src/core/gdt.S +++ b/src/core/gdt.S @@ -3,31 +3,35 @@ gdt64: gdt64_null: - .long 0 - .long 0 + .word 0xFFF + .word 0x0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 gdt64_cs: .long 0 .byte 0 - .byte 0b10011100 - .byte 0b00100000 + .byte 0b10011010 # Present and non-conforming Readable + .byte 0b00100000 # Long mode .byte 0 gdt64_ds: .long 0 .byte 0 - .byte 0b10010010 + .byte 0b10010010 # Present, writable .word 0 gdt64_cs_user: .long 0 .byte 0 - .byte 0b11111100 - .byte 0b00100000 + .byte 0b11111010 # Present, Privilege 3 and non-conforming Readable + .byte 0b00100000 # Long mode .byte 0 gdt64_ds_user: .long 0 .byte 0 - .byte 0b11110010 + .byte 0b11110010 # Present, Privilege 3 and writable .word 0 - gdt64_tss: + gdt64_tss: # Will be setup in the boucane() function .long 0 .long 0 .long 0 -- cgit v1.2.3