aboutsummaryrefslogtreecommitdiff
path: root/tests/arm-cpu-features.c
diff options
context:
space:
mode:
authorAndrew Jones <drjones@redhat.com>2019-10-31 15:27:31 +0100
committerPeter Maydell <peter.maydell@linaro.org>2019-11-01 20:40:59 +0000
commit14e99e0fbbc6b5d99ad99ab32183e1ffe40f8984 (patch)
treeeef01a1613958fc288d6bbe9288f959f2c57ec84 /tests/arm-cpu-features.c
parent40b3fd21fb6567ade28007277eb653bc727aa415 (diff)
downloadqemu-14e99e0fbbc6b5d99ad99ab32183e1ffe40f8984.zip
qemu-14e99e0fbbc6b5d99ad99ab32183e1ffe40f8984.tar.gz
qemu-14e99e0fbbc6b5d99ad99ab32183e1ffe40f8984.tar.bz2
target/arm/kvm64: max cpu: Enable SVE when available
Enable SVE in the KVM guest when the 'max' cpu type is configured and KVM supports it. KVM SVE requires use of the new finalize vcpu ioctl, so we add that now too. For starters SVE can only be turned on or off, getting all vector lengths the host CPU supports when on. We'll add the other SVE CPU properties in later patches. Signed-off-by: Andrew Jones <drjones@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Eric Auger <eric.auger@redhat.com> Tested-by: Masayoshi Mizuma <m.mizuma@jp.fujitsu.com> Reviewed-by: Beata Michalska <beata.michalska@linaro.org> Message-id: 20191031142734.8590-7-drjones@redhat.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'tests/arm-cpu-features.c')
-rw-r--r--tests/arm-cpu-features.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/tests/arm-cpu-features.c b/tests/arm-cpu-features.c
index 45fa3cb..a48f910 100644
--- a/tests/arm-cpu-features.c
+++ b/tests/arm-cpu-features.c
@@ -417,12 +417,16 @@ static void test_query_cpu_model_expansion_kvm(const void *data)
assert_has_feature(qts, "host", "aarch64");
assert_has_feature(qts, "host", "pmu");
+ assert_has_feature(qts, "max", "sve");
+
assert_error(qts, "cortex-a15",
"We cannot guarantee the CPU type 'cortex-a15' works "
"with KVM on this host", NULL);
} else {
assert_has_not_feature(qts, "host", "aarch64");
assert_has_not_feature(qts, "host", "pmu");
+
+ assert_has_not_feature(qts, "max", "sve");
}
qtest_quit(qts);