On Mon, 19 Jan 2015 14:46:38 +0200 "Michael S. Tsirkin" <[email protected]> wrote:
> On Fri, Dec 19, 2014 at 11:46:58AM +0000, Igor Mammedov wrote: > > when bridge hotplug is disabled, i.e. for machine > > types less then 2.0, bridge device was created as > > hotpluggable by mistake since commit 133a2da (2.1). > > Fix it by just creating it as a present device as > > it was done in 1.7. > > > > Signed-off-by: Igor Mammedov <[email protected]> > > I still don't get this. Under 1.7 all devices are hotpluggable > unless disabled by device class. Bridges were hotpluggable too. > > See 72c194f7e75cb64b2558111cb111adb49fbf4097, function > acpi_get_hotplug_info. > > So if the idea is to match 1.7, this does not do it. Yep, I was wrong about 1.7. Let's see: 1.7 - all PCI devices created as hotpluggable entries 99fd437d - creates bridge as non hotpluggable unconditionally 133a2da4 - creates bridge as 1 - non hotpluggable if bridge hotplug supported - subtree is creeated 2 - if bridge hotplug isn't supported, it creates bridge as hotpluggable - subtree is not created so I guess, I should maintain what 133a2da4 does, drop this patch and amend 8/8 > > What, then, is the purpose of this patch? > > > > --- > > hw/i386/acpi-build.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c > > index a4d0c0c..c151fde 100644 > > --- a/hw/i386/acpi-build.c > > +++ b/hw/i386/acpi-build.c > > @@ -919,7 +919,7 @@ static void build_pci_bus_end(PCIBus *bus, void > > *bus_state) > > } > > } > > > > - if (!dc->hotpluggable || bridge_in_acpi) { > > + if (!dc->hotpluggable || pc->is_bridge) { > > clear_bit(slot, slot_hotplug_enable); > > } > > } > > -- > > 1.8.3.1 > >
