blob: 2a8a32be6b9cb8a675f66318fb3ba42fa3e876ac [file] [log] [blame]
Vishal Bhoj82c80712015-12-15 21:13:33 +05301/** @file
2 Ovmf info structure passed by Xen
3
4Copyright (c) 2013, Citrix Systems UK Ltd.<BR>
5
6This program and the accompanying materials are licensed and made available under
7the terms and conditions of the BSD License that accompanies this distribution.
8The full text of the license may be found at
9http://opensource.org/licenses/bsd-license.php.
10
11THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12WITHOUT 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)
26typedef 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__ */