Hi, On Jun 7, 2013 11:04 AM, "Paolo Bonzini" <pbonz...@redhat.com> wrote: > > Il 05/06/2013 05:50, Andreas Färber ha scritto: > > Am 04.06.2013 20:51, schrieb Paolo Bonzini: > >> This series changes all PCI devices (the sole to support hotplug > >> _and_ use MemoryRegions) to do memory_region_del_subregion at > >> unrealize time, and memory_region_destroy at instance_finalize > >> time. > > > > The general idea looks good. > > > > Could you please follow-up with a patch that switches from exit to > > unrealize? > > I can add it to the queue, but I have at least 4 pending series. > > > Also I notice some patches are accessing parent fields directly - please > > use BUS(), PCI_DEVICE() etc. to hide this. > > I'm always using them. For example: > > +static void intel_hda_instance_finalize(Object *obj) > +{ > + PCIDevice *pci = PCI_DEVICE(obj); > + IntelHDAState *d = DO_UPCAST(IntelHDAState, pci, pci); > > What I'm not doing, is adding new cast macros---one thing at a time. >
I have a series that fixes all qom cast macros for all PCI devices tree wide. Can post. Qom cast macros added as needed. How are you regression testing this series? If you have a pc/PCI regression suite I could use it for my series. Regards Peter > Paolo > On Jun 7, 2013 11:04 AM, "Paolo Bonzini" <pbonz...@redhat.com> wrote: > Il 05/06/2013 05:50, Andreas Färber ha scritto: > > Am 04.06.2013 20:51, schrieb Paolo Bonzini: > >> This series changes all PCI devices (the sole to support hotplug > >> _and_ use MemoryRegions) to do memory_region_del_subregion at > >> unrealize time, and memory_region_destroy at instance_finalize > >> time. > > > > The general idea looks good. > > > > Could you please follow-up with a patch that switches from exit to > > unrealize? > > I can add it to the queue, but I have at least 4 pending series. > > > Also I notice some patches are accessing parent fields directly - please > > use BUS(), PCI_DEVICE() etc. to hide this. > > I'm always using them. For example: > > +static void intel_hda_instance_finalize(Object *obj) > +{ > + PCIDevice *pci = PCI_DEVICE(obj); > + IntelHDAState *d = DO_UPCAST(IntelHDAState, pci, pci); > > What I'm not doing, is adding new cast macros---one thing at a time. > > Paolo > >