Message ID | 1418989624-12049-3-git-send-email-imammedo@redhat.com |
---|---|
State | New |
Headers | show |
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 <imammedo@redhat.com> 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. 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 >
On Mon, 19 Jan 2015 14:46:38 +0200 "Michael S. Tsirkin" <mst@redhat.com> 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 <imammedo@redhat.com> > > 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 > >
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); } }
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 <imammedo@redhat.com> --- hw/i386/acpi-build.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)