mbox series

[0/4] x86: Multiboot PE support

Message ID 20240313150439.791213-1-ross.lagerwall@citrix.com (mailing list archive)
Headers show
Series x86: Multiboot PE support | expand

Message

Ross Lagerwall March 13, 2024, 3:04 p.m. UTC
Hi,

This patches series implements support for xen.gz being a gzipped
multiboot-capable PE binary rather than an ELF binary. The purpose of
this is to allow the same xen.gz to be booted using BIOS, UEFI, and UEFI
with Secure Boot verification just like it can be done with a Linux
kernel. It also means that it is possible to enable Secure Boot while
still retaining the flexibility of a full bootloader like GRUB2 - not
currently possible when using xen.efi.

This requires some (backwards-compatible) extensions to the multiboot2
protocol which will be sent in a separate series along with the GRUB
changes which implement the extensions.

Ross

Ross Lagerwall (4):
  multiboot2: Advertise the load type
  x86: Add support for building a multiboot2 PE binary
  x86: Hand-edit coff flags to remove RELOCS_STRIPPED flag
  x86: Call Shim Verify in the multiboot2 path

 .gitignore                        |  1 +
 xen/Makefile                      |  1 +
 xen/arch/x86/Kconfig              |  6 +++
 xen/arch/x86/Makefile             | 50 +++++++++++++++++++
 xen/arch/x86/boot/head.S          | 40 ++++++++++++++-
 xen/arch/x86/efi/efi-boot.h       | 65 +++++++++++++++++++++++-
 xen/arch/x86/efi/set-coff-flags.c | 83 +++++++++++++++++++++++++++++++
 xen/include/xen/multiboot2.h      |  6 +++
 8 files changed, 250 insertions(+), 2 deletions(-)
 create mode 100644 xen/arch/x86/efi/set-coff-flags.c