[PATCH 00/11] x86: clean up ACPI PCI code part 2

Igor Mammedov posted 11 patches 1 year, 6 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20221017102146.2254096-1-imammedo@redhat.com
Maintainers: Gerd Hoffmann <kraxel@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>, Igor Mammedov <imammedo@redhat.com>, Ani Sinha <ani@anisinha.ca>, Paolo Bonzini <pbonzini@redhat.com>, Richard Henderson <richard.henderson@linaro.org>, Eduardo Habkost <eduardo@habkost.net>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
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
[PATCH 00/11] x86: clean up ACPI PCI code part 2
Posted by Igor Mammedov 1 year, 6 months ago
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
Re: [PATCH 00/11] x86: clean up ACPI PCI code part 2
Posted by Igor Mammedov 1 year, 5 months ago
On Mon, 17 Oct 2022 12:21:35 +0200
Igor Mammedov <imammedo@redhat.com> wrote:

> 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.


ping

> 
>  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
>
Re: [PATCH 00/11] x86: clean up ACPI PCI code part 2
Posted by Michael S. Tsirkin 1 year, 5 months ago
On Thu, Oct 27, 2022 at 02:06:40PM +0200, Igor Mammedov wrote:
> On Mon, 17 Oct 2022 12:21:35 +0200
> Igor Mammedov <imammedo@redhat.com> wrote:
> 
> > 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.
> 
> 
> ping

it's in my tree, testing found some issues (looks like they are
unrelated to this patchset), debugging.

> > 
> >  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
> >