Hi,
On 28/02/18 15:23, Igor Mammedov wrote:
>
> v2:
> * fix typo in "acpi: remove unused acpi-dsdt.aml"
> * split ACPI_PORT_SMI_CMD into separate cleanup patch
> * s/pm1_/pm1a_/, s/c2_latency/plvl2_lat/, s/c3_latency/plvl3_lat/
> and fix conflicts in followup patches caused by renaming
> * conditional FIRMWARE_CTRL, DSDT patching is introduced in
> the patch that makes build_fadt() generic instead of earlier
> "pc: acpi: isolate FADT specific data into AcpiFadtData structure"
> * update comment to mention that build_fadt() supports 5.1 revision
>
>
>
> Series first cleanups ACPI code around build_fadt() and then
> converts current packed structure approach to a build_append_FOO()
> API, getting rid of error prone explicit endianness conversions
> in code and making build_fadt() look more like APCI table declaration
> from spec, which should be easier to read/maintain. After that
> build_fadt() becomes generic enough that we could drop ARM specific
> implementation and reuse generic build_fadt(), reducing code
> duplication.
>
> PS: tested only x86 which has make check coverage,
> ARM was only slightly tested.
Tested-by: Eric Auger <eric.auger@redhat.com>
on AArch64 with a rhel guest.
Thanks
Eric
>
> git tree for testing:
> https://github.com/imammedo/qemu.git fadt_refactoring_v2
>
> CC: "Michael S. Tsirkin" <mst@redhat.com>
> CC: Shannon Zhao <zhaoshenglong@huawei.com>
> CC: Auger Eric <eric.auger@redhat.com>
> CC: qemu-devel@nongnu.org
> CC: qemu-arm@nongnu.org
>
> Igor Mammedov (10):
> acpi: remove unused acpi-dsdt.aml
> pc: replace pm object initialization with one-liner in
> acpi_get_pm_info()
> acpi: reuse AcpiGenericAddress instead of Acpi20GenericAddress
> acpi: add build_append_gas() helper for Generic Address Structure
> acpi: move ACPI_PORT_SMI_CMD define to header it belongs to
> pc: acpi: isolate FADT specific data into AcpiFadtData structure
> pc: acpi: use build_append_foo() API to construct FADT
> acpi: move build_fadt() from i386 specific to generic ACPI source
> virt_arm: acpi: reuse common build_fadt()
> tests: acpi: don't read all fields in test_acpi_fadt_table()
>
> include/hw/acpi/acpi-defs.h | 136 ++++++++----------------------
> include/hw/acpi/aml-build.h | 23 ++++++
> include/hw/isa/apm.h | 3 +
> Makefile | 1 -
> hw/acpi/aml-build.c | 140 +++++++++++++++++++++++++++++++
> hw/arm/virt-acpi-build.c | 39 ++++-----
> hw/i386/acpi-build.c | 196 ++++++++++++++------------------------------
> hw/isa/apm.c | 1 -
> pc-bios/acpi-dsdt.aml | Bin 4405 -> 0 bytes
> tests/bios-tables-test.c | 82 ++++--------------
> 10 files changed, 294 insertions(+), 327 deletions(-)
> delete mode 100644 pc-bios/acpi-dsdt.aml
>