XenPvBlkDxe.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. /** @file
  2. Main header for XenPvBlkDxe
  3. Copyright (C) 2014, Citrix Ltd.
  4. SPDX-License-Identifier: BSD-2-Clause-Patent
  5. **/
  6. #ifndef __EFI_XEN_PV_BLK_DXE_H__
  7. #define __EFI_XEN_PV_BLK_DXE_H__
  8. #include <Uefi.h>
  9. #define xen_mb() MemoryFence()
  10. #define xen_rmb() MemoryFence()
  11. #define xen_wmb() MemoryFence()
  12. //
  13. // Libraries
  14. //
  15. #include <Library/UefiBootServicesTableLib.h>
  16. #include <Library/MemoryAllocationLib.h>
  17. #include <Library/BaseMemoryLib.h>
  18. #include <Library/BaseLib.h>
  19. #include <Library/UefiLib.h>
  20. #include <Library/DevicePathLib.h>
  21. #include <Library/DebugLib.h>
  22. //
  23. // UEFI Driver Model Protocols
  24. //
  25. #include <Protocol/DriverBinding.h>
  26. #include <Protocol/ComponentName2.h>
  27. #include <Protocol/ComponentName.h>
  28. //
  29. // Consumed Protocols
  30. //
  31. #include <Protocol/XenBus.h>
  32. //
  33. // Produced Protocols
  34. //
  35. #include <Protocol/BlockIo.h>
  36. //
  37. // Driver Version
  38. //
  39. #define XEN_PV_BLK_DXE_VERSION 0x00000010
  40. //
  41. // Protocol instances
  42. //
  43. extern EFI_DRIVER_BINDING_PROTOCOL gXenPvBlkDxeDriverBinding;
  44. extern EFI_COMPONENT_NAME2_PROTOCOL gXenPvBlkDxeComponentName2;
  45. extern EFI_COMPONENT_NAME_PROTOCOL gXenPvBlkDxeComponentName;
  46. //
  47. // Include files with function prototypes
  48. //
  49. #include "DriverBinding.h"
  50. #include "ComponentName.h"
  51. #include "BlockIo.h"
  52. #endif