.global boot64 boot64: lgdt (lgdt_arg) // try reloading gdt again mov $(5 << 3 | 3), %ax // SEG_TSS ltr %ax push %rdi // preserve multiboot struct call sysenter_setup pop %rdi // multiboot struct in %rdi jmp kmain_early