mirror of https://github.com/xemu-project/xemu.git
unit-test: Add testcase for pxb
Add testcase for pxb to make sure the ACPI table is correct for guest. Signed-off-by: Yubo Miao <miaoyubo@huawei.com> Signed-off-by: Jiahui Cen <cenjiahui@huawei.com> Message-Id: <20201119014841.7298-9-cenjiahui@huawei.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
128e232281
commit
1da638b165
|
@ -671,12 +671,21 @@ static void test_acpi_one(const char *params, test_data *data)
|
||||||
* TODO: convert '-drive if=pflash' to new syntax (see e33763be7cd3)
|
* TODO: convert '-drive if=pflash' to new syntax (see e33763be7cd3)
|
||||||
* when arm/virt boad starts to support it.
|
* when arm/virt boad starts to support it.
|
||||||
*/
|
*/
|
||||||
args = g_strdup_printf("-machine %s %s -accel tcg -nodefaults -nographic "
|
if (data->cd) {
|
||||||
"-drive if=pflash,format=raw,file=%s,readonly "
|
args = g_strdup_printf("-machine %s %s -accel tcg "
|
||||||
"-drive if=pflash,format=raw,file=%s,snapshot=on -cdrom %s %s",
|
"-nodefaults -nographic "
|
||||||
data->machine, data->tcg_only ? "" : "-accel kvm",
|
"-drive if=pflash,format=raw,file=%s,readonly "
|
||||||
data->uefi_fl1, data->uefi_fl2, data->cd, params ? params : "");
|
"-drive if=pflash,format=raw,file=%s,snapshot=on -cdrom %s %s",
|
||||||
|
data->machine, data->tcg_only ? "" : "-accel kvm",
|
||||||
|
data->uefi_fl1, data->uefi_fl2, data->cd, params ? params : "");
|
||||||
|
} else {
|
||||||
|
args = g_strdup_printf("-machine %s %s -accel tcg "
|
||||||
|
"-nodefaults -nographic "
|
||||||
|
"-drive if=pflash,format=raw,file=%s,readonly "
|
||||||
|
"-drive if=pflash,format=raw,file=%s,snapshot=on %s",
|
||||||
|
data->machine, data->tcg_only ? "" : "-accel kvm",
|
||||||
|
data->uefi_fl1, data->uefi_fl2, params ? params : "");
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
args = g_strdup_printf("-machine %s %s -accel tcg "
|
args = g_strdup_printf("-machine %s %s -accel tcg "
|
||||||
"-net none -display none %s "
|
"-net none -display none %s "
|
||||||
|
@ -1176,6 +1185,40 @@ static void test_acpi_virt_tcg_numamem(void)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_PXB
|
||||||
|
static void test_acpi_virt_tcg_pxb(void)
|
||||||
|
{
|
||||||
|
test_data data = {
|
||||||
|
.machine = "virt",
|
||||||
|
.tcg_only = true,
|
||||||
|
.uefi_fl1 = "pc-bios/edk2-aarch64-code.fd",
|
||||||
|
.uefi_fl2 = "pc-bios/edk2-arm-vars.fd",
|
||||||
|
.ram_start = 0x40000000ULL,
|
||||||
|
.scan_len = 128ULL * 1024 * 1024,
|
||||||
|
};
|
||||||
|
/*
|
||||||
|
* While using -cdrom, the cdrom would auto plugged into pxb-pcie,
|
||||||
|
* the reason is the bus of pxb-pcie is also root bus, it would lead
|
||||||
|
* to the error only PCI/PCIE bridge could plug onto pxb.
|
||||||
|
* Therefore,thr cdrom is defined and plugged onto the scsi controller
|
||||||
|
* to solve the conflicts.
|
||||||
|
*/
|
||||||
|
data.variant = ".pxb";
|
||||||
|
test_acpi_one(" -device pcie-root-port,chassis=1,id=pci.1"
|
||||||
|
" -device virtio-scsi-pci,id=scsi0,bus=pci.1"
|
||||||
|
" -drive file="
|
||||||
|
"tests/data/uefi-boot-images/bios-tables-test.aarch64.iso.qcow2,"
|
||||||
|
"if=none,media=cdrom,id=drive-scsi0-0-0-1,readonly=on"
|
||||||
|
" -device scsi-cd,bus=scsi0.0,scsi-id=0,"
|
||||||
|
"drive=drive-scsi0-0-0-1,id=scsi0-0-0-1,bootindex=1"
|
||||||
|
" -cpu cortex-a57"
|
||||||
|
" -device pxb-pcie,bus_nr=128",
|
||||||
|
&data);
|
||||||
|
|
||||||
|
free_test_data(&data);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static void test_acpi_tcg_acpi_hmat(const char *machine)
|
static void test_acpi_tcg_acpi_hmat(const char *machine)
|
||||||
{
|
{
|
||||||
test_data data;
|
test_data data;
|
||||||
|
@ -1287,6 +1330,9 @@ int main(int argc, char *argv[])
|
||||||
qtest_add_func("acpi/virt", test_acpi_virt_tcg);
|
qtest_add_func("acpi/virt", test_acpi_virt_tcg);
|
||||||
qtest_add_func("acpi/virt/numamem", test_acpi_virt_tcg_numamem);
|
qtest_add_func("acpi/virt/numamem", test_acpi_virt_tcg_numamem);
|
||||||
qtest_add_func("acpi/virt/memhp", test_acpi_virt_tcg_memhp);
|
qtest_add_func("acpi/virt/memhp", test_acpi_virt_tcg_memhp);
|
||||||
|
#ifdef CONFIG_PXB
|
||||||
|
qtest_add_func("acpi/virt/pxb", test_acpi_virt_tcg_pxb);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
ret = g_test_run();
|
ret = g_test_run();
|
||||||
boot_sector_cleanup(disk);
|
boot_sector_cleanup(disk);
|
||||||
|
|
Loading…
Reference in New Issue