This commit adds GDT initialization with proper code/data segments and reloads CS. It also adds the initial IDT structure and loads an empty IDT. Build configuration updated to disable SSE/MMX to prevent compiler generation of unsupported instructions in early boot.
19 lines
262 B
ArmAsm
19 lines
262 B
ArmAsm
.section .text
|
|
.global gdt_flush
|
|
.type gdt_flush, @function
|
|
gdt_flush:
|
|
mov 4(%esp), %eax
|
|
lgdt (%eax)
|
|
|
|
mov $0x10, %ax
|
|
mov %ax, %ds
|
|
mov %ax, %es
|
|
mov %ax, %fs
|
|
mov %ax, %gs
|
|
mov %ax, %ss
|
|
|
|
ljmp $0x08, $flush
|
|
|
|
flush:
|
|
ret
|