diff options
author | Igor Mammedov <imammedo@redhat.com> | 2021-09-02 07:35:40 -0400 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2021-10-20 04:37:55 -0400 |
commit | 80a2f3387c239d06d4a4b6838b511a88838ddc0f (patch) | |
tree | 7bee98bf1e478f3ada03c3e74bc65a9557c24cef /tests/qtest | |
parent | c306cdb0cc5327f336fbf9a7411f319f0717ee75 (diff) | |
download | qemu-80a2f3387c239d06d4a4b6838b511a88838ddc0f.zip qemu-80a2f3387c239d06d4a4b6838b511a88838ddc0f.tar.gz qemu-80a2f3387c239d06d4a4b6838b511a88838ddc0f.tar.bz2 |
tests: acpi: q35: test for x2APIC entries in SRAT
Set -smp 1,maxcpus=288 to test for ACPI code that
deal with CPUs with large APIC ID (>255).
PS:
Test requires KVM and in-kernel irqchip support,
so skip test if KVM is not available.
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20210902113551.461632-5-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'tests/qtest')
-rw-r--r-- | tests/qtest/bios-tables-test.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c index 4f11d03..87a94a5 100644 --- a/tests/qtest/bios-tables-test.c +++ b/tests/qtest/bios-tables-test.c @@ -1033,6 +1033,19 @@ static void test_acpi_q35_tcg_numamem(void) free_test_data(&data); } +static void test_acpi_q35_kvm_xapic(void) +{ + test_data data; + + memset(&data, 0, sizeof(data)); + data.machine = MACHINE_Q35; + data.variant = ".xapic"; + test_acpi_one(" -object memory-backend-ram,id=ram0,size=128M" + " -numa node -numa node,memdev=ram0" + " -machine kernel-irqchip=on -smp 1,maxcpus=288", &data); + free_test_data(&data); +} + static void test_acpi_q35_tcg_nosmm(void) { test_data data; @@ -1509,6 +1522,7 @@ static void test_acpi_oem_fields_virt(void) int main(int argc, char *argv[]) { const char *arch = qtest_get_arch(); + const bool has_kvm = qtest_has_accel("kvm"); int ret; g_test_init(&argc, &argv, NULL); @@ -1567,6 +1581,9 @@ int main(int argc, char *argv[]) if (strcmp(arch, "x86_64") == 0) { qtest_add_func("acpi/microvm/pcie", test_acpi_microvm_pcie_tcg); } + if (has_kvm) { + qtest_add_func("acpi/q35/kvm/xapic", test_acpi_q35_kvm_xapic); + } } else if (strcmp(arch, "aarch64") == 0) { qtest_add_func("acpi/virt", test_acpi_virt_tcg); qtest_add_func("acpi/virt/numamem", test_acpi_virt_tcg_numamem); |