diff options
author | Andrew Jones <drjones@redhat.com> | 2019-10-31 15:27:31 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2019-11-01 20:40:59 +0000 |
commit | 14e99e0fbbc6b5d99ad99ab32183e1ffe40f8984 (patch) | |
tree | eef01a1613958fc288d6bbe9288f959f2c57ec84 /tests/arm-cpu-features.c | |
parent | 40b3fd21fb6567ade28007277eb653bc727aa415 (diff) | |
download | qemu-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.c | 4 |
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); |