[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v4 00/19] Introducing Xen PV block driver to OVMF



Can you make these changes:

OvmfPkg: Introduce XenBus Protocol.
OvmfPkg/Include/Protocol/XenBus.h
Use standard EDK II BSD license header.

OvmfPkg/XenBusDxe: Add Grant Table functions.
OvmfPkg/XenBusDxe/GrantTable.c
Maybe use standard EDK II BSD license header? Except, based on the
copyright messages, maybe you can't.

Can you post this in a pvdisk-v5 branch in your repo at:
git://xenbits.xen.org/people/aperard/ovmf.git
(I don't think another list posting is needed.)

Follow up requests for this series:

Can you look into moving InterlockedCompareExchange16 to BaseSynchronizationLib?

After I commit BaseTools/Scripts/ConvertMasmToNasm.py can you look at
converting the assembly to NASM with that script?

Thanks for all your work on this!

-Jordan

On Thu, Oct 23, 2014 at 11:17 AM, Anthony PERARD
<anthony.perard@xxxxxxxxxx> wrote:
> 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.
>
> * Change in V4:
> - new file OvmfPkg/Include/IndustryStandard/Xen/README in the patch "OvmfPkg:
>   Add public headers from Xen Project." which is mostly a copy/past of the
>   patch description.
> - Added a brief description for both driver in the .inf file.
> - And replaced the BSD-2 license text in file headers by the commonly used 
> file
>   header text.
>
> * Change in V3:
>
> - 32bit support:
> It's done by adding a few #ifdef __i386__; #pragma pack(4); when necessary in
> the Xen headers. More detail about this in the description of the patch
> "OvmfPkg: Add public headers from Xen Project".
>
> - Licenses:
> The MIT licence is added to the OvmfPkg/Licence.txt file, with a mentions of
> which directories might use them. This is the first patch, "OvmfPkg: Add the
> MIT license to License.txt".
>
> Other changes have been listed after a '---' line in every patches.
>
> Anthony PERARD (19):
>   OvmfPkg: Add the MIT license to License.txt.
>   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.
>
>  OvmfPkg/Include/IndustryStandard/Xen/README        |   34 +
>  .../IndustryStandard/Xen/arch-x86/xen-x86_32.h     |   59 +
>  .../IndustryStandard/Xen/arch-x86/xen-x86_64.h     |   59 +
>  .../Include/IndustryStandard/Xen/arch-x86/xen.h    |  112 ++
>  .../Include/IndustryStandard/Xen/event_channel.h   |  118 ++
>  OvmfPkg/Include/IndustryStandard/Xen/grant_table.h |  444 ++++++
>  OvmfPkg/Include/IndustryStandard/Xen/hvm/hvm_op.h  |   37 +
>  OvmfPkg/Include/IndustryStandard/Xen/hvm/params.h  |  150 ++
>  OvmfPkg/Include/IndustryStandard/Xen/io/blkif.h    |  619 ++++++++
>  .../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  |  149 ++
>  OvmfPkg/Include/IndustryStandard/Xen/memory.h      |   94 ++
>  OvmfPkg/Include/IndustryStandard/Xen/xen-compat.h  |   44 +
>  OvmfPkg/Include/IndustryStandard/Xen/xen.h         |  341 +++++
>  OvmfPkg/Include/Protocol/XenBus.h                  |  432 ++++++
>  OvmfPkg/License.txt                                |   25 +
>  OvmfPkg/OvmfPkg.dec                                |    1 +
>  OvmfPkg/OvmfPkgIa32.dsc                            |    2 +
>  OvmfPkg/OvmfPkgIa32.fdf                            |    2 +
>  OvmfPkg/OvmfPkgIa32X64.dsc                         |    2 +
>  OvmfPkg/OvmfPkgIa32X64.fdf                         |    2 +
>  OvmfPkg/OvmfPkgX64.dsc                             |    2 +
>  OvmfPkg/OvmfPkgX64.fdf                             |    2 +
>  OvmfPkg/XenBusDxe/ComponentName.c                  |  174 +++
>  OvmfPkg/XenBusDxe/ComponentName.h                  |   94 ++
>  OvmfPkg/XenBusDxe/DriverBinding.h                  |  128 ++
>  OvmfPkg/XenBusDxe/EventChannel.c                   |   88 ++
>  OvmfPkg/XenBusDxe/EventChannel.h                   |   88 ++
>  OvmfPkg/XenBusDxe/GrantTable.c                     |  217 +++
>  OvmfPkg/XenBusDxe/GrantTable.h                     |   77 +
>  OvmfPkg/XenBusDxe/Helpers.c                        |    9 +
>  .../XenBusDxe/Ia32/InterlockedCompareExchange16.S  |   15 +
>  .../Ia32/InterlockedCompareExchange16.asm          |   45 +
>  OvmfPkg/XenBusDxe/Ia32/TestAndClearBit.S           |   13 +
>  OvmfPkg/XenBusDxe/Ia32/TestAndClearBit.asm         |   17 +
>  OvmfPkg/XenBusDxe/Ia32/hypercall.S                 |   22 +
>  OvmfPkg/XenBusDxe/Ia32/hypercall.asm               |   26 +
>  OvmfPkg/XenBusDxe/InterlockedCompareExchange16.c   |   33 +
>  OvmfPkg/XenBusDxe/InterlockedCompareExchange16.h   |   38 +
>  .../XenBusDxe/X64/InterlockedCompareExchange16.S   |   13 +
>  .../XenBusDxe/X64/InterlockedCompareExchange16.asm |   41 +
>  OvmfPkg/XenBusDxe/X64/TestAndClearBit.S            |   12 +
>  OvmfPkg/XenBusDxe/X64/TestAndClearBit.asm          |   16 +
>  OvmfPkg/XenBusDxe/X64/hypercall.S                  |   22 +
>  OvmfPkg/XenBusDxe/X64/hypercall.asm                |   26 +
>  OvmfPkg/XenBusDxe/XenBus.c                         |  375 +++++
>  OvmfPkg/XenBusDxe/XenBus.h                         |   44 +
>  OvmfPkg/XenBusDxe/XenBusDxe.c                      |  481 ++++++
>  OvmfPkg/XenBusDxe/XenBusDxe.h                      |  143 ++
>  OvmfPkg/XenBusDxe/XenBusDxe.inf                    |   89 ++
>  OvmfPkg/XenBusDxe/XenHypercall.c                   |  118 ++
>  OvmfPkg/XenBusDxe/XenHypercall.h                   |  115 ++
>  OvmfPkg/XenBusDxe/XenStore.c                       | 1550 
> ++++++++++++++++++++
>  OvmfPkg/XenBusDxe/XenStore.h                       |  379 +++++
>  OvmfPkg/XenPvBlkDxe/BlockFront.c                   |  647 ++++++++
>  OvmfPkg/XenPvBlkDxe/BlockFront.h                   |  101 ++
>  OvmfPkg/XenPvBlkDxe/BlockIo.c                      |  274 ++++
>  OvmfPkg/XenPvBlkDxe/BlockIo.h                      |  108 ++
>  OvmfPkg/XenPvBlkDxe/ComponentName.c                |  176 +++
>  OvmfPkg/XenPvBlkDxe/ComponentName.h                |   94 ++
>  OvmfPkg/XenPvBlkDxe/DriverBinding.h                |  143 ++
>  OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.c                  |  394 +++++
>  OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.h                  |   83 ++
>  OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.inf                |   63 +
>  66 files changed, 9753 insertions(+)
>  create mode 100644 OvmfPkg/Include/IndustryStandard/Xen/README
>  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/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/Ia32/InterlockedCompareExchange16.S
>  create mode 100644 OvmfPkg/XenBusDxe/Ia32/InterlockedCompareExchange16.asm
>  create mode 100644 OvmfPkg/XenBusDxe/Ia32/TestAndClearBit.S
>  create mode 100644 OvmfPkg/XenBusDxe/Ia32/TestAndClearBit.asm
>  create mode 100644 OvmfPkg/XenBusDxe/Ia32/hypercall.S
>  create mode 100644 OvmfPkg/XenBusDxe/Ia32/hypercall.asm
>  create mode 100644 OvmfPkg/XenBusDxe/InterlockedCompareExchange16.c
>  create mode 100644 OvmfPkg/XenBusDxe/InterlockedCompareExchange16.h
>  create mode 100644 OvmfPkg/XenBusDxe/X64/InterlockedCompareExchange16.S
>  create mode 100644 OvmfPkg/XenBusDxe/X64/InterlockedCompareExchange16.asm
>  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

_______________________________________________
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®.