aboutsummaryrefslogtreecommitdiff
path: root/src/core/gdt.S
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/gdt.S')
-rw-r--r--src/core/gdt.S25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/core/gdt.S b/src/core/gdt.S
new file mode 100644
index 0000000..f928b3f
--- /dev/null
+++ b/src/core/gdt.S
@@ -0,0 +1,25 @@
+.code64
+
+gdt64:
+ gdt64_null:
+ .long 0
+ .long 0
+ gdt64_cs:
+ .long 0
+ .byte 0
+ .byte 0b10011100
+ .byte 0b00100000
+ .byte 0
+ gdt64_ds:
+ .long 0
+ .byte 0
+ .byte 0b10010010
+ .word 0
+gdtr:
+ .word . - gdt64 - 1
+ .quad gdt64
+
+.global load_gdt
+load_gdt:
+ lgdt (gdtr)
+ ret