[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH RESEND v2 6/6] target/arm: Add vCPU feature 'el2' test.
From: |
Haibo Xu |
Subject: |
[PATCH RESEND v2 6/6] target/arm: Add vCPU feature 'el2' test. |
Date: |
Thu, 1 Apr 2021 12:55:38 +0000 |
Signed-off-by: Haibo Xu <haibo.xu@linaro.org>
---
target/arm/monitor.c | 2 +-
tests/qtest/arm-cpu-features.c | 9 +++++++++
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/target/arm/monitor.c b/target/arm/monitor.c
index 80c64fa355..6c39238925 100644
--- a/target/arm/monitor.c
+++ b/target/arm/monitor.c
@@ -90,7 +90,7 @@ QEMU_BUILD_BUG_ON(ARM_MAX_VQ > 16);
* then the order that considers those dependencies must be used.
*/
static const char *cpu_model_advertised_features[] = {
- "aarch64", "pmu", "sve",
+ "aarch64", "pmu", "sve", "el2",
"sve128", "sve256", "sve384", "sve512",
"sve640", "sve768", "sve896", "sve1024", "sve1152", "sve1280",
"sve1408", "sve1536", "sve1664", "sve1792", "sve1920", "sve2048",
diff --git a/tests/qtest/arm-cpu-features.c b/tests/qtest/arm-cpu-features.c
index 8252b85bb8..be07bf0c76 100644
--- a/tests/qtest/arm-cpu-features.c
+++ b/tests/qtest/arm-cpu-features.c
@@ -509,6 +509,7 @@ static void test_query_cpu_model_expansion_kvm(const void
*data)
if (g_str_equal(qtest_get_arch(), "aarch64")) {
bool kvm_supports_steal_time;
bool kvm_supports_sve;
+ bool kvm_supports_el2;
char max_name[8], name[8];
uint32_t max_vq, vq;
uint64_t vls;
@@ -533,10 +534,12 @@ static void test_query_cpu_model_expansion_kvm(const void
*data)
*/
assert_has_feature(qts, "host", "kvm-steal-time");
assert_has_feature(qts, "host", "sve");
+ assert_has_feature(qts, "host", "el2");
resp = do_query_no_props(qts, "host");
kvm_supports_steal_time = resp_get_feature(resp, "kvm-steal-time");
kvm_supports_sve = resp_get_feature(resp, "sve");
+ kvm_supports_el2 = resp_get_feature(resp, "el2");
vls = resp_get_sve_vls(resp);
qobject_unref(resp);
@@ -602,11 +605,17 @@ static void test_query_cpu_model_expansion_kvm(const void
*data)
} else {
g_assert(vls == 0);
}
+
+ if (kvm_supports_el2) {
+ assert_set_feature(qts, "host", "el2", false);
+ assert_set_feature(qts, "host", "el2", true);
+ }
} else {
assert_has_not_feature(qts, "host", "aarch64");
assert_has_not_feature(qts, "host", "pmu");
assert_has_not_feature(qts, "host", "sve");
assert_has_not_feature(qts, "host", "kvm-steal-time");
+ assert_has_not_feature(qts, "host", "el2");
}
qtest_quit(qts);
--
2.17.1
- [PATCH RESEND v2 2/6] target/arm/kvm: Add helper to detect el2 when using KVM, (continued)
[PATCH RESEND v2 6/6] target/arm: Add vCPU feature 'el2' test.,
Haibo Xu <=
[PATCH RESEND v2 4/6] hw/intc/arm_gicv3: Enable support for setting vGIC maintenance IRQ, Haibo Xu, 2021/04/01
Re: [PATCH RESEND v2 0/6] target/arm: Add nested virtualization support, Andrea Bolognani, 2021/04/01
Re: [PATCH RESEND v2 0/6] target/arm: Add nested virtualization support, Andrew Jones, 2021/04/27
Re: [PATCH RESEND v2 0/6] target/arm: Add nested virtualization support, Peter Maydell, 2021/04/27