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>
This commit is contained in:
parent
f3bc2c3f33
commit
73e2cba058
2 changed files with 80 additions and 0 deletions
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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…
Add table
Add a link
Reference in a new issue