All of lore.kernel.org
 help / color / mirror / Atom feed
From: Igor Mammedov <imammedo@redhat.com>
To: qemu-devel@nongnu.org
Cc: mst@redhat.com, berrange@redhat.com
Subject: [PATCH v2 24/34] acpi: pci: describe all functions on populated slots
Date: Thu,  2 Mar 2023 17:15:33 +0100	[thread overview]
Message-ID: <20230302161543.286002-25-imammedo@redhat.com> (raw)
In-Reply-To: <20230302161543.286002-1-imammedo@redhat.com>

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 46f78e9338..8e2481fe5e 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -494,12 +494,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



  parent reply	other threads:[~2023-03-02 16:18 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-02 16:15 [PATCH v2 00/34] pci(pc/q35): acpi-index support on non-hotpluggable slots Igor Mammedov
2023-03-02 16:15 ` [PATCH v2 01/34] Revert "tests/qtest: Check for devices in bios-tables-test" Igor Mammedov
2023-03-02 16:46   ` Fabiano Rosas
2023-03-02 16:15 ` [PATCH v2 02/34] tests: acpi: whitelist new q35.noacpihp test and pc.hpbrroot Igor Mammedov
2023-03-02 16:15 ` [PATCH v2 03/34] tests: acpi: add test_acpi_q35_tcg_no_acpi_hotplug test and extend test_acpi_piix4_no_acpi_pci_hotplug Igor Mammedov
2023-03-02 16:15 ` [PATCH v2 04/34] tests: acpi: update expected blobs Igor Mammedov
2023-03-02 16:15 ` [PATCH v2 05/34] tests: acpi: whitelist q35/DSDT.multi-bridge before extending testcase Igor Mammedov
2023-03-02 16:15 ` [PATCH v2 06/34] tests: acpi: extend multi-bridge case with case 'root-port, id=HOHP, hotplug=off root-port, bus=NOHP' Igor Mammedov
2023-03-02 16:15 ` [PATCH v2 07/34] x86: pcihp: fix missing PCNT callchain when intermediate root-port has 'hotplug=off' set Igor Mammedov
2023-03-02 16:15 ` [PATCH v2 08/34] tests: acpi: whitelist pc/DSDT.hpbrroot and pc/DSDT.hpbridge tests Igor Mammedov
2023-03-02 16:15 ` [PATCH v2 09/34] x86: pcihp: fix missing bridge AML when intermediate root-port has 'hotplug=off' set Igor Mammedov
2023-03-02 16:15 ` [PATCH v2 10/34] tests: acpi: update expected blobs Igor Mammedov
2023-03-02 16:15 ` [PATCH v2 11/34] pcihp: piix4: do not redirect hotplug controller to piix4 when ACPI hotplug is disabled Igor Mammedov
2023-03-02 16:15 ` [PATCH v2 12/34] pci: fix 'hotplugglable' property behavior Igor Mammedov
2023-03-02 16:15 ` [PATCH v2 13/34] tests: acpi: whitelist DSDT blobs before isolating PCI _DSM func 0 prolog Igor Mammedov
2023-03-02 16:15 ` [PATCH v2 14/34] pcihp: move PCI _DSM function 0 prolog into separate function Igor Mammedov
2023-03-02 16:15 ` [PATCH v2 15/34] tests: acpi: update expected blobs Igor Mammedov
2023-03-02 16:15 ` [PATCH v2 16/34] tests: acpi: whitelist DSDT before adding EDSM method Igor Mammedov
2023-03-02 16:15 ` [PATCH v2 17/34] acpi: pci: add EDSM method to DSDT Igor Mammedov
2023-03-02 16:15 ` [PATCH v2 18/34] tests: acpi: update expected blobs Igor Mammedov
2023-03-02 16:15 ` [PATCH v2 19/34] tests: acpi: whitelist DSDT before adding device with acpi-index to testcases Igor Mammedov
2023-03-02 16:15 ` [PATCH v2 20/34] tests: acpi: add device with acpi-index on non-hotpluggble bus Igor Mammedov
2023-03-02 16:15 ` [PATCH v2 21/34] acpi: pci: support acpi-index for non-hotpluggable devices Igor Mammedov
2023-03-02 16:15 ` [PATCH v2 22/34] tests: acpi: update expected blobs Igor Mammedov
2023-03-02 16:15 ` [PATCH v2 23/34] tests: acpi: whitelist DSDT before exposing non zero functions Igor Mammedov
2023-03-02 16:15 ` Igor Mammedov [this message]
2023-03-02 16:15 ` [PATCH v2 25/34] tests: acpi: update expected blobs Igor Mammedov
2023-03-02 16:15 ` [PATCH v2 26/34] tests: acpi: whitelist DSDT before adding non-0 function device with acpi-index to testcases Igor Mammedov
2023-03-02 16:15 ` [PATCH v2 27/34] tests: acpi: add non zero function device with acpi-index on non-hotpluggble bus Igor Mammedov
2023-03-02 16:15 ` [PATCH v2 28/34] tests: acpi: update expected blobs Igor Mammedov
2023-03-02 16:15 ` [PATCH v2 29/34] pci: move acpi-index uniqueness check to generic PCI device code Igor Mammedov
2023-03-02 16:15 ` [PATCH v2 30/34] acpi: pci: drop BSEL usage when deciding that device isn't hotpluggable Igor Mammedov
2023-03-02 16:15 ` [PATCH v2 31/34] acpi: pci: move BSEL into build_append_pcihp_slots() Igor Mammedov
2023-03-02 16:15 ` [PATCH v2 32/34] acpi: pci: move out ACPI PCI hotplug generator from generic slot generator build_append_pci_bus_devices() Igor Mammedov
2023-03-02 16:15 ` [PATCH v2 33/34] pcihp: move fields enabling hotplug into AcpiPciHpState Igor Mammedov
2023-03-02 16:15 ` [PATCH v2 34/34] pcihp: add ACPI PCI hotplug specific is_hotpluggable_bus() callback Igor Mammedov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230302161543.286002-25-imammedo@redhat.com \
    --to=imammedo@redhat.com \
    --cc=berrange@redhat.com \
    --cc=mst@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.