On 06/17/2016 11:57 AM, Igor Mammedov wrote:
On Tue, 31 May 2016 20:48:34 +0300
Marcel Apfelbaum <[email protected]> wrote:

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.
I'd really like to have PXB testcase bios-tables-test before this patch
so it would be easy to see what is being fixed.


Sure, I'll add the test.
Thanks,
Marcel


Signed-off-by: Marcel Apfelbaum <[email protected]>
---
  hw/i386/acpi-build.c | 4 ++++
  1 file changed, 4 insertions(+)

diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
index c6f4afe..0c329fb 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -589,6 +589,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));
          }
      }



Reply via email to