| /** @file | |
| Ovmf info structure passed by Xen | |
| Copyright (c) 2013, Citrix Systems UK Ltd.<BR> | |
| SPDX-License-Identifier: BSD-2-Clause-Patent | |
| **/ | |
| #ifndef __XEN_H__ | |
| #define __XEN_H__ | |
| #include <PiPei.h> | |
| // Physical address of OVMF info | |
| #define OVMF_INFO_PHYSICAL_ADDRESS 0x00001000 | |
| // This structure must match the definition on Xen side | |
| #pragma pack(1) | |
| typedef struct { | |
| CHAR8 Signature[14]; // XenHVMOVMF\0 | |
| UINT8 Length; // Length of this structure | |
| UINT8 Checksum; // Set such that the sum over bytes 0..length == 0 | |
| // | |
| // Physical address of an array of TablesCount elements. | |
| // | |
| // Each element contains the physical address of a BIOS table. | |
| // | |
| EFI_PHYSICAL_ADDRESS Tables; | |
| UINT32 TablesCount; | |
| // | |
| // Physical address of the E820 table, contains E820EntriesCount entries. | |
| // | |
| EFI_PHYSICAL_ADDRESS E820; | |
| UINT32 E820EntriesCount; | |
| } EFI_XEN_OVMF_INFO; | |
| #pragma pack() | |
| #endif /* __XEN_H__ */ |