|
|
* use core busnr.
* fix secondary bus setup.
* use base->name instead of "FIXME" for device name.
Yes, the device name is redundant. Only for drivers converted
to qdev already though. Once all drivers are converted we can
and should kill it.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
---
hw/pci.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/hw/pci.c b/hw/pci.c
index c537ed0..5925617 100644
--- a/hw/pci.c
+++ b/hw/pci.c
@@ -115,7 +115,6 @@ PCIBus *pci_register_bus(DeviceState *parent, const char
*name,
qemu_irq *pic, int devfn_min, int nirq)
{
PCIBus *bus;
- static int nbus = 0;
bus = FROM_QBUS(PCIBus, qbus_create(&pci_bus_info, parent, name));
bus->set_irq = set_irq;
@@ -126,7 +125,7 @@ PCIBus *pci_register_bus(DeviceState *parent, const char
*name,
bus->irq_count = qemu_malloc(nirq * sizeof(bus->irq_count[0]));
bus->next = first_bus;
first_bus = bus;
- register_savevm("PCIBUS", nbus++, 1, pcibus_save, pcibus_load, bus);
+ register_savevm("PCIBUS", bus->qbus.busnr, 1, pcibus_save, pcibus_load,
bus);
qemu_register_reset(pci_bus_reset, 0, bus);
return bus;
}
@@ -134,7 +133,8 @@ PCIBus *pci_register_bus(DeviceState *parent, const char
*name,
static PCIBus *pci_register_secondary_bus(PCIDevice *dev, pci_map_irq_fn
map_irq)
{
PCIBus *bus;
- bus = qemu_mallocz(sizeof(PCIBus));
+
+ bus = FROM_QBUS(PCIBus, qbus_create(&pci_bus_info, &dev->qdev, NULL));
bus->map_irq = map_irq;
bus->parent_dev = dev;
bus->next = dev->bus->next;
@@ -954,7 +954,7 @@ static void pci_qdev_init(DeviceState *qdev, DeviceInfo
*base)
bus = FROM_QBUS(PCIBus, qdev_get_parent_bus(qdev));
devfn = qdev_get_prop_int(qdev, "devfn", -1);
- pci_dev = do_pci_register_device(pci_dev, bus, "FIXME", devfn,
+ pci_dev = do_pci_register_device(pci_dev, bus, base->name, devfn,
info->config_read, info->config_write);
assert(pci_dev);
info->init(pci_dev);
--
1.6.2.5
|
|