]> git.proxmox.com Git - mirror_edk2.git/blame - OvmfPkg/XenBusDxe/XenBusDxe.h
OvmfPkg/XenBusDxe: Add device state struct and create an ExitBoot services event.
[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
21//\r
22// Libraries\r
23//\r
24#include <Library/UefiBootServicesTableLib.h>\r
25#include <Library/MemoryAllocationLib.h>\r
26#include <Library/BaseMemoryLib.h>\r
27#include <Library/BaseLib.h>\r
28#include <Library/UefiLib.h>\r
29#include <Library/DevicePathLib.h>\r
30#include <Library/DebugLib.h>\r
31\r
32\r
33//\r
34// UEFI Driver Model Protocols\r
35//\r
36#include <Protocol/DriverBinding.h>\r
37\r
38\r
39//\r
40// Consumed Protocols\r
41//\r
42#include <Protocol/PciIo.h>\r
43\r
44\r
45//\r
46// Produced Protocols\r
47//\r
48\r
49\r
50//\r
51// Driver Version\r
52//\r
53#define XENBUS_DXE_VERSION 0x00000010\r
54\r
55\r
56//\r
57// Protocol instances\r
58//\r
59extern EFI_DRIVER_BINDING_PROTOCOL gXenBusDxeDriverBinding;\r
60extern EFI_COMPONENT_NAME2_PROTOCOL gXenBusDxeComponentName2;\r
61extern EFI_COMPONENT_NAME_PROTOCOL gXenBusDxeComponentName;\r
62\r
63\r
64//\r
65// Include files with function prototypes\r
66//\r
67#include "DriverBinding.h"\r
68#include "ComponentName.h"\r
69\r
70//\r
71// Other stuff\r
72//\r
73#define PCI_VENDOR_ID_XEN 0x5853\r
74#define PCI_DEVICE_ID_XEN_PLATFORM 0x0001\r
75\r
76\r
a154f420
AP
77typedef struct _XENBUS_DEVICE XENBUS_DEVICE;\r
78\r
79// Have the state of the driver.\r
80#define XENBUS_DEVICE_SIGNATURE SIGNATURE_32 ('X','B','s','t')\r
81struct _XENBUS_DEVICE {\r
82 UINT32 Signature;\r
83 EFI_DRIVER_BINDING_PROTOCOL *This;\r
84 EFI_HANDLE ControllerHandle;\r
85 EFI_EVENT ExitBootEvent;\r
86};\r
87\r
e65e8802 88#endif\r