Add common BusState

Implement and use a common device bus state.  The main side-effect is
that creating a bus and attaching it to a parent device are no longer
separate operations.  For legacy code we allow a NULL parent, but that
should go away eventually.

Also tweak creation code to veriry theat a device in on the right bus.

Signed-off-by: Paul Brook <paul@codesourcery.com>
This commit is contained in:
Paul Brook 2009-05-23 00:05:19 +01:00
parent 4856fcff8a
commit 02e2da45c4
30 changed files with 229 additions and 135 deletions

View file

@ -118,9 +118,9 @@ static void pci_vpb_init(SysBusDevice *dev)
for (i = 0; i < 4; i++) {
sysbus_init_irq(dev, &s->irq[i]);
}
bus = pci_register_bus(pci_vpb_set_irq, pci_vpb_map_irq, s->irq,
bus = pci_register_bus(&dev->qdev, "pci",
pci_vpb_set_irq, pci_vpb_map_irq, s->irq,
11 << 3, 4);
qdev_attach_child_bus(&dev->qdev, "pci", bus);
/* ??? Register memory space. */