Now that the alignment is parameterized, we can share the call to acpi_align_size between all three (1.7-2.0/2.1/2.2+) sizing algorithms.
Also, with the new rule that SSDT cannot change except with machine-type compat code, the magic 97 constant for a CPU's AML size is not anymore "legacy", so rename it. Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> --- hw/i386/acpi-build.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index 1bb3222..df930b7 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -64,8 +64,8 @@ * a little bit, there should be plenty of free space since the DSDT * shrunk by ~1.5k between QEMU 2.0 and QEMU 2.1. */ -#define ACPI_BUILD_LEGACY_CPU_AML_SIZE 97 -#define ACPI_BUILD_ALIGN_SIZE 0x1000 +#define ACPI_BUILD_CPU_AML_SIZE 97 +#define ACPI_BUILD_ALIGN_SIZE 0x1000 /* #define DEBUG_ACPI_BUILD */ #ifdef DEBUG_ACPI_BUILD @@ -1688,10 +1688,9 @@ void acpi_build(PcGuestInfo *guest_info, AcpiBuildTables *tables) */ int legacy_aml_len = guest_info->legacy_acpi_table_size + - ACPI_BUILD_LEGACY_CPU_AML_SIZE * max_cpus; + ACPI_BUILD_CPU_AML_SIZE * max_cpus; int legacy_table_size = - ROUND_UP(tables->table_data->len - aml_len + legacy_aml_len, - ACPI_BUILD_ALIGN_SIZE); + tables->table_data->len - aml_len + legacy_aml_len; if (tables->table_data->len > legacy_table_size) { /* Should happen only with PCI bridges and -M pc-i440fx-2.0. */ error_report("Warning: migration may not work."); @@ -1707,8 +1706,8 @@ void acpi_build(PcGuestInfo *guest_info, AcpiBuildTables *tables) error_report("Warning: migration may not work."); error_report("Warning: please upgrade to a newer machine type."); } - acpi_align_size(tables->table_data, guest_info->acpi_table_align); } + acpi_align_size(tables->table_data, guest_info->acpi_table_align); acpi_align_size(tables->linker, ACPI_BUILD_ALIGN_SIZE); -- 1.8.3.1