diff options
Diffstat (limited to 'src/core/gdt.S')
| -rw-r--r-- | src/core/gdt.S | 22 |
1 files changed, 13 insertions, 9 deletions
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 |
