|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH RFC 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.
There are still a bit of work to be done on this series, especially the comment
in the code, but I'd like your comment on this patch series.
Anthony PERARD (18):
OvmfPkg: Add public headers from Xen Project.
OvmfPkg: Add basic skeleton for the Xenbus 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 | 231 +++
OvmfPkg/OvmfPkg.dec | 2 +
OvmfPkg/OvmfPkgX64.dsc | 2 +
OvmfPkg/OvmfPkgX64.fdf | 2 +
OvmfPkg/XenPvBlkDxe/BlockFront.c | 583 ++++++++
OvmfPkg/XenPvBlkDxe/BlockFront.h | 88 ++
OvmfPkg/XenPvBlkDxe/BlockIo.c | 256 ++++
OvmfPkg/XenPvBlkDxe/BlockIo.h | 109 ++
OvmfPkg/XenPvBlkDxe/ComponentName.c | 160 +++
OvmfPkg/XenPvBlkDxe/ComponentName.h | 91 ++
OvmfPkg/XenPvBlkDxe/DriverBinding.h | 139 ++
OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.c | 388 ++++++
OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.h | 83 ++
OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.inf | 61 +
OvmfPkg/XenbusDxe/ComponentName.c | 160 +++
OvmfPkg/XenbusDxe/ComponentName.h | 91 ++
OvmfPkg/XenbusDxe/DriverBinding.h | 139 ++
OvmfPkg/XenbusDxe/EventChannel.c | 71 +
OvmfPkg/XenbusDxe/EventChannel.h | 40 +
OvmfPkg/XenbusDxe/GrantTable.c | 204 +++
OvmfPkg/XenbusDxe/GrantTable.h | 34 +
OvmfPkg/XenbusDxe/Helpers.c | 9 +
OvmfPkg/XenbusDxe/InterlockedCompareExchange16.h | 7 +
.../XenbusDxe/X64/InterlockedCompareExchange16.c | 41 +
OvmfPkg/XenbusDxe/X64/TestAndClearBit.S | 10 +
OvmfPkg/XenbusDxe/X64/hypercall.S | 16 +
OvmfPkg/XenbusDxe/X64/hypercall.asm | 19 +
OvmfPkg/XenbusDxe/XenBus.c | 363 +++++
OvmfPkg/XenbusDxe/XenBus.h | 76 +
OvmfPkg/XenbusDxe/XenHypercall.c | 101 ++
OvmfPkg/XenbusDxe/XenHypercall.h | 44 +
OvmfPkg/XenbusDxe/XenbusDxe.c | 452 ++++++
OvmfPkg/XenbusDxe/XenbusDxe.h | 131 ++
OvmfPkg/XenbusDxe/XenbusDxe.inf | 75 +
OvmfPkg/XenbusDxe/Xenstore.c | 1472 ++++++++++++++++++++
OvmfPkg/XenbusDxe/Xenstore.h | 367 +++++
53 files changed, 11314 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/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
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/X64/InterlockedCompareExchange16.c
create mode 100644 OvmfPkg/XenbusDxe/X64/TestAndClearBit.S
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/XenHypercall.c
create mode 100644 OvmfPkg/XenbusDxe/XenHypercall.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/Xenstore.c
create mode 100644 OvmfPkg/XenbusDxe/Xenstore.h
--
Anthony PERARD
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |