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)
|
||||
* when arm/virt boad starts to support it.
|
||||
*/
|
||||
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 -cdrom %s %s",
|
||||
data->machine, data->tcg_only ? "" : "-accel kvm",
|
||||
data->uefi_fl1, data->uefi_fl2, data->cd, params ? params : "");
|
||||
|
||||
if (data->cd) {
|
||||
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 -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 {
|
||||
args = g_strdup_printf("-machine %s %s -accel tcg "
|
||||
"-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)
|
||||
{
|
||||
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/numamem", test_acpi_virt_tcg_numamem);
|
||||
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();
|
||||
boot_sector_cleanup(disk);
|
||||
|
|
Loading…
Reference in New Issue