diff options
author | Anthony PERARD <anthony.perard@citrix.com> | 2014-10-29 06:51:42 +0000 |
---|---|---|
committer | jljusten <jljusten@Edk2> | 2014-10-29 06:51:42 +0000 |
commit | de671da8e43c424ebdcf816c45fd06c43ff44aba (patch) | |
tree | 43f88a9f50294abc2c585e869b9bab4a7f6b5705 /OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.h | |
parent | e86895d9e489dafe904622867b197acff6ef4355 (diff) | |
download | edk2-de671da8e43c424ebdcf816c45fd06c43ff44aba.tar.gz |
OvmfPkg/XenPvBlkDxe: Xen PV Block device, initial skeleton
A ParaVirtualize block driver.
Change in V4:
- Replace the license by the commonly used file header text.
- Add brief description for the driver.
Change in V3:
- enable compilation for Ia32 and Ia32X64
- fix version (driver binding)
Change in V2:
- Add minimal support for controller name
- Remove stuff about BlockIo2
- Little cleanup
- Licenses and file headers
- Rename XenbusIo into XenBusIo
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16272 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.h')
-rw-r--r-- | OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.h | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.h b/OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.h new file mode 100644 index 0000000000..47bdcd3bb1 --- /dev/null +++ b/OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.h @@ -0,0 +1,82 @@ +/** @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"
+
+
+#endif
|