eax gets mangled by call halt_multiboot_early. No need for a separate function, really.