Home | History | Annotate | Download | only in PlatformPei
      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