This patch consolidates ACPI OEM fields handling by: - Moving common code in PC and MICROVM to X86. - Changes unnecessary dynamic memory allocation to static allocation - Uses dedicated structure to keep values of fields instead of two separate strings - Adds helper functions to initialize the structure
v2: - Move the setters/getters of OEM fields to X86MachineState to remove duplication - Change commit message to make it clear the second commit is a re-factor v3: - Rebase "acpi: Consolidate the handling of OEM ID and OEM Table ID fields to latest" to latest HEAD - Dropped "acpi: Move setters/getters of oem fields to X86MachineState" since it was accepted already v4: - Drop helper macros and use static inline functions instead - Removed variables starting with __ - Used consistent naming for helper functions that start with ACPI_BUILD_OEM_* - Didn't drop the defines ACPI_BUILD_APPNAME6 and ACPI_BUILD_APPNAME8 since ACPI_BUILD_APPNAME8 is still used in build_header() in aml-build.c and it feels better to keep them defined together. But if others prefer to drop the ACPI_BUILD_APPNAME6 define, will resend the patch. v5: - Rebase on mst tree latest HEAD v6: - Rebase on mst tree latest HEAD - Fixed compilation error in hw/acpi/ghes-stub.c - Fixed coding style error by typedefing struct AcpiBuildOem Marian Postevca (1): acpi: Consolidate the handling of OEM ID and OEM Table ID fields hw/acpi/hmat.h | 2 +- hw/i386/acpi-common.h | 2 +- include/hw/acpi/acpi-build-oem.h | 61 +++++++++++++++++++++++++ include/hw/acpi/aml-build.h | 15 +++--- include/hw/acpi/ghes.h | 2 +- include/hw/acpi/pci.h | 2 +- include/hw/acpi/vmgenid.h | 2 +- include/hw/arm/virt.h | 4 +- include/hw/i386/x86.h | 4 +- include/hw/mem/nvdimm.h | 4 +- hw/acpi/aml-build.c | 26 +++++------ hw/acpi/ghes-stub.c | 1 + hw/acpi/ghes.c | 5 +- hw/acpi/hmat.c | 4 +- hw/acpi/nvdimm.c | 22 +++++---- hw/acpi/pci.c | 4 +- hw/acpi/vmgenid.c | 6 ++- hw/arm/virt-acpi-build.c | 40 ++++++---------- hw/arm/virt.c | 16 +++---- hw/i386/acpi-build.c | 78 +++++++++++++++----------------- hw/i386/acpi-common.c | 4 +- hw/i386/acpi-microvm.c | 13 ++---- hw/i386/x86.c | 19 ++++---- 23 files changed, 189 insertions(+), 147 deletions(-) create mode 100644 include/hw/acpi/acpi-build-oem.h -- 2.31.1