This is a bus-like on top of XenStore. It will look for advertised ParaVirtualized devices and initialize them by producing XenBus protocol. Change in V4: - Replace the license by the commonly used file header text. - Clean XenBus.h header (remove copyright that does not belong to the file anymore; and rewrite the brief description of the file) - Fix description on the function Change in V3: - Insert to ChildList later, once populated. - Remove XENBUS_XENSTORE_NODE macro. - add comment to XenBusAddDevice and XenBusEnumerateBus about concurrency calls. - Add a description to the introduced member to the protocol. Change in V2: - comment, file header - Fix comment style - Error handling in the main init function - coding style - Fix error path in add device. Origin: FreeBSD 10.0 License: This patch adds XenBus.c which is under the MIT licence. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> Acked-by: Jordan Justen <jordan.l.justen@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16270 6f19259b-4bc3-4df7-8a09-765794883524
90 lines
2.0 KiB
INI
90 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
|
|
XenBus.c
|
|
XenBus.h
|
|
Helpers.c
|
|
|
|
[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
|
|
|