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

Attachment: signature.asc
Description: PGP signature

Reply via email to