Currently xen_hypervisor and xen_module commands are available only for ARM64 EFI. For x86_64 if the Xen format is portable executable there's no way to pass multiple modules (the feature is available using multiboot2 but only for ELF files). So instead on adding new GRUB commands reuse the already available ones. The modules are passed using LoadFile2 already used to pass initrd to Linux kernel. An extension allows to pass also kernel file. To pass command lines uses LoadOptions, EFI code already handles passing Xen and kernel command lines using LoadOptions.
Frediano Ziglio (5): kern/list: Add a grub_list_length function kern/list: Add a grub_list_append function arm64/xen: Allows to use xen_hypervisor and xen_module on x86_64-efi arm64/xen: Use LoadFile2 protocol for Xen boot arm64/xen: Allows to use kernel command line from first module grub-core/Makefile.core.def | 2 + grub-core/kern/list.c | 22 ++++ grub-core/loader/arm64/xen_boot.c | 208 +++++++++++++++++++++++++++++- include/grub/efi/api.h | 5 + include/grub/list.h | 3 + 5 files changed, 239 insertions(+), 1 deletion(-) -- 2.43.0 _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel