Files
system76-edk2/OvmfPkg/XenBusDxe/XenBusDxe.inf
Anthony PERARD a9090a94bb OvmfPkg/XenBusDxe: Add XenStore client implementation
XenStore is a key/value database, which is running on another virtual
machine. It can be accessed through shared memory. This is a client
implementation.

Change in V3:
- moving xs_wire.h from patch #1 to this patch
- fix return value of XenStoreListDirectory
- Use a timeout to print a debug message if the other side of the
  xenstore ring does not notify through the event channel.
  This is done with the new XenStoreWaitForEvent function.
- Have XenStoreReadReply check status of XenStoreProcessMessage and
  return an error if needed.
- Have XenStoreTalkv return the status of XenStoreReadReply.
- Have a loop to check for the quiescent of the response ring in the
  XenStoreInitComms function. (with a timeout of 5 seconds)
- use the recently introduced XenStore 'closing' feature.

Change in V2:
- Change comment style, from freebsd to ovmf
- Fix type of EventChannel
- Fix debug print, no more cast
- Implement XenStoreDeinit.
- Clean up comments
- Fix few codding style issue
- Add FAIL xenstore status value.

Origin: FreeBSD 10.0
License: This patch adds several files under the MIT licence.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Acked-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16267 6f19259b-4bc3-4df7-8a09-765794883524
2014-10-29 06:50:50 +00:00

87 lines
2.0 KiB
INI

## @file
# This driver produces a XenBus protocol for every Xen PV devices found.
#
# 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.
#
##
[Defines]
INF_VERSION = 0x00010005
BASE_NAME = XenBusDxe
FILE_GUID = 565ec8ba-a484-11e3-802b-b8ac6f7d65e6
MODULE_TYPE = UEFI_DRIVER
VERSION_STRING = 1.0
ENTRY_POINT = XenBusDxeDriverEntryPoint
UNLOAD_IMAGE = XenBusDxeUnload
[Packages]
MdePkg/MdePkg.dec
OvmfPkg/OvmfPkg.dec
[Sources]
XenBusDxe.h
XenBusDxe.c
DriverBinding.h
ComponentName.c
ComponentName.h
XenHypercall.c
XenHypercall.h
InterlockedCompareExchange16.c
InterlockedCompareExchange16.h
GrantTable.c
GrantTable.h
EventChannel.c
EventChannel.h
XenStore.c
XenStore.h
[Sources.IA32]
Ia32/hypercall.S
Ia32/hypercall.asm
Ia32/InterlockedCompareExchange16.S
Ia32/InterlockedCompareExchange16.asm
Ia32/TestAndClearBit.S
Ia32/TestAndClearBit.asm
[Sources.X64]
X64/hypercall.S
X64/hypercall.asm
X64/InterlockedCompareExchange16.S
X64/InterlockedCompareExchange16.asm
X64/TestAndClearBit.S
X64/TestAndClearBit.asm
[LibraryClasses]
UefiDriverEntryPoint
UefiBootServicesTableLib
MemoryAllocationLib
BaseMemoryLib
BaseLib
UefiLib
DevicePathLib
DebugLib
HobLib
[Protocols]
gEfiDriverBindingProtocolGuid
gEfiPciIoProtocolGuid
gEfiComponentName2ProtocolGuid
gEfiComponentNameProtocolGuid
gXenBusProtocolGuid
[Guids]
gEfiXenInfoGuid