os/kernel/boot64.s

19 lines
321 B
ArmAsm

.global long_mode_start
.extern kernel_main
.section .text
.code64
long_mode_start:
movw $0, %ax
movw %ax, %ss
movw %ax, %ds
movw %ax, %es
movw %ax, %fs
movw %ax, %gs
/* We should keep the pointer to mb, debug needed */
push %rbx /* Multiboot struct pointer */
mov %rbx, %rdi
call kernel_main
hlt