35 lines
403 B
ArmAsm
35 lines
403 B
ArmAsm
|
.globl set_gdt
|
||
|
.type set_gdt,%function
|
||
|
|
||
|
gdtr:
|
||
|
.word 0
|
||
|
.int 0
|
||
|
|
||
|
set_gdt:
|
||
|
.fnstart
|
||
|
mov 4(%esp), %eax
|
||
|
mov %eax, 2($gdtr)
|
||
|
mov 8(%esp), %ax
|
||
|
mov %ax, $gdtr
|
||
|
lgdt $gdtr
|
||
|
ret
|
||
|
.fnend
|
||
|
|
||
|
.globl reload_segments
|
||
|
.type reload_segments,%function
|
||
|
|
||
|
reload_segments:
|
||
|
.fnstart
|
||
|
jmp 0x08:reload_CS
|
||
|
.fnend
|
||
|
|
||
|
reload_CS:
|
||
|
mov 0x10, %ax
|
||
|
mov %ax, %ds
|
||
|
mov %ax, %es
|
||
|
mov %ax, %fs
|
||
|
mov %ax, %gs
|
||
|
mov %ax, %ss
|
||
|
ret
|
||
|
|