[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v2 00/18] Introducing Xen PV block driver to OVMF
Hi all, This patch series is implementing the necessary in order to access a PV block device. For that, one need a XenStore client, a XenBus client, and the PV block driver. There are two new drivers, XenbusDxe and XenPvBlkDxe. The first one implement a bus drivers, and the second is a block drivers. The GUID for the drivers XenBusDxe and XenPvBlkDxe and for the protocol XenBus have been genereted using the UefiDriverWizard. There are quite a lot of changes by patches since this series first hit the mailing-list, all changes are listed in every patches, after a '---' line. Anthony PERARD (18): OvmfPkg: Add public headers from Xen Project. OvmfPkg: Add basic skeleton for the XenBus bus driver. OvmfPkg/XenBusDxe: Add device state struct and create an ExitBoot services event. OvmfPkg/XenBusDxe: Add support to make Xen Hypercalls. OvmfPkg/XenBusDxe: Open PciIo protocol. OvmfPkg: Introduce XenBus Protocol. OvmfPkg/XenBusDxe: Add InterlockedCompareExchange16. OvmfPkg/XenBusDxe: Add Grant Table functions. OvmfPkg/XenBusDxe: Add Event Channel Notify. OvmfPkg/XenBusDxe: Add TestAndClearBit. OvmfPkg/XenBusDxe: Add XenStore client implementation OvmfPkg/XenBusDxe: Add an helper AsciiStrDup. OvmfPkg/XenBusDxe: Add XenStore function into the XenBus protocol OvmfPkg/XenBusDxe: Indroduce XenBus support itself. OvmfPkg/XenBusDxe: Add Event Channel into XenBus protocol. OvmfPkg/XenPvBlkDxe: Xen PV Block device, initial skeleton OvmfPkg/XenPvBlkDxe: Add BlockFront client. OvmfPkg/XenPvBlkDxe: Add BlockIo. .../IndustryStandard/Xen/arch-x86/xen-x86_32.h | 171 +++ .../IndustryStandard/Xen/arch-x86/xen-x86_64.h | 202 +++ .../Include/IndustryStandard/Xen/arch-x86/xen.h | 273 ++++ .../Include/IndustryStandard/Xen/event_channel.h | 381 +++++ OvmfPkg/Include/IndustryStandard/Xen/grant_table.h | 662 +++++++++ OvmfPkg/Include/IndustryStandard/Xen/hvm/hvm_op.h | 275 ++++ OvmfPkg/Include/IndustryStandard/Xen/hvm/params.h | 150 ++ OvmfPkg/Include/IndustryStandard/Xen/io/blkif.h | 608 ++++++++ .../Include/IndustryStandard/Xen/io/protocols.h | 40 + OvmfPkg/Include/IndustryStandard/Xen/io/ring.h | 312 +++++ OvmfPkg/Include/IndustryStandard/Xen/io/xenbus.h | 80 ++ OvmfPkg/Include/IndustryStandard/Xen/io/xs_wire.h | 138 ++ OvmfPkg/Include/IndustryStandard/Xen/memory.h | 480 +++++++ OvmfPkg/Include/IndustryStandard/Xen/sched.h | 174 +++ OvmfPkg/Include/IndustryStandard/Xen/trace.h | 310 ++++ OvmfPkg/Include/IndustryStandard/Xen/xen-compat.h | 44 + OvmfPkg/Include/IndustryStandard/Xen/xen.h | 897 ++++++++++++ OvmfPkg/Include/Protocol/XenBus.h | 254 ++++ OvmfPkg/OvmfPkg.dec | 1 + OvmfPkg/OvmfPkgX64.dsc | 2 + OvmfPkg/OvmfPkgX64.fdf | 2 + OvmfPkg/XenBusDxe/ComponentName.c | 190 +++ OvmfPkg/XenBusDxe/ComponentName.h | 110 ++ OvmfPkg/XenBusDxe/DriverBinding.h | 144 ++ OvmfPkg/XenBusDxe/EventChannel.c | 104 ++ OvmfPkg/XenBusDxe/EventChannel.h | 98 ++ OvmfPkg/XenBusDxe/GrantTable.c | 217 +++ OvmfPkg/XenBusDxe/GrantTable.h | 68 + OvmfPkg/XenBusDxe/Helpers.c | 9 + OvmfPkg/XenBusDxe/InterlockedCompareExchange16.h | 15 + .../XenBusDxe/InterlockedCompareExchange16Intel.c | 32 + .../XenBusDxe/X64/InterlockedCompareExchange16.asm | 41 + .../XenBusDxe/X64/InterlockedCompareExchange16.c | 41 + OvmfPkg/XenBusDxe/X64/TestAndClearBit.S | 13 + OvmfPkg/XenBusDxe/X64/TestAndClearBit.asm | 16 + OvmfPkg/XenBusDxe/X64/hypercall.S | 23 + OvmfPkg/XenBusDxe/X64/hypercall.asm | 27 + OvmfPkg/XenBusDxe/XenBus.c | 371 +++++ OvmfPkg/XenBusDxe/XenBus.h | 67 + OvmfPkg/XenBusDxe/XenBusDxe.c | 482 +++++++ OvmfPkg/XenBusDxe/XenBusDxe.h | 159 +++ OvmfPkg/XenBusDxe/XenBusDxe.inf | 78 ++ OvmfPkg/XenBusDxe/XenHypercall.c | 134 ++ OvmfPkg/XenBusDxe/XenHypercall.h | 100 ++ OvmfPkg/XenBusDxe/XenStore.c | 1480 ++++++++++++++++++++ OvmfPkg/XenBusDxe/XenStore.h | 379 +++++ OvmfPkg/XenPvBlkDxe/BlockFront.c | 624 +++++++++ OvmfPkg/XenPvBlkDxe/BlockFront.h | 87 ++ OvmfPkg/XenPvBlkDxe/BlockIo.c | 292 ++++ OvmfPkg/XenPvBlkDxe/BlockIo.h | 124 ++ OvmfPkg/XenPvBlkDxe/ComponentName.c | 192 +++ OvmfPkg/XenPvBlkDxe/ComponentName.h | 110 ++ OvmfPkg/XenPvBlkDxe/DriverBinding.h | 159 +++ OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.c | 413 ++++++ OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.h | 99 ++ OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.inf | 80 ++ 56 files changed, 12034 insertions(+) create mode 100644 OvmfPkg/Include/IndustryStandard/Xen/arch-x86/xen-x86_32.h create mode 100644 OvmfPkg/Include/IndustryStandard/Xen/arch-x86/xen-x86_64.h create mode 100644 OvmfPkg/Include/IndustryStandard/Xen/arch-x86/xen.h create mode 100644 OvmfPkg/Include/IndustryStandard/Xen/event_channel.h create mode 100644 OvmfPkg/Include/IndustryStandard/Xen/grant_table.h create mode 100644 OvmfPkg/Include/IndustryStandard/Xen/hvm/hvm_op.h create mode 100644 OvmfPkg/Include/IndustryStandard/Xen/hvm/params.h create mode 100644 OvmfPkg/Include/IndustryStandard/Xen/io/blkif.h create mode 100644 OvmfPkg/Include/IndustryStandard/Xen/io/protocols.h create mode 100644 OvmfPkg/Include/IndustryStandard/Xen/io/ring.h create mode 100644 OvmfPkg/Include/IndustryStandard/Xen/io/xenbus.h create mode 100644 OvmfPkg/Include/IndustryStandard/Xen/io/xs_wire.h create mode 100644 OvmfPkg/Include/IndustryStandard/Xen/memory.h create mode 100644 OvmfPkg/Include/IndustryStandard/Xen/sched.h create mode 100644 OvmfPkg/Include/IndustryStandard/Xen/trace.h create mode 100644 OvmfPkg/Include/IndustryStandard/Xen/xen-compat.h create mode 100644 OvmfPkg/Include/IndustryStandard/Xen/xen.h create mode 100644 OvmfPkg/Include/Protocol/XenBus.h create mode 100644 OvmfPkg/XenBusDxe/ComponentName.c create mode 100644 OvmfPkg/XenBusDxe/ComponentName.h create mode 100644 OvmfPkg/XenBusDxe/DriverBinding.h create mode 100644 OvmfPkg/XenBusDxe/EventChannel.c create mode 100644 OvmfPkg/XenBusDxe/EventChannel.h create mode 100644 OvmfPkg/XenBusDxe/GrantTable.c create mode 100644 OvmfPkg/XenBusDxe/GrantTable.h create mode 100644 OvmfPkg/XenBusDxe/Helpers.c create mode 100644 OvmfPkg/XenBusDxe/InterlockedCompareExchange16.h create mode 100644 OvmfPkg/XenBusDxe/InterlockedCompareExchange16Intel.c create mode 100644 OvmfPkg/XenBusDxe/X64/InterlockedCompareExchange16.asm create mode 100644 OvmfPkg/XenBusDxe/X64/InterlockedCompareExchange16.c create mode 100644 OvmfPkg/XenBusDxe/X64/TestAndClearBit.S create mode 100644 OvmfPkg/XenBusDxe/X64/TestAndClearBit.asm create mode 100644 OvmfPkg/XenBusDxe/X64/hypercall.S create mode 100644 OvmfPkg/XenBusDxe/X64/hypercall.asm create mode 100644 OvmfPkg/XenBusDxe/XenBus.c create mode 100644 OvmfPkg/XenBusDxe/XenBus.h create mode 100644 OvmfPkg/XenBusDxe/XenBusDxe.c create mode 100644 OvmfPkg/XenBusDxe/XenBusDxe.h create mode 100644 OvmfPkg/XenBusDxe/XenBusDxe.inf create mode 100644 OvmfPkg/XenBusDxe/XenHypercall.c create mode 100644 OvmfPkg/XenBusDxe/XenHypercall.h create mode 100644 OvmfPkg/XenBusDxe/XenStore.c create mode 100644 OvmfPkg/XenBusDxe/XenStore.h create mode 100644 OvmfPkg/XenPvBlkDxe/BlockFront.c create mode 100644 OvmfPkg/XenPvBlkDxe/BlockFront.h create mode 100644 OvmfPkg/XenPvBlkDxe/BlockIo.c create mode 100644 OvmfPkg/XenPvBlkDxe/BlockIo.h create mode 100644 OvmfPkg/XenPvBlkDxe/ComponentName.c create mode 100644 OvmfPkg/XenPvBlkDxe/ComponentName.h create mode 100644 OvmfPkg/XenPvBlkDxe/DriverBinding.h create mode 100644 OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.c create mode 100644 OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.h create mode 100644 OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.inf -- Anthony PERARD _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |