[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [Qemu-devel] [PATCH v3 04/11] igd: switch TYPE_IGD_PASSTHROUGH_I440FX_PCI_DEVICE to realize
On Tue, Jan 05, 2016 at 12:41:31PM +0100, Gerd Hoffmann wrote: > Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> > --- > hw/pci-host/igd.c | 9 ++++----- > 1 file changed, 4 insertions(+), 5 deletions(-) > > diff --git a/hw/pci-host/igd.c b/hw/pci-host/igd.c > index ef0273b..d1eeafb 100644 > --- a/hw/pci-host/igd.c > +++ b/hw/pci-host/igd.c > @@ -53,7 +53,7 @@ out: > return ret; > } > > -static int igd_pt_i440fx_initfn(struct PCIDevice *pci_dev) > +static void igd_pt_i440fx_realize(PCIDevice *pci_dev, Error **errp) > { > uint32_t val = 0; > int rc, i, num; > @@ -65,12 +65,11 @@ static int igd_pt_i440fx_initfn(struct PCIDevice *pci_dev) > len = igd_host_bridge_infos[i].len; > rc = host_pci_config_read(pos, len, val); > if (rc) { > - return -ENODEV; > + error_setg(errp, "failed to read host config"); > + return; > } > pci_default_write_config(pci_dev, pos, val, len); > } > - > - return 0; > } > > static void igd_passthrough_i440fx_class_init(ObjectClass *klass, void *data) > @@ -78,7 +77,7 @@ static void igd_passthrough_i440fx_class_init(ObjectClass > *klass, void *data) > DeviceClass *dc = DEVICE_CLASS(klass); > PCIDeviceClass *k = PCI_DEVICE_CLASS(klass); > > - k->init = igd_pt_i440fx_initfn; > + k->realize = igd_pt_i440fx_realize; I am trying to understand how this have ever worked before: * PCIDeviceClass::init is called by pci_default_realize() (default value for PCIDeviceClass::realize) * i440fx_class_init() overrides PCIDeviceClass::realize to i440fx_realize() So, when exactly was igd_pt_i440fx_realize() being called, before this series? I don't have a Xen host to be able to test it using xenfv, and if I test "-machine pc,igd-passthrough=on" after applying patch 01/11, I don't see igd_pt_i440fx_initfn() being called at all. -- Eduardo _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |