From b3d5600c6bb4b2092f9f61eab0b7fc61226b888e Mon Sep 17 00:00:00 2001 From: Igor Mammedov Date: Mon, 27 Dec 2021 14:31:19 -0500 Subject: [PATCH 05/12] tests: acpi: add SLIC table test RH-Author: Igor Mammedov RH-MergeRequest: 129: acpi: fix QEMU crash when started with SLIC table RH-Commit: [3/10] c27a8c69ef8054631a5551521b2debb67eed3c6b RH-Bugzilla: 2059311 RH-Acked-by: Jon Maloy RH-Acked-by: Gerd Hoffmann RH-Acked-by: MST When user uses '-acpitable' to add SLIC table, some ACPI tables (FADT) will change its 'Oem ID'/'Oem Table ID' fields to match that of SLIC. Test makes sure thati QEMU handles those fields correctly when SLIC table is added with '-acpitable' option. Conflicts: tests/qtest/bios-tables-test.c due to missing 39d7554b2009 ("tests/acpi: add test case for VIOT") Signed-off-by: Igor Mammedov Message-Id: <20211227193120.1084176-4-imammedo@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin (cherry picked from commit 11edfabee443b149468a82b5efc88c96d1d259ec) Signed-off-by: Igor Mammedov --- tests/qtest/bios-tables-test.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c index 16d8304cde..e159b71136 100644 --- a/tests/qtest/bios-tables-test.c +++ b/tests/qtest/bios-tables-test.c @@ -1467,6 +1467,20 @@ static void test_acpi_virt_tcg(void) free_test_data(&data); } +static void test_acpi_q35_slic(void) +{ + test_data data = { + .machine = MACHINE_Q35, + .variant = ".slic", + }; + + test_acpi_one("-acpitable sig=SLIC,oem_id='CRASH ',oem_table_id='ME'," + "oem_rev=00002210,asl_compiler_id='qemu'," + "asl_compiler_rev=00000000,data=/dev/null", + &data); + free_test_data(&data); +} + static void test_oem_fields(test_data *data) { int i; @@ -1641,6 +1655,7 @@ int main(int argc, char *argv[]) qtest_add_func("acpi/q35/kvm/xapic", test_acpi_q35_kvm_xapic); qtest_add_func("acpi/q35/kvm/dmar", test_acpi_q35_kvm_dmar); } + qtest_add_func("acpi/q35/slic", test_acpi_q35_slic); } else if (strcmp(arch, "aarch64") == 0) { if (has_tcg) { qtest_add_func("acpi/virt", test_acpi_virt_tcg); -- 2.27.0