Switch the x86_64-efi build to the generic EFI loader, which enters the Linux kernel via the EFI stub and provides the initrd via the LoadFile2 protocol. This unifies x86_64 with other EFI architectures, and removes the dependency on the setup header and struct bootparams.
Do some preparatory cleanup first, so we no longer need to rely on the MS to SysV calling convention translation code. Ard Biesheuvel (5): efi: Make EFI PXE protocol methods non-callable efi: Add calling convention annotation to all prototypes efi: Drop all uses of efi_call_XX wrappers efi: Remove x86_64 call wrappers efi: Use generic EFI loader for x86_64 grub-core/Makefile.core.def | 7 +- grub-core/commands/acpi.c | 8 +- grub-core/commands/efi/efitextmode.c | 8 +- grub-core/commands/efi/lsefi.c | 5 +- grub-core/commands/efi/tpm.c | 21 +- grub-core/disk/efi/efidisk.c | 7 +- grub-core/kern/arm/efi/init.c | 12 +- grub-core/kern/efi/efi.c | 56 +- grub-core/kern/efi/init.c | 15 +- grub-core/kern/efi/mm.c | 19 +- grub-core/kern/i386/efi/tsc.c | 2 +- grub-core/kern/ia64/efi/init.c | 15 +- grub-core/kern/x86_64/efi/callwrap.S | 129 ---- grub-core/lib/efi/datetime.c | 9 +- grub-core/lib/efi/halt.c | 4 +- grub-core/lib/efi/relocator.c | 6 +- grub-core/loader/efi/appleloader.c | 8 +- grub-core/loader/efi/chainloader.c | 20 +- grub-core/loader/efi/linux.c | 12 + grub-core/mmap/efi/mmap.c | 16 +- grub-core/net/drivers/efi/efinet.c | 26 +- grub-core/term/efi/console.c | 29 +- grub-core/term/efi/serial.c | 18 +- grub-core/video/efi_gop.c | 18 +- grub-core/video/efi_uga.c | 8 +- include/grub/efi/api.h | 666 +++++++++----------- include/grub/efi/efi.h | 2 + include/grub/efi/tpm.h | 149 +++-- 28 files changed, 562 insertions(+), 733 deletions(-) delete mode 100644 grub-core/kern/x86_64/efi/callwrap.S -- 2.39.2 _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel