[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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.