qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v3 04/11] igd: switch TYPE_IGD_PASSTHROUGH_I440F


From: Gerd Hoffmann
Subject: Re: [Qemu-devel] [PATCH v3 04/11] igd: switch TYPE_IGD_PASSTHROUGH_I440FX_PCI_DEVICE to realize
Date: Mon, 25 Jan 2016 09:59:10 +0100

  Hi,

> >  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?

It simply didn't?

I suspect this got ported over from the qemu-xen tree, but wasn't really
tested and also not adapted to commit "9af21db pci: Trivial device model
conversions to realize".  So this patch actually is yet another
bugfix ...

Current test status of this series (by Hao) is this:

  * newer linux intel drivers work just fine without chipset tweaks.
  * older linux intel drivers and windows guests don't work even with
    all the fixes in this series.

So applying the series doesn't improve things at all (code cleanups
aside).  My current plan to go forward is:

  (a) get test hardware (wip atm).
  (b) go figure what is really needed, lots of testing.
  (c) rework and repost series.

cheers,
  Gerd




reply via email to

[Prev in Thread] Current Thread [Next in Thread]