• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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