summaryrefslogtreecommitdiffstats
path: root/tests/bios-tables-test.c
diff options
context:
space:
mode:
authorIgor Mammedov2019-05-02 16:51:59 +0200
committerMichael S. Tsirkin2019-05-21 00:40:02 +0200
commit3dc018749d2942fdb81676ab2b5948984c961a01 (patch)
tree0c1f309cefe18e8231216dc083a9e5f06d6ad731 /tests/bios-tables-test.c
parenttests: acpi: ignore SMBIOS tests when UEFI firmware is used (diff)
downloadqemu-3dc018749d2942fdb81676ab2b5948984c961a01.tar.gz
qemu-3dc018749d2942fdb81676ab2b5948984c961a01.tar.xz
qemu-3dc018749d2942fdb81676ab2b5948984c961a01.zip
tests: acpi: allow to override default accelerator
By default test cases were run with 'kvm:tcg' accelerators to speed up tests execution. While it works for x86, were change of accelerator doesn't affect ACPI tables, the approach doesn't works for ARM usecase though. In arm/virt case, KVM mode requires using 'host' cpu model, which isn't available in TCG mode. That could be worked around with 'max' cpu model, which works both for KVM and TCG. However in KVM mode it is necessary to specify matching GIC version, which also could use 'max' value to automatically pick GIC version suitable for host's CPU. Depending on host cpu type, different GIC versions would be used, which in turn leads to different ACPI tables (APIC) generated. As result while comparing with reference blobs, test would fail if host's GIC version won't match the version on the host where reference blobs where generated. Let's keep testing simple for now and allow ARM tests run in TCG only mode. To do so introduce 'accel' parameter in test configuration, so test case could override default "kvm:tcg" with accelerator of choice. Signed-off-by: Igor Mammedov <imammedo@redhat.com> Message-Id: <1556808723-226478-12-git-send-email-imammedo@redhat.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'tests/bios-tables-test.c')
-rw-r--r--tests/bios-tables-test.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/tests/bios-tables-test.c b/tests/bios-tables-test.c
index 8302ffc2cd..39c1e24efd 100644
--- a/tests/bios-tables-test.c
+++ b/tests/bios-tables-test.c
@@ -24,6 +24,7 @@
#define ACPI_REBUILD_EXPECTED_AML "TEST_ACPI_REBUILD_AML"
typedef struct {
+ const char *accel;
const char *machine;
const char *variant;
const char *uefi_fl1;
@@ -532,8 +533,8 @@ static void test_acpi_one(const char *params, test_data *data)
args = g_strdup_printf("-machine %s,accel=%s -nodefaults -nographic "
"-drive if=pflash,format=raw,file=%s,readonly "
"-drive if=pflash,format=raw,file=%s,snapshot=on -cdrom %s %s",
- data->machine, "kvm:tcg", data->uefi_fl1, data->uefi_fl2,
- data->cd, params ? params : "");
+ data->machine, data->accel ? data->accel : "kvm:tcg",
+ data->uefi_fl1, data->uefi_fl2, data->cd, params ? params : "");
} else {
/* Disable kernel irqchip to be able to override apic irq0. */
@@ -541,7 +542,8 @@ static void test_acpi_one(const char *params, test_data *data)
"-net none -display none %s "
"-drive id=hd0,if=none,file=%s,format=raw "
"-device ide-hd,drive=hd0 ",
- data->machine, "kvm:tcg", params ? params : "", disk);
+ data->machine, data->accel ? data->accel : "kvm:tcg",
+ params ? params : "", disk);
}
data->qts = qtest_init(args);