Call results in a nicer stacktrace. And 2 cycles is nothing in the context
of them being executed only once

Le ven. 4 avr. 2025, 16:45, khaliid caliy <khaliidca...@gmail.com> a écrit :

> 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
>
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to