--- /dev/null
+/** @file\r
+ Ovmf info structure passed by Xen\r
+\r
+Copyright (c) 2013, Citrix Systems UK Ltd.<BR>\r
+\r
+This program and the accompanying materials are licensed and made available under\r
+the terms and conditions of the BSD License that accompanies this distribution.\r
+The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php.\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+**/\r
+\r
+#ifndef __XEN_H__\r
+#define __XEN_H__\r
+\r
+#include <PiPei.h>\r
+\r
+// Physical address of OVMF info\r
+#define OVMF_INFO_PHYSICAL_ADDRESS 0x00001000\r
+\r
+// This structure must match the definition on Xen side\r
+#pragma pack(1)\r
+typedef struct {\r
+ CHAR8 Signature[14]; // XenHVMOVMF\0\r
+ UINT8 Length; // Length of this structure\r
+ UINT8 Checksum; // Set such that the sum over bytes 0..length == 0\r
+ //\r
+ // Physical address of an array of TablesCount elements.\r
+ //\r
+ // Each element contains the physical address of a BIOS table.\r
+ //\r
+ EFI_PHYSICAL_ADDRESS Tables;\r
+ UINT32 TablesCount;\r
+ //\r
+ // Physical address of the E820 table, contains E820EntriesCount entries.\r
+ //\r
+ EFI_PHYSICAL_ADDRESS E820;\r
+ UINT32 E820EntriesCount;\r
+} EFI_XEN_OVMF_INFO;\r
+#pragma pack()\r
+\r
+#endif /* __XEN_H__ */\r