[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [v3][PATCH 1/4] i440fx: make types configurable at run-time
On Thu, Jul 31, 2014 at 08:09:31PM +0800, Tiejun Chen wrote: > Xen wants to supply a different pci and host devices, > inheriting i440fx devices. Make types configurable. > > Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> > Signed-off-by: Tiejun Chen <tiejun.chen@xxxxxxxxx> You should have a From: line too, otherwise git will set the Author field incorrectly. > --- > hw/i386/pc_piix.c | 4 +++- > hw/pci-host/piix.c | 9 ++++----- > include/hw/i386/pc.h | 6 +++++- > 3 files changed, 12 insertions(+), 7 deletions(-) > > v3: > > * New patch from Michael > > diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c > index 9694f88..928c12c 100644 > --- a/hw/i386/pc_piix.c > +++ b/hw/i386/pc_piix.c > @@ -194,7 +194,9 @@ static void pc_init1(MachineState *machine, > } > > if (pci_enabled) { > - pci_bus = i440fx_init(&i440fx_state, &piix3_devfn, &isa_bus, gsi, > + pci_bus = i440fx_init(TYPE_I440FX_PCI_HOST_BRIDGE, > + TYPE_I440FX_PCI_DEVICE, > + &i440fx_state, &piix3_devfn, &isa_bus, gsi, > system_memory, system_io, machine->ram_size, > below_4g_mem_size, > above_4g_mem_size, > diff --git a/hw/pci-host/piix.c b/hw/pci-host/piix.c > index e0e0946..0cd82b8 100644 > --- a/hw/pci-host/piix.c > +++ b/hw/pci-host/piix.c > @@ -40,7 +40,6 @@ > * http://download.intel.com/design/chipsets/datashts/29054901.pdf > */ > > -#define TYPE_I440FX_PCI_HOST_BRIDGE "i440FX-pcihost" > #define I440FX_PCI_HOST_BRIDGE(obj) \ > OBJECT_CHECK(I440FXState, (obj), TYPE_I440FX_PCI_HOST_BRIDGE) > > @@ -91,7 +90,6 @@ typedef struct PIIX3State { > MemoryRegion rcr_mem; > } PIIX3State; > > -#define TYPE_I440FX_PCI_DEVICE "i440FX" > #define I440FX_PCI_DEVICE(obj) \ > OBJECT_CHECK(PCII440FXState, (obj), TYPE_I440FX_PCI_DEVICE) > > @@ -305,7 +303,8 @@ static int i440fx_initfn(PCIDevice *dev) > return 0; > } > > -PCIBus *i440fx_init(PCII440FXState **pi440fx_state, > +PCIBus *i440fx_init(const char *host_type, const char *pci_type, > + PCII440FXState **pi440fx_state, > int *piix3_devfn, > ISABus **isa_bus, qemu_irq *pic, > MemoryRegion *address_space_mem, > @@ -325,7 +324,7 @@ PCIBus *i440fx_init(PCII440FXState **pi440fx_state, > unsigned i; > I440FXState *i440fx; > > - dev = qdev_create(NULL, TYPE_I440FX_PCI_HOST_BRIDGE); > + dev = qdev_create(NULL, host_type); > s = PCI_HOST_BRIDGE(dev); > b = pci_bus_new(dev, NULL, pci_address_space, > address_space_io, 0, TYPE_PCI_BUS); > @@ -333,7 +332,7 @@ PCIBus *i440fx_init(PCII440FXState **pi440fx_state, > object_property_add_child(qdev_get_machine(), "i440fx", OBJECT(dev), > NULL); > qdev_init_nofail(dev); > > - d = pci_create_simple(b, 0, TYPE_I440FX_PCI_DEVICE); > + d = pci_create_simple(b, 0, pci_type); > *pi440fx_state = I440FX_PCI_DEVICE(d); > f = *pi440fx_state; > f->system_memory = address_space_mem; > diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h > index f4b9b2b..9778a71 100644 > --- a/include/hw/i386/pc.h > +++ b/include/hw/i386/pc.h > @@ -230,7 +230,11 @@ extern int no_hpet; > struct PCII440FXState; > typedef struct PCII440FXState PCII440FXState; > > -PCIBus *i440fx_init(PCII440FXState **pi440fx_state, int *piix_devfn, > +#define TYPE_I440FX_PCI_HOST_BRIDGE "i440FX-pcihost" > +#define TYPE_I440FX_PCI_DEVICE "i440FX" > + > +PCIBus *i440fx_init(const char *host_type, const char *pci_type, > + PCII440FXState **pi440fx_state, int *piix_devfn, > ISABus **isa_bus, qemu_irq *pic, > MemoryRegion *address_space_mem, > MemoryRegion *address_space_io, > -- > 1.9.1 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |