@@ -97,6 +97,7 @@ typedef struct {
QTestState *qts;
} test_data;
+static bool tcg_accel_available;
static char disk[] = "tests/acpi-test-disk-XXXXXX";
static const char *data_dir = "tests/data/acpi";
#ifdef CONFIG_IASL
@@ -718,12 +719,7 @@ static void test_acpi_one(const char *params, test_data *data)
char *args;
bool use_uefi = data->uefi_fl1 && data->uefi_fl2;
-#ifndef CONFIG_TCG
- if (data->tcg_only) {
- g_test_skip("TCG disabled, skipping ACPI tcg_only test");
- return;
- }
-#endif /* CONFIG_TCG */
+ assert(!data->tcg_only || tcg_accel_available);
args = test_acpi_create_args(data, params, use_uefi);
data->qts = qtest_init(args);
@@ -1506,6 +1502,8 @@ int main(int argc, char *argv[])
g_test_init(&argc, &argv, NULL);
+ tcg_accel_available = qtest_has_accel("tcg");
+
if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) {
ret = boot_sector_init(disk);
if (ret) {
@@ -1554,10 +1552,10 @@ int main(int argc, char *argv[])
qtest_add_func("acpi/microvm/rtc", test_acpi_microvm_rtc);
qtest_add_func("acpi/microvm/ioapic2", test_acpi_microvm_ioapic2);
qtest_add_func("acpi/microvm/oem-fields", test_acpi_oem_fields_microvm);
- if (strcmp(arch, "x86_64") == 0) {
+ if (strcmp(arch, "x86_64") == 0 && tcg_accel_available) {
qtest_add_func("acpi/microvm/pcie", test_acpi_microvm_pcie_tcg);
}
- } else if (strcmp(arch, "aarch64") == 0) {
+ } else if (strcmp(arch, "aarch64") == 0 && tcg_accel_available) {
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);