mbox series

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

Message ID 20221017102146.2254096-1-imammedo@redhat.com (mailing list archive)
Headers show
Series x86: clean up ACPI PCI code part 2 | expand

Message

Igor Mammedov Oct. 17, 2022, 10:21 a.m. UTC
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

Comments

Igor Mammedov Oct. 27, 2022, 12:06 p.m. UTC | #1
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
>
Michael S. Tsirkin Oct. 27, 2022, 2:18 p.m. UTC | #2
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
> >