/** @file | |
Main header for XenPvBlkDxe | |
Copyright (C) 2014, Citrix Ltd. | |
This program and the accompanying materials | |
are licensed and made available under the terms and conditions of the BSD License | |
which accompanies this distribution. The full text of the license may be found at | |
http://opensource.org/licenses/bsd-license.php | |
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, | |
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. | |
**/ | |
#ifndef __EFI_XEN_PV_BLK_DXE_H__ | |
#define __EFI_XEN_PV_BLK_DXE_H__ | |
#include <Uefi.h> | |
// | |
// Xen interface version used | |
// | |
#define __XEN_INTERFACE_VERSION__ 0x00040400 | |
#define xen_mb() MemoryFence() | |
#define xen_rmb() MemoryFence() | |
#define xen_wmb() MemoryFence() | |
// | |
// Libraries | |
// | |
#include <Library/UefiBootServicesTableLib.h> | |
#include <Library/MemoryAllocationLib.h> | |
#include <Library/BaseMemoryLib.h> | |
#include <Library/BaseLib.h> | |
#include <Library/UefiLib.h> | |
#include <Library/DevicePathLib.h> | |
#include <Library/DebugLib.h> | |
// | |
// UEFI Driver Model Protocols | |
// | |
#include <Protocol/DriverBinding.h> | |
#include <Protocol/ComponentName2.h> | |
#include <Protocol/ComponentName.h> | |
// | |
// Consumed Protocols | |
// | |
#include <Protocol/XenBus.h> | |
// | |
// Produced Protocols | |
// | |
#include <Protocol/BlockIo.h> | |
// | |
// Driver Version | |
// | |
#define XEN_PV_BLK_DXE_VERSION 0x00000010 | |
// | |
// Protocol instances | |
// | |
extern EFI_DRIVER_BINDING_PROTOCOL gXenPvBlkDxeDriverBinding; | |
extern EFI_COMPONENT_NAME2_PROTOCOL gXenPvBlkDxeComponentName2; | |
extern EFI_COMPONENT_NAME_PROTOCOL gXenPvBlkDxeComponentName; | |
// | |
// Include files with function prototypes | |
// | |
#include "DriverBinding.h" | |
#include "ComponentName.h" | |
#include "BlockIo.h" | |
#endif |