Browse Source

tests/qtest/bios-tables-test: Add basic testing for LoongArch

Add basic ACPI table test case for LoongArch, including cpu topology,
numa memory, memory hotplug and oem-id test cases.

Signed-off-by: Bibo Mao <maobibo@loongson.cn>
Message-Id: <20250612090321.3416594-3-maobibo@loongson.cn>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
pull/294/head
Bibo Mao 10 months ago
committed by Michael S. Tsirkin
parent
commit
73e2cba058
  1. 79
      tests/qtest/bios-tables-test.c
  2. 1
      tests/qtest/meson.build

79
tests/qtest/bios-tables-test.c

@ -2439,6 +2439,74 @@ static void test_acpi_aarch64_virt_oem_fields(void)
g_free(args);
}
#define LOONGARCH64_INIT_TEST_DATA(data) \
test_data data = { \
.machine = "virt", \
.arch = "loongarch64", \
.tcg_only = true, \
.uefi_fl1 = "pc-bios/edk2-loongarch64-code.fd", \
.uefi_fl2 = "pc-bios/edk2-loongarch64-vars.fd", \
.cd = "tests/data/uefi-boot-images/" \
"bios-tables-test.loongarch64.iso.qcow2", \
.ram_start = 0, \
.scan_len = 128ULL * MiB, \
}
static void test_acpi_loongarch64_virt(void)
{
LOONGARCH64_INIT_TEST_DATA(data);
test_acpi_one("-cpu la464 ", &data);
free_test_data(&data);
}
static void test_acpi_loongarch64_virt_topology(void)
{
LOONGARCH64_INIT_TEST_DATA(data);
data.variant = ".topology";
test_acpi_one("-cpu la464 -smp sockets=1,cores=2,threads=2", &data);
free_test_data(&data);
}
static void test_acpi_loongarch64_virt_numamem(void)
{
LOONGARCH64_INIT_TEST_DATA(data);
data.variant = ".numamem";
test_acpi_one(" -cpu la464 -m 128"
" -object memory-backend-ram,id=ram0,size=64M"
" -object memory-backend-ram,id=ram1,size=64M"
" -numa node,memdev=ram0 -numa node,memdev=ram1"
" -numa dist,src=0,dst=1,val=21",
&data);
free_test_data(&data);
}
static void test_acpi_loongarch64_virt_memhp(void)
{
LOONGARCH64_INIT_TEST_DATA(data);
data.variant = ".memhp";
test_acpi_one(" -cpu la464 -m 128,slots=2,maxmem=256M"
" -object memory-backend-ram,id=ram0,size=128M",
&data);
free_test_data(&data);
}
static void test_acpi_loongarch64_virt_oem_fields(void)
{
LOONGARCH64_INIT_TEST_DATA(data);
char *args;
args = test_acpi_create_args(&data, "-cpu la464 "OEM_TEST_ARGS);
data.qts = qtest_init(args);
test_acpi_load_tables(&data);
test_oem_fields(&data);
qtest_quit(data.qts);
free_test_data(&data);
g_free(args);
}
int main(int argc, char *argv[])
{
@ -2614,6 +2682,17 @@ int main(int argc, char *argv[])
qtest_add_func("acpi/virt/numamem",
test_acpi_riscv64_virt_tcg_numamem);
}
} else if (strcmp(arch, "loongarch64") == 0) {
if (has_tcg) {
qtest_add_func("acpi/virt", test_acpi_loongarch64_virt);
qtest_add_func("acpi/virt/topology",
test_acpi_loongarch64_virt_topology);
qtest_add_func("acpi/virt/numamem",
test_acpi_loongarch64_virt_numamem);
qtest_add_func("acpi/virt/memhp", test_acpi_loongarch64_virt_memhp);
qtest_add_func("acpi/virt/oem-fields",
test_acpi_loongarch64_virt_oem_fields);
}
}
ret = g_test_run();
boot_sector_cleanup(disk);

1
tests/qtest/meson.build

@ -148,6 +148,7 @@ qtests_hppa = \
qtests_loongarch64 = qtests_filter + \
(config_all_devices.has_key('CONFIG_LOONGARCH_VIRT') ? ['numa-test'] : []) + \
(unpack_edk2_blobs ? ['bios-tables-test'] : []) + \
['boot-serial-test',
'cpu-plug-test']

Loading…
Cancel
Save