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
[email protected]
https://lists.gnu.org/mailman/listinfo/grub-devel