@@ -2114,6 +2114,10 @@ int main(int argc, char *argv[])
char *v_env = getenv("V");
int ret;
+ if (!has_tcg && !has_kvm) {
+ return 0;
+ }
+
if (v_env) {
verbosity_level = atoi(v_env);
}
@@ -17,6 +17,9 @@
#include "libqtest.h"
#include "libqos/libqos-spapr.h"
+static bool has_tcg;
+static bool has_kvm;
+
static const uint8_t bios_avr[] = {
0x88, 0xe0, /* ldi r24, 0x08 */
0x80, 0x93, 0xc1, 0x00, /* sts 0x00C1, r24 ; Enable tx */
@@ -285,6 +288,13 @@ int main(int argc, char *argv[])
const char *arch = qtest_get_arch();
int i;
+ has_tcg = qtest_has_accel("tcg");
+ has_kvm = qtest_has_accel("kvm");
+
+ if (!has_tcg && !has_kvm) {
+ return 0;
+ }
+
g_test_init(&argc, &argv, NULL);
for (i = 0; tests[i].arch != NULL; i++) {
@@ -2460,11 +2460,16 @@ static bool kvm_dirty_ring_supported(void)
int main(int argc, char **argv)
{
const bool has_kvm = qtest_has_accel("kvm");
+ const bool has_tcg = qtest_has_accel("tcg");
const bool has_uffd = ufd_version_check();
const char *arch = qtest_get_arch();
g_autoptr(GError) err = NULL;
int ret;
+ if (!has_tcg && !has_kvm) {
+ return 0;
+ }
+
g_test_init(&argc, &argv, NULL);
/*
@@ -130,6 +130,12 @@ int main(int argc, char *argv[])
{
int ret;
const char *arch = qtest_get_arch();
+ bool has_tcg = qtest_has_accel("tcg");
+ bool has_kvm = qtest_has_accel("kvm");
+
+ if (!has_tcg && !has_kvm) {
+ return 0;
+ }
ret = boot_sector_init(disk);
if(ret)
@@ -164,6 +164,12 @@ static void vmgenid_query_monitor_test(void)
int main(int argc, char **argv)
{
int ret;
+ bool has_tcg = qtest_has_accel("tcg");
+ bool has_kvm = qtest_has_accel("kvm");
+
+ if (!has_tcg && !has_kvm) {
+ return 0;
+ }
ret = boot_sector_init(disk);
if (ret) {
It is possible to have a build with both TCG and KVM disabled due to Xen requiring the i386 and x86_64 binaries to be present in an aarch64 host. If we build with --disable-tcg on the aarch64 host, we will end-up with a QEMU binary (x86) that does not support TCG nor KVM. Fix tests that crash or hang in the above scenario. Do not include any test cases if TCG and KVM are missing. Signed-off-by: Fabiano Rosas <farosas@suse.de> --- This currently affects Arm, but will also affect x86 after the xenpvh series gets merged. This patch fixes both scenarios. --- tests/qtest/bios-tables-test.c | 4 ++++ tests/qtest/boot-serial-test.c | 10 ++++++++++ tests/qtest/migration-test.c | 5 +++++ tests/qtest/pxe-test.c | 6 ++++++ tests/qtest/vmgenid-test.c | 6 ++++++ 5 files changed, 31 insertions(+)