• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /** @file
2   Main header for XenPvBlkDxe
3 
4   Copyright (C) 2014, Citrix Ltd.
5 
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
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 __EFI_XEN_PV_BLK_DXE_H__
17 #define __EFI_XEN_PV_BLK_DXE_H__
18 
19 #include <Uefi.h>
20 
21 #define xen_mb() MemoryFence()
22 #define xen_rmb() MemoryFence()
23 #define xen_wmb() MemoryFence()
24 
25 //
26 // Libraries
27 //
28 #include <Library/UefiBootServicesTableLib.h>
29 #include <Library/MemoryAllocationLib.h>
30 #include <Library/BaseMemoryLib.h>
31 #include <Library/BaseLib.h>
32 #include <Library/UefiLib.h>
33 #include <Library/DevicePathLib.h>
34 #include <Library/DebugLib.h>
35 
36 
37 //
38 // UEFI Driver Model Protocols
39 //
40 #include <Protocol/DriverBinding.h>
41 #include <Protocol/ComponentName2.h>
42 #include <Protocol/ComponentName.h>
43 
44 
45 //
46 // Consumed Protocols
47 //
48 #include <Protocol/XenBus.h>
49 
50 
51 //
52 // Produced Protocols
53 //
54 #include <Protocol/BlockIo.h>
55 
56 
57 //
58 // Driver Version
59 //
60 #define XEN_PV_BLK_DXE_VERSION  0x00000010
61 
62 
63 //
64 // Protocol instances
65 //
66 extern EFI_DRIVER_BINDING_PROTOCOL  gXenPvBlkDxeDriverBinding;
67 extern EFI_COMPONENT_NAME2_PROTOCOL  gXenPvBlkDxeComponentName2;
68 extern EFI_COMPONENT_NAME_PROTOCOL  gXenPvBlkDxeComponentName;
69 
70 
71 //
72 // Include files with function prototypes
73 //
74 #include "DriverBinding.h"
75 #include "ComponentName.h"
76 #include "BlockIo.h"
77 
78 
79 #endif
80