Xen.h 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. /** @file
  2. Ovmf info structure passed by Xen
  3. Copyright (c) 2013, Citrix Systems UK Ltd.<BR>
  4. SPDX-License-Identifier: BSD-2-Clause-Patent
  5. **/
  6. #ifndef __XEN_H__
  7. #define __XEN_H__
  8. #include <PiPei.h>
  9. // Physical address of OVMF info
  10. #define OVMF_INFO_PHYSICAL_ADDRESS 0x00001000
  11. // This structure must match the definition on Xen side
  12. #pragma pack(1)
  13. typedef struct {
  14. CHAR8 Signature[14]; // XenHVMOVMF\0
  15. UINT8 Length; // Length of this structure
  16. UINT8 Checksum; // Set such that the sum over bytes 0..length == 0
  17. //
  18. // Physical address of an array of TablesCount elements.
  19. //
  20. // Each element contains the physical address of a BIOS table.
  21. //
  22. EFI_PHYSICAL_ADDRESS Tables;
  23. UINT32 TablesCount;
  24. //
  25. // Physical address of the E820 table, contains E820EntriesCount entries.
  26. //
  27. EFI_PHYSICAL_ADDRESS E820;
  28. UINT32 E820EntriesCount;
  29. } EFI_XEN_OVMF_INFO;
  30. #pragma pack()
  31. #endif /* __XEN_H__ */