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

Re: [Xen-devel] [PATCH 2/4] hvmloader: Add support for PCI to PCI bridge



On 06/15/15 10:58, George Dunlap wrote:
> On Mon, Jun 15, 2015 at 3:26 PM, Andrew Cooper
> <andrew.cooper3@xxxxxxxxxx> wrote:
>> On 15/06/15 15:15, Don Slutz wrote:
>>> Most of this code is ported from SeaBIOS.
>>>
>>>
>>
>> SeaBIOS is LGPLv3, while Hvmloader is GPLv2
>>
>> IANAL, but the FSF indicates that this is not a compatible combination.
> 
> So I guess in part it depends on the degree to which "ported" means
> "copied verbatim" vs just "used as an inspiration for writing the new
> functionality".  (I.e., the degree to which the authors of SeaBIOS can
> claim copyright over the code in this patch.)
> 

I was not careful enough during the port.  I does look like I "copied"
some routines and data structures.  So my take is I messed up. :(

However it does become complex because in QEMU's hw/pci/pci.c:

Which has neither licence, it says:

/*
 * QEMU PCI bus manager
 *
 * Copyright (c) 2004 Fabrice Bellard
 *
 * Permission is hereby granted, free of charge, to any person obtaining
a copy
 * of this software and associated documentation files (the "Software"),
to deal
 * in the Software without restriction, including without limitation the
rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be
included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */

and has routine:


int pci_bar(PCIDevice *d, int reg)
{
    uint8_t type;

    if (reg != PCI_ROM_SLOT)
        return PCI_BASE_ADDRESS_0 + reg * 4;

    type = d->config[PCI_HEADER_TYPE] & ~PCI_HEADER_TYPE_MULTI_FUNCTION;
    return type == PCI_HEADER_TYPE_BRIDGE ? PCI_ROM_ADDRESS1 :
PCI_ROM_ADDRESS;
}


vs SeaBIOS src/fw/pciinit.c:

// Initialize PCI devices (on emulators)
//
// Copyright (C) 2008  Kevin O'Connor <kevin@xxxxxxxxxxxx>
// Copyright (C) 2006 Fabrice Bellard
//
// This file may be distributed under the terms of the GNU LGPLv3 license.

static u32 pci_bar(struct pci_device *pci, int region_num)
{
    if (region_num != PCI_ROM_SLOT) {
        return PCI_BASE_ADDRESS_0 + region_num * 4;
    }

#define PCI_HEADER_TYPE_MULTI_FUNCTION 0x80
    u8 type = pci->header_type & ~PCI_HEADER_TYPE_MULTI_FUNCTION;
    return type == PCI_HEADER_TYPE_BRIDGE ? PCI_ROM_ADDRESS1 :
PCI_ROM_ADDRESS;
}


which looks to me as long as I list

Copyright (c) 2004 Fabrice Bellard

I could add this to Xen.

   -Don Slutz

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