tests: acpi: add reboot cycle to bridge test

hotplugged bridges should not be described in DSDT,
while it works on cold boot, some ACPPI PCI code
are invoked during reboot.

This patch will let us catch unexpected AML if hotplug
checks are broken.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230112140312.3096331-17-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
Igor Mammedov 2023-01-12 15:02:48 +01:00 committed by Michael S. Tsirkin
parent 2efe88a948
commit c0d19126f3

View File

@ -812,7 +812,7 @@ static void test_vm_prepare(const char *params, test_data *data)
g_free(args);
}
static void process_acpi_tables(test_data *data)
static void process_acpi_tables_noexit(test_data *data)
{
test_acpi_load_tables(data);
@ -831,7 +831,11 @@ static void process_acpi_tables(test_data *data)
SmbiosEntryPointType ep_type = test_smbios_entry_point(data);
test_smbios_structs(data, ep_type);
}
}
static void process_acpi_tables(test_data *data)
{
process_acpi_tables_noexit(data);
qtest_quit(data->qts);
}
@ -883,6 +887,11 @@ static void test_acpi_piix4_tcg_bridge(void)
qtest_qmp_send(data.qts, "{'execute':'cont' }");
qtest_qmp_eventwait(data.qts, "RESUME");
process_acpi_tables_noexit(&data);
free_test_data(&data);
/* check that reboot/reset doesn't change any ACPI tables */
qtest_qmp_send(data.qts, "{'execute':'system_reset' }");
process_acpi_tables(&data);
free_test_data(&data);
}
@ -1005,6 +1014,11 @@ static void test_acpi_q35_multif_bridge(void)
qtest_qmp_send(data.qts, "{'execute':'cont' }");
qtest_qmp_eventwait(data.qts, "RESUME");
process_acpi_tables_noexit(&data);
free_test_data(&data);
/* check that reboot/reset doesn't change any ACPI tables */
qtest_qmp_send(data.qts, "{'execute':'system_reset' }");
process_acpi_tables(&data);
free_test_data(&data);
}