diff --git a/common/setup.c b/common/setup.c index 94b9fd62..7eaa7b63 100644 --- a/common/setup.c +++ b/common/setup.c @@ -300,7 +300,7 @@ void __noreturn __text_init kernel_start(uint32_t multiboot_magic, init_keyboard(get_bsp_cpu_id()); /* Jump from .text.init section to .text */ - asm volatile("push %0; ret" ::"r"(&kernel_main)); + asm volatile("jmp kernel_main"); UNREACHABLE(); }