9e0a86718c
Fix crash with -M isapc -cpu Haswell (bz #986790) Fix crash in lsi_soft_reset (bz #1000947) Fix initial /dev/kvm permissions (bz #993491)
73 lines
2.4 KiB
Diff
73 lines
2.4 KiB
Diff
From b8decc166db51601a6ad6f1df1752e9a9dc4544c Mon Sep 17 00:00:00 2001
|
|
From: Paolo Bonzini <pbonzini@redhat.com>
|
|
Date: Thu, 2 May 2013 11:38:37 +0200
|
|
Subject: [PATCH] pci: do not export pci_bus_reset
|
|
|
|
qbus_reset_all can be used instead. There is no semantic change
|
|
because pcibus_reset returns 1 and takes care of the device
|
|
tree traversal.
|
|
|
|
This will be necessary once the traversal is done always in
|
|
qbus_reset_all *before* invoking pcibus_reset itself.
|
|
|
|
Tested-by: Claudio Bley <cbley@av-test.de>
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
---
|
|
hw/pci/pci.c | 8 ++------
|
|
hw/pci/pci_bridge.c | 2 +-
|
|
include/hw/pci/pci.h | 1 -
|
|
3 files changed, 3 insertions(+), 8 deletions(-)
|
|
|
|
diff --git a/hw/pci/pci.c b/hw/pci/pci.c
|
|
index 4c004f5..0389375 100644
|
|
--- a/hw/pci/pci.c
|
|
+++ b/hw/pci/pci.c
|
|
@@ -210,8 +210,9 @@ void pci_device_reset(PCIDevice *dev)
|
|
* Trigger pci bus reset under a given bus.
|
|
* To be called on RST# assert.
|
|
*/
|
|
-void pci_bus_reset(PCIBus *bus)
|
|
+static int pcibus_reset(BusState *qbus)
|
|
{
|
|
+ PCIBus *bus = DO_UPCAST(PCIBus, qbus, qbus);
|
|
int i;
|
|
|
|
for (i = 0; i < bus->nirq; i++) {
|
|
@@ -222,11 +223,6 @@ void pci_bus_reset(PCIBus *bus)
|
|
pci_device_reset(bus->devices[i]);
|
|
}
|
|
}
|
|
-}
|
|
-
|
|
-static int pcibus_reset(BusState *qbus)
|
|
-{
|
|
- pci_bus_reset(DO_UPCAST(PCIBus, qbus, qbus));
|
|
|
|
/* topology traverse is done by pci_bus_reset().
|
|
Tell qbus/qdev walker not to traverse the tree */
|
|
diff --git a/hw/pci/pci_bridge.c b/hw/pci/pci_bridge.c
|
|
index a90671d..5d0e5ff 100644
|
|
--- a/hw/pci/pci_bridge.c
|
|
+++ b/hw/pci/pci_bridge.c
|
|
@@ -268,7 +268,7 @@ void pci_bridge_write_config(PCIDevice *d,
|
|
newctl = pci_get_word(d->config + PCI_BRIDGE_CONTROL);
|
|
if (~oldctl & newctl & PCI_BRIDGE_CTL_BUS_RESET) {
|
|
/* Trigger hot reset on 0->1 transition. */
|
|
- pci_bus_reset(&s->sec_bus);
|
|
+ qbus_reset_all(&s->sec_bus.qbus);
|
|
}
|
|
}
|
|
|
|
diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h
|
|
index ccec2ba..32f1419 100644
|
|
--- a/include/hw/pci/pci.h
|
|
+++ b/include/hw/pci/pci.h
|
|
@@ -376,7 +376,6 @@ void pci_bus_fire_intx_routing_notifier(PCIBus *bus);
|
|
void pci_device_set_intx_routing_notifier(PCIDevice *dev,
|
|
PCIINTxRoutingNotifier notifier);
|
|
void pci_device_reset(PCIDevice *dev);
|
|
-void pci_bus_reset(PCIBus *bus);
|
|
|
|
PCIDevice *pci_nic_init(NICInfo *nd, PCIBus *rootbus,
|
|
const char *default_model,
|