From: Igor Mammedov <imammedo@redhat.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: qemu-devel@nongnu.org, ani@anisinha.ca, minyard@acm.org,
stefanb@linux.vnet.ibm.com, marcandre.lureau@redhat.com,
kraxel@redhat.com
Subject: Re: [PATCH 00/35] pc/q35: refactor ISA and SMBUS AML generation
Date: Tue, 17 May 2022 18:09:57 +0200 [thread overview]
Message-ID: <20220517180957.23124016@redhat.com> (raw)
In-Reply-To: <20220516164638-mutt-send-email-mst@kernel.org>
On Mon, 16 May 2022 16:47:20 -0400
"Michael S. Tsirkin" <mst@redhat.com> wrote:
> On Mon, May 16, 2022 at 11:25:35AM -0400, Igor Mammedov wrote:
> >
> > Series is excerpt form larger refactoring that does
> > the same for PCI devices, but it's too large at this
> > point, so I've split off a relatively self-contained
> > ISA/SMBUS patches into a smaller separate series, and
> > PCI refactoring will follow up on top of this series
> > using the same AcpiDevAmlIf interface.
> >
> > Series consolidates and unifies how pc/q35 machine
> > generates AML for ISA and SMBUS devices. It adds
> > a new more generic interface 'AcpiDevAmlIf' that
> > replaces ISA specific ISADeviceClass::build_aml
> > hook and should allow to use the same approach
> > (i.e. ask a device to provide its own AML) but
> > not limited to ISA bus.
> > Series applies AcpiDevAmlIf interface to a few
> > ISA devices that were already using
> > ISADeviceClass::build_aml and to devices /tpm,
> > applesmc,pvpanic,ipmi/ that were generated in
> > custom way. The AML generation for the later
> > class is normalized to behave like any other
> > ISA device that were using ISADeviceClass::build_aml
> > and converted to interface 'AcpiDevAmlIf'.
> > It simplifies process of building DSDT and
> > eliminates custom probing/wiring for those devices
> > as AML for them is generated at the time ISA/SMBUS
> > is enumerated.
> >
> > Changes to DSDT tables QEMU generates are mostly
> > contextual where devices scattered across DSDT
> > are consolidated under respective device that
> > hosts bus they are attached to.
>
> I like this. Have one further enhancement idea before
> applying this, sent on list.
I'd prefer to implement that enhancement on top of this
series (and may be on top of follow up PCI conversion)
if we have to do it (as the enhancement would be a bit
of off-topic churn, i.e. solving another issue that we
already have).
> > PS:
> > + series adds several ACPI tests for devices
> > that were missing them.
> >
> > Igor Mammedov (35):
> > acpi: add interface to build device specific AML
> > acpi: make isa_build_aml() support AcpiDevAmlIf interface
> > acpi: fdc-isa: replace ISADeviceClass::build_aml with
> > AcpiDevAmlIfClass:build_dev_aml
> > acpi: parallel port: replace ISADeviceClass::build_aml with
> > AcpiDevAmlIfClass:build_dev_aml
> > acpi: serial-is: replace ISADeviceClass::build_aml with
> > AcpiDevAmlIfClass:build_dev_aml
> > acpi: mc146818rtc: replace ISADeviceClass::build_aml with
> > AcpiDevAmlIfClass:build_dev_aml
> > acpi: pckbd: replace ISADeviceClass::build_aml with
> > AcpiDevAmlIfClass:build_dev_aml
> > isa-bus: drop no longer used ISADeviceClass::build_aml
> > tests: acpi: add and whitelist DSDT.ipmismbus expected blob
> > tests: acpi: q35: add test for smbus-ipmi device
> > tests: acpi: update expected blob DSDT.ipmismbus
> > tests: acpi: whitelist DSDT.ipmismbus expected blob
> > ipmi: acpi: use relative path to resource source
> > tests: acpi: update expected DSDT.ipmismbus blob
> > acpi: ich9-smb: add support for AcpiDevAmlIf interface
> > acpi: ipmi: use AcpiDevAmlIf interface to build IPMI device
> > descriptors
> > q35: acpi: drop not needed PCMachineClass::do_not_add_smb_acpi
> > tests: acpi: white-list to be re-factored pc/q35 DSDT
> > acpi: pc: isa bridge: use AcpiDevAmlIf interface to build ISA device
> > descriptors
> > acpi: q35: isa bridge: use AcpiDevAmlIf interface to build ISA device
> > descriptors
> > tests: acpi: update expected blobs
> > tests: acpi: add and white-list DSDT.applesmc expected blob
> > tests: acpi: add applesmc testcase
> > acpi: applesmc: use AcpiDevAmlIfClass:build_dev_aml to provide
> > device's AML
> > tests: acpi: update expected blobs
> > tests: acpi: white-lists expected DSDT.pvpanic-isa blob
> > tests: acpi: add pvpanic-isa: testcase
> > acpi: pvpanic-isa: use AcpiDevAmlIfClass:build_dev_aml to provide
> > device's AML
> > tests: acpi: update expected DSDT.pvpanic-isa blob
> > tests: acpi: white-list DSDT.tis.tpm2/DSDT.tis.tpm12 expected blobs
> > acpi: pc/q35: tpm-tis: fix TPM device scope
> > acpi: pc/q35: remove not needed 'if' condition on pci bus
> > acpi: tpm-tis: use AcpiDevAmlIfClass:build_dev_aml to provide device's
> > AML
> > tests: acpi: update expected DSDT.tis.tpm2/DSDT.tis.tpm12 blobs
> > x86: acpi-build: do not include hw/isa/isa.h directly
> >
> > include/hw/acpi/acpi_aml_interface.h | 40 ++++++
> > include/hw/acpi/ipmi.h | 9 +-
> > include/hw/i386/pc.h | 1 -
> > include/hw/isa/isa.h | 15 ---
> > include/hw/misc/pvpanic.h | 9 --
> > hw/acpi/acpi_interface.c | 8 ++
> > hw/acpi/ipmi-stub.c | 2 +-
> > hw/acpi/ipmi.c | 53 +++-----
> > hw/acpi/meson.build | 2 +-
> > hw/block/fdc-isa.c | 16 ++-
> > hw/char/parallel.c | 14 ++-
> > hw/char/serial-isa.c | 14 ++-
> > hw/i2c/smbus_ich9.c | 15 +++
> > hw/i386/acpi-build.c | 171 ++++++--------------------
> > hw/i386/pc_piix.c | 1 -
> > hw/i386/pc_q35.c | 1 -
> > hw/input/pckbd.c | 14 ++-
> > hw/ipmi/isa_ipmi_bt.c | 4 +
> > hw/ipmi/isa_ipmi_kcs.c | 4 +
> > hw/ipmi/smbus_ipmi.c | 4 +
> > hw/isa/isa-bus.c | 9 +-
> > hw/isa/lpc_ich9.c | 19 +++
> > hw/isa/piix3.c | 17 +++
> > hw/misc/applesmc.c | 29 +++++
> > hw/misc/pvpanic-isa.c | 42 +++++++
> > hw/rtc/mc146818rtc.c | 14 ++-
> > hw/tpm/tpm_tis_isa.c | 32 +++++
> > tests/data/acpi/pc/DSDT | Bin 6002 -> 5987 bytes
> > tests/data/acpi/pc/DSDT.acpierst | Bin 5969 -> 5954 bytes
> > tests/data/acpi/pc/DSDT.acpihmat | Bin 7327 -> 7312 bytes
> > tests/data/acpi/pc/DSDT.bridge | Bin 8668 -> 8653 bytes
> > tests/data/acpi/pc/DSDT.cphp | Bin 6466 -> 6451 bytes
> > tests/data/acpi/pc/DSDT.dimmpxm | Bin 7656 -> 7641 bytes
> > tests/data/acpi/pc/DSDT.hpbridge | Bin 5969 -> 5954 bytes
> > tests/data/acpi/pc/DSDT.hpbrroot | Bin 3084 -> 3069 bytes
> > tests/data/acpi/pc/DSDT.ipmikcs | Bin 6074 -> 6059 bytes
> > tests/data/acpi/pc/DSDT.memhp | Bin 7361 -> 7346 bytes
> > tests/data/acpi/pc/DSDT.nohpet | Bin 5860 -> 5845 bytes
> > tests/data/acpi/pc/DSDT.numamem | Bin 6008 -> 5993 bytes
> > tests/data/acpi/pc/DSDT.roothp | Bin 6210 -> 6195 bytes
> > tests/data/acpi/q35/DSDT | Bin 8289 -> 8274 bytes
> > tests/data/acpi/q35/DSDT.acpierst | Bin 8306 -> 8291 bytes
> > tests/data/acpi/q35/DSDT.acpihmat | Bin 9614 -> 9599 bytes
> > tests/data/acpi/q35/DSDT.applesmc | Bin 0 -> 8320 bytes
> > tests/data/acpi/q35/DSDT.bridge | Bin 11003 -> 10988 bytes
> > tests/data/acpi/q35/DSDT.cphp | Bin 8753 -> 8738 bytes
> > tests/data/acpi/q35/DSDT.dimmpxm | Bin 9943 -> 9928 bytes
> > tests/data/acpi/q35/DSDT.ipmibt | Bin 8364 -> 8349 bytes
> > tests/data/acpi/q35/DSDT.ipmismbus | Bin 0 -> 8363 bytes
> > tests/data/acpi/q35/DSDT.ivrs | Bin 8306 -> 8291 bytes
> > tests/data/acpi/q35/DSDT.memhp | Bin 9648 -> 9633 bytes
> > tests/data/acpi/q35/DSDT.mmio64 | Bin 9419 -> 9404 bytes
> > tests/data/acpi/q35/DSDT.multi-bridge | Bin 8583 -> 8568 bytes
> > tests/data/acpi/q35/DSDT.nohpet | Bin 8147 -> 8132 bytes
> > tests/data/acpi/q35/DSDT.numamem | Bin 8295 -> 8280 bytes
> > tests/data/acpi/q35/DSDT.pvpanic-isa | Bin 0 -> 8375 bytes
> > tests/data/acpi/q35/DSDT.tis.tpm12 | Bin 8900 -> 8880 bytes
> > tests/data/acpi/q35/DSDT.tis.tpm2 | Bin 8921 -> 8906 bytes
> > tests/data/acpi/q35/DSDT.viot | Bin 9398 -> 9383 bytes
> > tests/data/acpi/q35/DSDT.xapic | Bin 35652 -> 35637 bytes
> > tests/qtest/bios-tables-test.c | 40 ++++++
> > 61 files changed, 360 insertions(+), 239 deletions(-)
> > create mode 100644 include/hw/acpi/acpi_aml_interface.h
> > create mode 100644 tests/data/acpi/q35/DSDT.applesmc
> > create mode 100644 tests/data/acpi/q35/DSDT.ipmismbus
> > create mode 100644 tests/data/acpi/q35/DSDT.pvpanic-isa
> >
> > --
> > 2.31.1
>
next prev parent reply other threads:[~2022-05-17 16:16 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-16 15:25 [PATCH 00/35] pc/q35: refactor ISA and SMBUS AML generation Igor Mammedov
2022-05-16 15:25 ` [PATCH 01/35] acpi: add interface to build device specific AML Igor Mammedov
2022-05-18 10:00 ` Ani Sinha
2022-05-19 12:54 ` Igor Mammedov
2022-05-16 15:25 ` [PATCH 02/35] acpi: make isa_build_aml() support AcpiDevAmlIf interface Igor Mammedov
2022-05-18 10:13 ` Ani Sinha
2022-05-16 15:25 ` [PATCH 03/35] acpi: fdc-isa: replace ISADeviceClass::build_aml with AcpiDevAmlIfClass:build_dev_aml Igor Mammedov
2022-05-16 15:25 ` [PATCH 04/35] acpi: parallel port: " Igor Mammedov
2022-05-16 15:25 ` [PATCH 05/35] acpi: serial-is: " Igor Mammedov
2022-05-16 15:25 ` [PATCH 06/35] acpi: mc146818rtc: " Igor Mammedov
2022-05-16 15:25 ` [PATCH 07/35] acpi: pckbd: " Igor Mammedov
2022-05-16 15:25 ` [PATCH 08/35] isa-bus: drop no longer used ISADeviceClass::build_aml Igor Mammedov
2022-05-16 15:25 ` [PATCH 09/35] tests: acpi: add and whitelist DSDT.ipmismbus expected blob Igor Mammedov
2022-05-16 15:25 ` [PATCH 10/35] tests: acpi: q35: add test for smbus-ipmi device Igor Mammedov
2022-05-16 15:25 ` [PATCH 11/35] tests: acpi: update expected blob DSDT.ipmismbus Igor Mammedov
2022-05-16 15:25 ` [PATCH 12/35] tests: acpi: whitelist DSDT.ipmismbus expected blob Igor Mammedov
2022-05-16 15:25 ` [PATCH 13/35] ipmi: acpi: use relative path to resource source Igor Mammedov
2022-05-16 15:25 ` [PATCH 14/35] tests: acpi: update expected DSDT.ipmismbus blob Igor Mammedov
2022-05-16 15:25 ` [PATCH 15/35] acpi: ich9-smb: add support for AcpiDevAmlIf interface Igor Mammedov
2022-05-16 15:25 ` [PATCH 16/35] acpi: ipmi: use AcpiDevAmlIf interface to build IPMI device descriptors Igor Mammedov
2022-06-07 10:56 ` Michael S. Tsirkin
2022-05-16 15:25 ` [PATCH 17/35] q35: acpi: drop not needed PCMachineClass::do_not_add_smb_acpi Igor Mammedov
2022-05-16 15:25 ` [PATCH 18/35] tests: acpi: white-list to be re-factored pc/q35 DSDT Igor Mammedov
2022-05-16 15:25 ` [PATCH 19/35] acpi: pc: isa bridge: use AcpiDevAmlIf interface to build ISA device descriptors Igor Mammedov
2022-05-16 15:25 ` [PATCH 20/35] acpi: q35: " Igor Mammedov
2022-05-16 15:25 ` [PATCH 21/35] tests: acpi: update expected blobs Igor Mammedov
2022-05-16 15:25 ` [PATCH 22/35] tests: acpi: add and white-list DSDT.applesmc expected blob Igor Mammedov
2022-05-16 15:25 ` [PATCH 23/35] tests: acpi: add applesmc testcase Igor Mammedov
2022-05-16 15:25 ` [PATCH 24/35] acpi: applesmc: use AcpiDevAmlIfClass:build_dev_aml to provide device's AML Igor Mammedov
2022-05-16 15:26 ` [PATCH 25/35] tests: acpi: update expected blobs Igor Mammedov
2022-05-16 15:26 ` [PATCH 26/35] tests: acpi: white-lists expected DSDT.pvpanic-isa blob Igor Mammedov
2022-05-16 15:26 ` [PATCH 27/35] tests: acpi: add pvpanic-isa: testcase Igor Mammedov
2022-05-16 15:26 ` [PATCH 28/35] acpi: pvpanic-isa: use AcpiDevAmlIfClass:build_dev_aml to provide device's AML Igor Mammedov
2022-05-16 20:46 ` Michael S. Tsirkin
2022-05-17 8:13 ` Gerd Hoffmann
2022-05-18 16:29 ` Michael S. Tsirkin
2022-05-19 11:52 ` Igor Mammedov
2022-05-26 13:57 ` Igor Mammedov
2022-05-17 16:01 ` Igor Mammedov
2022-05-19 17:56 ` Igor Mammedov
2022-05-16 15:26 ` [PATCH 29/35] tests: acpi: update expected DSDT.pvpanic-isa blob Igor Mammedov
2022-05-16 15:26 ` [PATCH 30/35] tests: acpi: white-list DSDT.tis.tpm2/DSDT.tis.tpm12 expected blobs Igor Mammedov
2022-05-18 10:20 ` Ani Sinha
2022-05-16 15:26 ` [PATCH 31/35] acpi: pc/q35: tpm-tis: fix TPM device scope Igor Mammedov
2022-05-18 9:03 ` Ani Sinha
2022-05-19 12:55 ` Igor Mammedov
2022-05-16 15:26 ` [PATCH 32/35] acpi: pc/q35: remove not needed 'if' condition on pci bus Igor Mammedov
2022-05-18 8:43 ` Ani Sinha
2022-05-16 15:26 ` [PATCH 33/35] acpi: tpm-tis: use AcpiDevAmlIfClass:build_dev_aml to provide device's AML Igor Mammedov
2022-05-18 10:45 ` Ani Sinha
2022-05-16 15:26 ` [PATCH 34/35] tests: acpi: update expected DSDT.tis.tpm2/DSDT.tis.tpm12 blobs Igor Mammedov
2022-05-18 10:49 ` Ani Sinha
2022-05-16 15:26 ` [PATCH 35/35] x86: acpi-build: do not include hw/isa/isa.h directly Igor Mammedov
2022-05-16 20:47 ` [PATCH 00/35] pc/q35: refactor ISA and SMBUS AML generation Michael S. Tsirkin
2022-05-17 16:09 ` Igor Mammedov [this message]
2022-05-17 8:17 ` Gerd Hoffmann
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=20220517180957.23124016@redhat.com \
--to=imammedo@redhat.com \
--cc=ani@anisinha.ca \
--cc=kraxel@redhat.com \
--cc=marcandre.lureau@redhat.com \
--cc=minyard@acm.org \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanb@linux.vnet.ibm.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).