[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 23/33] acpi: pci: describe all functions on populated slots
From: |
Igor Mammedov |
Subject: |
[PATCH 23/33] acpi: pci: describe all functions on populated slots |
Date: |
Fri, 24 Feb 2023 16:38:02 +0100 |
describing all present devices on functions other than
0 was complicated when non hotplug and hotplug code
was intermixed. So QEMU has been excluding non zero
functions since they are not supported by hotplug code,
then a condition to whitelist coldplugged bridges was
added and later whitelisting of devices that advertise
presence of their own AML description.
With non hotplug and hotplug code separated, it is
possible to relax rules and allow describing all
non-hotpluggble functions and hence simplify
conditions whether PCI device should be enumerated by
generic (non-hotplug) code.
Price of that simplification is an extra few Device()
descriptors in DSDT exposing built-in chipset functions,
which has no functional effect on guest side.
Apart from that, the enumeration of non zero functions,
allows to attach more NICs with acpi-index enabled
directly on hostbridge (if hotplug is not required).
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
---
* patch is making acpi-index feature support complete in
the scope of host bridge (support of acpi-index on PXB
is out of scope of this series, and probably should follow
host-bridge clean up)
* follow up patch will add a tests case with acpi-index
enabled PCI device on non zero function to demonstrate
that.
---
hw/i386/acpi-build.c | 6 ------
1 file changed, 6 deletions(-)
diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
index c33b43a358..7b982b6072 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -493,12 +493,6 @@ static bool is_devfn_ignored_generic(const int devfn,
const PCIBus *bus)
if (DEVICE(pdev)->hotplugged) {
return true;
}
- } else if (!get_dev_aml_func(DEVICE(pdev))) {
- /*
- * Ignore all other devices on !0 functions unless they
- * have AML description (i.e have get_dev_aml_func() != 0)
- */
- return true;
}
}
return false;
--
2.39.1
- [PATCH 10/33] pcihp: piix4: do not redirect hotplug controller to piix4 when ACPI hotplug is disabled, (continued)
- [PATCH 10/33] pcihp: piix4: do not redirect hotplug controller to piix4 when ACPI hotplug is disabled, Igor Mammedov, 2023/02/24
- [PATCH 13/33] pcihp: move PCI _DSM function 0 prolog into separate function, Igor Mammedov, 2023/02/24
- [PATCH 11/33] pci: fix 'hotplugglable' property behavior, Igor Mammedov, 2023/02/24
- [PATCH 19/33] tests: acpi: add device with acpi-index on non-hotpluggble bus, Igor Mammedov, 2023/02/24
- [PATCH 20/33] acpi: pci: support acpi-index for non-hotpluggable devices, Igor Mammedov, 2023/02/24
- [PATCH 22/33] tests: acpi: whitelist DSDT before exposing non zero functions, Igor Mammedov, 2023/02/24
- [PATCH 21/33] tests: acpi: update expected blobs, Igor Mammedov, 2023/02/24
- [PATCH 26/33] tests: acpi: add non zero function device with acpi-index on non-hotpluggble bus, Igor Mammedov, 2023/02/24
- [PATCH 24/33] tests: acpi: update expected blobs, Igor Mammedov, 2023/02/24
- [PATCH 25/33] tests: acpi: whitelist DSDT before adding non-0 function device with acpi-index to testcases, Igor Mammedov, 2023/02/24
- [PATCH 23/33] acpi: pci: describe all functions on populated slots,
Igor Mammedov <=
- [PATCH 29/33] acpi: pci: drop BSEL usage when deciding that device isn't hotpluggable, Igor Mammedov, 2023/02/24
- [PATCH 31/33] acpi: pci: move out ACPI PCI hotplug generator from generic slot generator build_append_pci_bus_devices(), Igor Mammedov, 2023/02/24
- [PATCH 30/33] acpi: pci: move BSEL into build_append_pcihp_slots(), Igor Mammedov, 2023/02/24
- [PATCH 27/33] tests: acpi: update expected blobs, Igor Mammedov, 2023/02/24
- [PATCH 28/33] pci: move acpi-index uniqueness check to generic PCI device code, Igor Mammedov, 2023/02/24
- [PATCH 32/33] pcihp: move fields enabling hotplug into AcpiPciHpState, Igor Mammedov, 2023/02/24
- [PATCH 33/33] pcihp: add ACPI PCI hotplug specific is_hotpluggable_bus() callback, Igor Mammedov, 2023/02/24