Skip to content

Commit

Permalink
hw/acpi: fix a DSDT table issue when a pxb is present.
Browse files Browse the repository at this point in the history
PXBs do not support hotplug so they don't have a PCNT function.
Since the PXB's PCI root-bus is a child bus of bus 0, the
build_dsdt code will add a call to the corresponding PCNT function.

Fix this by skipping the PCNT call for the above case.
While at it skip also PCIe child buses.

Reported-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Marcel Apfelbaum <marcel@redhat.com>
Tested-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
  • Loading branch information
marcel-apf authored and mstsirkin committed Jul 28, 2016
1 parent 7b346c7 commit c99cb18
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions hw/i386/acpi-build.c
Expand Up @@ -600,6 +600,10 @@ static void build_append_pci_bus_devices(Aml *parent_scope, PCIBus *bus,
QLIST_FOREACH(sec, &bus->child, sibling) {
int32_t devfn = sec->parent_dev->devfn;

if (pci_bus_is_root(sec) || pci_bus_is_express(sec)) {
continue;
}

aml_append(method, aml_name("^S%.02X.PCNT", devfn));
}
}
Expand Down

0 comments on commit c99cb18

Please sign in to comment.