This adds support for the EFI System Resource Table. This involves reserving the table in Xen and adding a new hypercall so that dom0 can access it.
Changes since v2: - Use the esrt_desc global variable instead of passing it as a function parameter - Add an overflow check for the ESRT size - Create a new memory region for the ESRT to avoid wasting memory - Add hypercall to retrieve the ESRT - Add file local variables used during development - Remove extra consts - Follow the EFI naming convention in struct definitions - Move struct definitions to header file - Fix inverted logic in overflow check - Remove BUILD_BUG_ON()s - Avoid overriding attribute of memory descriptor containing ESRT Changes since v1: - Remove the esrt_status enum - Use EFI types - Fix style nits - Remove an unused overflow check Demi Marie Obenour (4): Grab the EFI System Resource Table and check it Add a dedicated memory region for the ESRT Add a new hypercall to get the ESRT Add emacs file-local variables xen/arch/arm/efi/efi-boot.h | 1 + xen/arch/x86/efi/efi-boot.h | 67 +++++++++++++++++++++++++-------- xen/arch/x86/include/asm/e820.h | 2 +- xen/common/efi/boot.c | 65 ++++++++++++++++++++++++++++++-- xen/common/efi/efi.h | 20 ++++++++++ xen/common/efi/runtime.c | 27 ++++++++++++- xen/include/efi/efiapi.h | 3 ++ xen/include/public/platform.h | 7 ++++ 8 files changed, 172 insertions(+), 20 deletions(-) -- Sincerely, Demi Marie Obenour (she/her/hers) Invisible Things Lab
signature.asc
Description: PGP signature