#define EFI_XEN_INFO_GUID \\r
{ 0xd3b46f3b, 0xd441, 0x1244, {0x9a, 0x12, 0x0, 0x12, 0x27, 0x3f, 0xc1, 0x4d } }\r
\r
+#pragma pack(1)\r
+typedef struct {\r
+ CHAR8 Signature[11]; /* XenHVMOVMF\0 */\r
+ CHAR8 Padding[3];\r
+ UINT8 Length; /* Length of this struct */\r
+ UINT8 Checksum; /* Set such that the sum over bytes 0..length == 0 */\r
+ /*\r
+ * Physical address of an array of tables_nr elements.\r
+ *\r
+ * Each element is a 32 bit value contianing the physical address\r
+ * of a BIOS table.\r
+ */\r
+ UINT32 Tables;\r
+ UINT32 TablesNr;\r
+ /*\r
+ * Physical address of the e820 table, contains e820_nr entries.\r
+ */\r
+ UINT32 E820;\r
+ UINT32 E820Nr;\r
+} EFI_XEN_OVMF_INFO;\r
+#pragma pack()\r
+\r
typedef struct {\r
///\r
/// Beginning of the hypercall page.\r
/// Hypervisor minor version.\r
///\r
UINT16 VersionMinor;\r
+ ///\r
+ /// E820 map\r
+ ///\r
+ VOID *E820;\r
+ UINT16 E820EntryCount;\r
} EFI_XEN_INFO;\r
\r
extern EFI_GUID gEfiXenInfoGuid;\r