Just simple suggestion, i still don't know the reason behind it. So please if isn't ideal, i apologies
My suggestion is since the `grub_main` doesn't return to the low level assembly code, why didn't get used `jmp` instruction instead of `call`. I think in this context jmp is slightly better than call, about 2 cycles faster. While this isn't match, but it will at least resolve some confusion. Other than that the boot process is fine and no issues. Patch diff --git a/grub-core/kern/x86_64/efi/startup.S b/grub-core/kern/x86_64/efi/startup.S index 9357e5c5d..a51b07427 100644 --- a/grub-core/kern/x86_64/efi/startup.S +++ b/grub-core/kern/x86_64/efi/startup.S @@ -31,5 +31,4 @@ _start: movq %rdx, EXT_C(grub_efi_system_table)(%rip) andq $~0xf, %rsp - call EXT_C(grub_main) - /* Doesn't return. */ + jmp EXT_C(grub_main) If there is a reason other than that i mentioned above, then please let me know. Best Regards khaalid cali _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel