Ovmf/Xen: introduce XENIO_PROTOCOL
[mirror_edk2.git] / OvmfPkg / Include / Protocol / XenIo.h
CommitLineData
b2165af4
AB
1/** @file\r
2 XenIo protocol to abstract arch specific details\r
3\r
4 The Xen implementations for the Intel and ARM archictures differ in the way\r
5 the base address of the grant table is communicated to the guest. The former\r
6 uses a virtual PCI device, while the latter uses a device tree node.\r
7 In order to allow the XenBusDxe UEFI driver to be reused for the non-PCI\r
8 Xen implementation, this abstract protocol can be installed on a handle\r
9 with the appropriate base address.\r
10\r
11 Copyright (C) 2014, Linaro Ltd.\r
12\r
13 This program and the accompanying materials\r
14 are licensed and made available under the terms and conditions of the BSD License\r
15 which accompanies this distribution. The full text of the license may be found at\r
16 http://opensource.org/licenses/bsd-license.php\r
17\r
18 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
19 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
20\r
21**/\r
22\r
23#ifndef __PROTOCOL_XENIO_H__\r
24#define __PROTOCOL_XENIO_H__\r
25\r
26#include <IndustryStandard/Xen/xen.h>\r
27\r
28#define XENIO_PROTOCOL_GUID \\r
29 {0x6efac84f, 0x0ab0, 0x4747, {0x81, 0xbe, 0x85, 0x55, 0x62, 0x59, 0x04, 0x49}}\r
30\r
31///\r
32/// Forward declaration\r
33///\r
34typedef struct _XENIO_PROTOCOL XENIO_PROTOCOL;\r
35\r
36///\r
37/// Protocol structure\r
38///\r
39struct _XENIO_PROTOCOL {\r
40 //\r
41 // Protocol data fields\r
42 //\r
43 EFI_PHYSICAL_ADDRESS GrantTableAddress;\r
44};\r
45\r
46extern EFI_GUID gXenIoProtocolGuid;\r
47\r
48#endif\r