On Tue, 31 May 2016 20:48:34 +0300
Marcel Apfelbaum <mar...@redhat.com> 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.

> 
> Signed-off-by: Marcel Apfelbaum <mar...@redhat.com>
> ---
>  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