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.au...@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" <m...@redhat.com> > CC: Shannon Zhao <zhaoshengl...@huawei.com> > CC: Auger Eric <eric.au...@redhat.com> > CC: qemu-devel@nongnu.org > CC: qemu-...@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 >