mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 15:53:54 -06:00
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:
parent
1b4e8f732d
commit
e075e788c9
3 changed files with 26 additions and 4 deletions
22
hw/pci.c
22
hw/pci.c
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue