1 /** @file 2 Ovmf info structure passed by Xen 3 4 Copyright (c) 2013, Citrix Systems UK Ltd.<BR> 5 6 This program and the accompanying materials are licensed and made available under 7 the terms and conditions of the BSD License that accompanies this distribution. 8 The full text of the license may be found at 9 http://opensource.org/licenses/bsd-license.php. 10 11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 13 14 **/ 15 16 #ifndef __XEN_H__ 17 #define __XEN_H__ 18 19 #include <PiPei.h> 20 21 // Physical address of OVMF info 22 #define OVMF_INFO_PHYSICAL_ADDRESS 0x00001000 23 24 // This structure must match the definition on Xen side 25 #pragma pack(1) 26 typedef struct { 27 CHAR8 Signature[14]; // XenHVMOVMF\0 28 UINT8 Length; // Length of this structure 29 UINT8 Checksum; // Set such that the sum over bytes 0..length == 0 30 // 31 // Physical address of an array of TablesCount elements. 32 // 33 // Each element contains the physical address of a BIOS table. 34 // 35 EFI_PHYSICAL_ADDRESS Tables; 36 UINT32 TablesCount; 37 // 38 // Physical address of the E820 table, contains E820EntriesCount entries. 39 // 40 EFI_PHYSICAL_ADDRESS E820; 41 UINT32 E820EntriesCount; 42 } EFI_XEN_OVMF_INFO; 43 #pragma pack() 44 45 #endif /* __XEN_H__ */ 46