pci-hotplug: make them aware of pci domain.

add helper function which converts root bus to pci domain.
make them aware of pci domain.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
Isaku Yamahata 2010-05-28 18:30:46 +09:00 committed by Michael S. Tsirkin
parent 1b4e8f732d
commit e075e788c9
3 changed files with 26 additions and 4 deletions

View file

@ -200,6 +200,26 @@ PCIBus *pci_find_root_bus(int domain)
return NULL;
}
int pci_find_domain(const PCIBus *bus)
{
PCIDevice *d;
struct PCIHostBus *host;
/* obtain root bus */
while ((d = bus->parent_dev) != NULL) {
bus = d->bus;
}
QLIST_FOREACH(host, &host_buses, next) {
if (host->bus == bus) {
return host->domain;
}
}
abort(); /* should not be reached */
return -1;
}
void pci_bus_new_inplace(PCIBus *bus, DeviceState *parent,
const char *name, int devfn_min)
{
@ -505,7 +525,7 @@ PCIBus *pci_get_bus_devfn(int *devfnp, const char *devaddr)
}
*devfnp = slot << 3;
return pci_find_bus(pci_find_root_bus(0), bus);
return pci_find_bus(pci_find_root_bus(dom), bus);
}
static void pci_init_cmask(PCIDevice *dev)