]> git.proxmox.com Git - mirror_edk2.git/blame - OvmfPkg/XenBusDxe/XenBusDxe.h
OvmfPkg: Introduce XenBus Protocol.
[mirror_edk2.git] / OvmfPkg / XenBusDxe / XenBusDxe.h
CommitLineData
e65e8802
AP
1/** @file\r
2 Function declaration and internal data for XenBusDxe.\r
3\r
4 Copyright (C) 2014, Citrix Ltd.\r
5\r
6 This program and the accompanying materials\r
7 are licensed and made available under the terms and conditions of the BSD License\r
8 which accompanies this distribution. The full text of the license may be found at\r
9 http://opensource.org/licenses/bsd-license.php\r
10\r
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
13\r
14**/\r
15\r
16#ifndef __EFI_XENBUS_DXE_H__\r
17#define __EFI_XENBUS_DXE_H__\r
18\r
19#include <Uefi.h>\r
20\r
12a16f2d
AP
21//\r
22// Xen interface version used\r
23//\r
24#define __XEN_INTERFACE_VERSION__ 0x00040400\r
25\r
e65e8802
AP
26//\r
27// Libraries\r
28//\r
29#include <Library/UefiBootServicesTableLib.h>\r
30#include <Library/MemoryAllocationLib.h>\r
31#include <Library/BaseMemoryLib.h>\r
32#include <Library/BaseLib.h>\r
33#include <Library/UefiLib.h>\r
34#include <Library/DevicePathLib.h>\r
35#include <Library/DebugLib.h>\r
36\r
37\r
38//\r
39// UEFI Driver Model Protocols\r
40//\r
41#include <Protocol/DriverBinding.h>\r
42\r
43\r
44//\r
45// Consumed Protocols\r
46//\r
47#include <Protocol/PciIo.h>\r
48\r
49\r
50//\r
51// Produced Protocols\r
52//\r
12a16f2d 53#include <Protocol/XenBus.h>\r
e65e8802
AP
54\r
55\r
56//\r
57// Driver Version\r
58//\r
59#define XENBUS_DXE_VERSION 0x00000010\r
60\r
61\r
62//\r
63// Protocol instances\r
64//\r
65extern EFI_DRIVER_BINDING_PROTOCOL gXenBusDxeDriverBinding;\r
66extern EFI_COMPONENT_NAME2_PROTOCOL gXenBusDxeComponentName2;\r
67extern EFI_COMPONENT_NAME_PROTOCOL gXenBusDxeComponentName;\r
68\r
69\r
70//\r
71// Include files with function prototypes\r
72//\r
73#include "DriverBinding.h"\r
74#include "ComponentName.h"\r
75\r
76//\r
77// Other stuff\r
78//\r
abcbbb14
AP
79#include <IndustryStandard/Xen/xen.h>\r
80\r
e65e8802
AP
81#define PCI_VENDOR_ID_XEN 0x5853\r
82#define PCI_DEVICE_ID_XEN_PLATFORM 0x0001\r
83\r
84\r
a154f420
AP
85typedef struct _XENBUS_DEVICE XENBUS_DEVICE;\r
86\r
87// Have the state of the driver.\r
88#define XENBUS_DEVICE_SIGNATURE SIGNATURE_32 ('X','B','s','t')\r
89struct _XENBUS_DEVICE {\r
90 UINT32 Signature;\r
91 EFI_DRIVER_BINDING_PROTOCOL *This;\r
92 EFI_HANDLE ControllerHandle;\r
956622c4 93 EFI_PCI_IO_PROTOCOL *PciIo;\r
a154f420 94 EFI_EVENT ExitBootEvent;\r
abcbbb14
AP
95\r
96 VOID *Hyperpage;\r
97 shared_info_t *SharedInfo;\r
a154f420
AP
98};\r
99\r
e65e8802 100#endif\r