diff options
author | David Hildenbrand <david@redhat.com> | 2021-03-04 11:55:53 +0100 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2021-03-22 18:58:19 -0400 |
commit | 6930ba0d44b2f4420948aec5209f665385411f7f (patch) | |
tree | 503cdc6c92cbd2dd61cf68cbc175044c1e1389f4 /hw/i386 | |
parent | 2a3bdc5cec1a16fb731661d2eac896284f691e1f (diff) |
acpi: Move maximum size logic into acpi_add_rom_blob()
We want to have safety margins for all tables based on the table type.
Let's move the maximum size logic into acpi_add_rom_blob() and make it
dependent on the table name, so we don't have to replicate for each and
every instance that creates such tables.
Suggested-by: Laszlo Ersek <lersek@redhat.com>
Cc: Alistair Francis <alistair.francis@xilinx.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>
Cc: Shannon Zhao <shannon.zhaosl@gmail.com>
Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Richard Henderson <richard.henderson@linaro.org>
Cc: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20210304105554.121674-4-david@redhat.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'hw/i386')
-rw-r--r-- | hw/i386/acpi-build.c | 8 | ||||
-rw-r--r-- | hw/i386/acpi-microvm.c | 16 |
2 files changed, 9 insertions, 15 deletions
diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index dc56006353..3aeae15e57 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -2628,14 +2628,12 @@ void acpi_setup(void) /* Now expose it all to Guest */ build_state->table_mr = acpi_add_rom_blob(acpi_build_update, build_state, tables.table_data, - ACPI_BUILD_TABLE_FILE, - ACPI_BUILD_TABLE_MAX_SIZE); + ACPI_BUILD_TABLE_FILE); assert(build_state->table_mr != NULL); build_state->linker_mr = acpi_add_rom_blob(acpi_build_update, build_state, - tables.linker->cmd_blob, ACPI_BUILD_LOADER_FILE, - ACPI_BUILD_LOADER_MAX_SIZE); + tables.linker->cmd_blob, ACPI_BUILD_LOADER_FILE); fw_cfg_add_file(x86ms->fw_cfg, ACPI_BUILD_TPMLOG_FILE, tables.tcpalog->data, acpi_data_len(tables.tcpalog)); @@ -2674,7 +2672,7 @@ void acpi_setup(void) build_state->rsdp = NULL; build_state->rsdp_mr = acpi_add_rom_blob(acpi_build_update, build_state, tables.rsdp, - ACPI_BUILD_RSDP_FILE, 0); + ACPI_BUILD_RSDP_FILE); } qemu_register_reset(acpi_build_reset, build_state); diff --git a/hw/i386/acpi-microvm.c b/hw/i386/acpi-microvm.c index 502aac0ba2..271710eb92 100644 --- a/hw/i386/acpi-microvm.c +++ b/hw/i386/acpi-microvm.c @@ -249,16 +249,12 @@ void acpi_setup_microvm(MicrovmMachineState *mms) acpi_build_microvm(&tables, mms); /* Now expose it all to Guest */ - acpi_add_rom_blob(acpi_build_no_update, NULL, - tables.table_data, - ACPI_BUILD_TABLE_FILE, - ACPI_BUILD_TABLE_MAX_SIZE); - acpi_add_rom_blob(acpi_build_no_update, NULL, - tables.linker->cmd_blob, - ACPI_BUILD_LOADER_FILE, ACPI_BUILD_LOADER_MAX_SIZE); - acpi_add_rom_blob(acpi_build_no_update, NULL, - tables.rsdp, - ACPI_BUILD_RSDP_FILE, 0); + acpi_add_rom_blob(acpi_build_no_update, NULL, tables.table_data, + ACPI_BUILD_TABLE_FILE); + acpi_add_rom_blob(acpi_build_no_update, NULL, tables.linker->cmd_blob, + ACPI_BUILD_LOADER_FILE); + acpi_add_rom_blob(acpi_build_no_update, NULL, tables.rsdp, + ACPI_BUILD_RSDP_FILE); acpi_build_tables_cleanup(&tables, false); } |