summaryrefslogtreecommitdiff
path: root/boot/GDT.asm
diff options
context:
space:
mode:
Diffstat (limited to 'boot/GDT.asm')
-rw-r--r--boot/GDT.asm26
1 files changed, 25 insertions, 1 deletions
diff --git a/boot/GDT.asm b/boot/GDT.asm
index df76210..cc33c45 100644
--- a/boot/GDT.asm
+++ b/boot/GDT.asm
@@ -24,7 +24,7 @@ gdt_code:
; flags:
; present: 1 / privilege: 00 / type: 1
; code: 1 / conforming: 0 / readable: 1 / accessed: 0
- ; granularity: 1 / 32-bit default: 1 / 64-bit seg: 0 / AVL: 0
+ ; granularity: 1 / 16-bit default: 1 / 64-bit seg: 0 / AVL: 0
dw 0xffff ;limit
dw 0x0 ;base
db 0x0 ;base
@@ -39,6 +39,28 @@ gdt_data:
dw 0x0
db 0x0
db 10010010b
+ db 10001111b
+ db 0x0
+
+gdt16_code:
+ ; flags:
+ ; present: 1 / privilege: 00 / type: 1
+ ; code: 1 / conforming: 0 / readable: 1 / accessed: 0
+ ; granularity: 1 / 16-bit default: 1 / 64-bit seg: 0 / AVL: 0
+ dw 0xffff ;limit
+ dw 0x0 ;base
+ db 0x0 ;base
+ db 10011010b ;flags
+ db 10001111b ;flags & seg.limit
+ db 0x0 ;base
+
+gdt16_data:
+ ; flags:
+ ; code: 0 / expand down: 0 / writable: 1 / accessed: 0
+ dw 0xffff
+ dw 0x0
+ db 0x0
+ db 10010010b
db 11001111b
db 0x0
@@ -50,3 +72,5 @@ gdt_descriptor:
CODE_SEG equ gdt_code - gdt_start
DATA_SEG equ gdt_data - gdt_start
+CODE16_SEG equ gdt16_code - gdt_start
+DATA16_SEG equ gdt16_data - gdt_start