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
87 lines
2.0 KiB
INI
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
|
|
|