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

Re: [Xen-devel] [edk2] [PATCH v3 15/19] OvmfPkg/XenBusDxe: Indroduce XenBus support itself.



On Sun, Oct 19, 2014 at 05:20:45PM -0700, Jordan Justen wrote:
> On 2014-10-17 10:03:58, Anthony PERARD wrote:
> > This is a bus-like on top of XenStore. It will look for advertised
> > ParaVirtualized devices and initialize them by producing XenBus
> > protocol.
> > 
> > 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@xxxxxxxxxx>
> > 
> > ---
> > 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.
> > ---
> >  OvmfPkg/Include/Protocol/XenBus.h |  19 ++
> >  OvmfPkg/XenBusDxe/XenBus.c        | 372 
> > ++++++++++++++++++++++++++++++++++++++
> >  OvmfPkg/XenBusDxe/XenBus.h        |  64 +++++++
> >  OvmfPkg/XenBusDxe/XenBusDxe.c     |  66 +++++++
> >  OvmfPkg/XenBusDxe/XenBusDxe.h     |  19 ++
> >  OvmfPkg/XenBusDxe/XenBusDxe.inf   |   3 +
> >  6 files changed, 543 insertions(+)
> >  create mode 100644 OvmfPkg/XenBusDxe/XenBus.c
> >  create mode 100644 OvmfPkg/XenBusDxe/XenBus.h
> 
> > diff --git a/OvmfPkg/XenBusDxe/XenBus.h b/OvmfPkg/XenBusDxe/XenBus.h
> > new file mode 100644
> > index 0000000..7ff25c3
> > --- /dev/null
> > +++ b/OvmfPkg/XenBusDxe/XenBus.h
> > @@ -0,0 +1,64 @@
> > +/** @file
> > +  Core definitions and data structures shareable across OS platforms.
> > +
> > +  Copyright (c) 2010 Spectra Logic Corporation
> > +  Copyright (C) 2008 Doug Rabson
> > +  All rights reserved.
> > +  Copyright (C) 2014, Citrix Ltd.
> > +
> > +  Redistribution and use in source and binary forms, with or without
> > +  modification, are permitted provided that the following conditions
> > +  are met:
> > +  1. Redistributions of source code must retain the above copyright
> > +     notice, this list of conditions, and the following disclaimer,
> > +     without modification.
> > +  2. Redistributions in binary form must reproduce at minimum a disclaimer
> > +     substantially similar to the "NO WARRANTY" disclaimer below
> > +     ("Disclaimer") and any redistribution must be conditioned upon
> > +     including a substantially similar Disclaimer requirement for further
> > +     binary redistribution.
> > +
> > +  NO WARRANTY
> > +  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
> > +  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
> > +  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
> > +  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
> > +  HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR 
> > CONSEQUENTIAL
> > +  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
> > +  OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
> > +  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
> > +  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
> > +  IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> > +  POSSIBILITY OF SUCH DAMAGES.
> 
> What is this license?
> 
> The code below appears to have been written just for EDK II, so maybe
> just use the standard EDK II license header?

Yes, there is nothing left from the original file. I will use the
standard license header.

> -Jordan
> 
> > +
> > +**/
> > +#ifndef _XEN_XENBUS_XENBUSB_H
> > +#define _XEN_XENBUS_XENBUSB_H
> > +
> > +#include "XenBusDxe.h"
> > +
> > +#define XENBUS_DEVICE_PATH_TYPE_VBD 0x1
> > +struct _XENBUS_DEVICE_PATH {
> > +  VENDOR_DEVICE_PATH  Vendor;
> > +  UINT8               Type;
> > +  UINT16              DeviceId;
> > +};
> > +
> > +
> > +/**
> > +  Perform XenBus bus enumeration and install protocol for children.
> > +
> > +  Caller should ensure that it is the only one to call this function. This
> > +  function cannot be called concurrently.
> > +
> > +  @param Dev   The NewBus device representing this XenBus bus.
> > +
> > +  @return      On success, XENSTORE_STATUS_SUCCESS. Otherwise an errno 
> > value
> > +               indicating the type of failure.
> > +**/
> > +XENSTORE_STATUS
> > +XenBusEnumerateBus (
> > +  XENBUS_DEVICE *Dev
> > +  );
> > +
> > +#endif /* _XEN_XENBUS_XENBUSB_H */

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