2 Main header for XenPvBlkDxe
4 Copyright (C) 2014, Citrix Ltd.
6 This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
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.
16 #ifndef __EFI_XEN_PV_BLK_DXE_H__
17 #define __EFI_XEN_PV_BLK_DXE_H__
22 // Xen interface version used
24 #define __XEN_INTERFACE_VERSION__ 0x00040400
25 #define xen_mb() MemoryFence()
26 #define xen_rmb() MemoryFence()
27 #define xen_wmb() MemoryFence()
32 #include <Library/UefiBootServicesTableLib.h>
33 #include <Library/MemoryAllocationLib.h>
34 #include <Library/BaseMemoryLib.h>
35 #include <Library/BaseLib.h>
36 #include <Library/UefiLib.h>
37 #include <Library/DevicePathLib.h>
38 #include <Library/DebugLib.h>
42 // UEFI Driver Model Protocols
44 #include <Protocol/DriverBinding.h>
45 #include <Protocol/ComponentName2.h>
46 #include <Protocol/ComponentName.h>
52 #include <Protocol/XenBus.h>
58 #include <Protocol/BlockIo.h>
64 #define XEN_PV_BLK_DXE_VERSION 0x00000010
70 extern EFI_DRIVER_BINDING_PROTOCOL gXenPvBlkDxeDriverBinding
;
71 extern EFI_COMPONENT_NAME2_PROTOCOL gXenPvBlkDxeComponentName2
;
72 extern EFI_COMPONENT_NAME_PROTOCOL gXenPvBlkDxeComponentName
;
76 // Include files with function prototypes
78 #include "DriverBinding.h"
79 #include "ComponentName.h"