28 lines
555 B
ArmAsm
28 lines
555 B
ArmAsm
#GDT
|
|
|
|
gdt_start:
|
|
INITSEG = 0x0050
|
|
INITOFF = 0x0000
|
|
|
|
.section .rodata
|
|
|
|
gdt:
|
|
# Null Descriptor
|
|
.word 0x0000, 0x0000
|
|
.byte 0x00, 0b00000000, 0b00000000, 0x00
|
|
# Code Descriptor
|
|
.word 0xffff, (INITSEG * 0x10 + INITOFF)
|
|
.byte 0x00, 0b10011010, 0b11001111, 0x00
|
|
# Data Descriptor
|
|
.word 0xffff, (INITSEG * 0x10 + INITOFF)
|
|
.byte 0x00, 0b10010010, 0b11001111, 0x00
|
|
gdt_end:
|
|
|
|
gdt32ptr:
|
|
.word (gdt_end - gdt - 1)
|
|
.long (gdt + INITSEG * 0x10 + INITOFF)
|
|
|
|
gdt64ptr:
|
|
.word (gdt_end - gdt - 1)
|
|
.quad (gdt + INITSEG * 0x10 + INITOFF)
|