Series continues refactoring started at recently merged [1]. It replaces special cases/quirks for ISA/SMB bridges and PCI attached VGA devices with generic AcpiDevAmlIf interface, which allows device to provide its own AML description without need for adhoc plumbing in generic DSDT or PCI enumeration code.
PS: at the end, \_GPE clean up patches which are not part of AcpiDevAmlIf refactoring but iti's still related to PCI, so I've included them there as well. 1) https://patchwork.ozlabs.org/project/qemu-devel/list/?series=303856 Igor Mammedov (11): acpi: pc: vga: use AcpiDevAmlIf interface to build VGA device descriptors tests: acpi: whitelist DSDT before generating PCI-ISA bridge AML automatically acpi: pc/q35: drop ad-hoc PCI-ISA bridge AML routines and let bus ennumeration generate AML tests: acpi: update expected DSDT after ISA bridge is moved directly under PCI host bridge tests: acpi: whitelist DSDT before generating ICH9_SMB AML automatically acpi: add get_dev_aml_func() helper acpi: enumerate SMB bridge automatically along with other PCI devices tests: acpi: update expected blobs tests: acpi: pc/q35 whitelist DSDT before \_GPE cleanup acpi: pc/35: sanitize _GPE declaration order tests: acpi: update expected blobs hw/display/vga_int.h | 2 + include/hw/acpi/acpi_aml_interface.h | 13 +- hw/display/acpi-vga-stub.c | 7 ++ hw/display/acpi-vga.c | 26 ++++ hw/display/meson.build | 17 +++ hw/display/vga-pci.c | 4 + hw/i386/acpi-build.c | 175 +++++--------------------- hw/isa/lpc_ich9.c | 23 ++++ hw/isa/piix3.c | 17 ++- tests/data/acpi/pc/DSDT | Bin 6422 -> 6501 bytes tests/data/acpi/pc/DSDT.acpierst | Bin 6382 -> 6461 bytes tests/data/acpi/pc/DSDT.acpihmat | Bin 7747 -> 7826 bytes tests/data/acpi/pc/DSDT.bridge | Bin 9496 -> 9575 bytes tests/data/acpi/pc/DSDT.cphp | Bin 6886 -> 6965 bytes tests/data/acpi/pc/DSDT.dimmpxm | Bin 8076 -> 8155 bytes tests/data/acpi/pc/DSDT.hpbridge | Bin 6382 -> 6461 bytes tests/data/acpi/pc/DSDT.hpbrroot | Bin 3069 -> 3107 bytes tests/data/acpi/pc/DSDT.ipmikcs | Bin 6494 -> 6573 bytes tests/data/acpi/pc/DSDT.memhp | Bin 7781 -> 7860 bytes tests/data/acpi/pc/DSDT.nohpet | Bin 6280 -> 6359 bytes tests/data/acpi/pc/DSDT.numamem | Bin 6428 -> 6507 bytes tests/data/acpi/pc/DSDT.roothp | Bin 6656 -> 6699 bytes tests/data/acpi/q35/DSDT | Bin 8320 -> 8412 bytes tests/data/acpi/q35/DSDT.acpierst | Bin 8337 -> 8429 bytes tests/data/acpi/q35/DSDT.acpihmat | Bin 9645 -> 9737 bytes tests/data/acpi/q35/DSDT.applesmc | Bin 8366 -> 8458 bytes tests/data/acpi/q35/DSDT.bridge | Bin 11449 -> 11541 bytes tests/data/acpi/q35/DSDT.cphp | Bin 8784 -> 8876 bytes tests/data/acpi/q35/DSDT.cxl | Bin 9646 -> 9738 bytes tests/data/acpi/q35/DSDT.dimmpxm | Bin 9974 -> 10066 bytes tests/data/acpi/q35/DSDT.ipmibt | Bin 8395 -> 8487 bytes tests/data/acpi/q35/DSDT.ipmismbus | Bin 8409 -> 8500 bytes tests/data/acpi/q35/DSDT.ivrs | Bin 8337 -> 8429 bytes tests/data/acpi/q35/DSDT.memhp | Bin 9679 -> 9771 bytes tests/data/acpi/q35/DSDT.mmio64 | Bin 9450 -> 9542 bytes tests/data/acpi/q35/DSDT.multi-bridge | Bin 8640 -> 8732 bytes tests/data/acpi/q35/DSDT.nohpet | Bin 8178 -> 8270 bytes tests/data/acpi/q35/DSDT.numamem | Bin 8326 -> 8418 bytes tests/data/acpi/q35/DSDT.pvpanic-isa | Bin 8421 -> 8513 bytes tests/data/acpi/q35/DSDT.tis.tpm12 | Bin 8926 -> 9018 bytes tests/data/acpi/q35/DSDT.tis.tpm2 | Bin 8952 -> 9044 bytes tests/data/acpi/q35/DSDT.viot | Bin 9429 -> 9521 bytes tests/data/acpi/q35/DSDT.xapic | Bin 35683 -> 35775 bytes 43 files changed, 135 insertions(+), 149 deletions(-) create mode 100644 hw/display/acpi-vga-stub.c create mode 100644 hw/display/acpi-vga.c -- 2.31.1