From: Haibo Xu <haibo...@linaro.org> Introduce query support for KVM_CAP_ARM_EL2.
Ref: https://lore.kernel.org/qemu-devel/65b8771bfecada08bf02c9cf87c2f0f9cdf943b3.1617281290.git.haibo...@linaro.org/ Signed-off-by: Haibo Xu <haibo...@linaro.org> Signed-off-by: Miguel Luis <miguel.l...@oracle.com> --- target/arm/kvm64.c | 5 +++++ target/arm/kvm_arm.h | 12 ++++++++++++ 2 files changed, 17 insertions(+) diff --git a/target/arm/kvm64.c b/target/arm/kvm64.c index 1197253d12..be8144a2b5 100644 --- a/target/arm/kvm64.c +++ b/target/arm/kvm64.c @@ -754,6 +754,11 @@ bool kvm_arm_aarch32_supported(void) return kvm_check_extension(kvm_state, KVM_CAP_ARM_EL1_32BIT); } +bool kvm_arm_el2_supported(void) +{ + return kvm_check_extension(kvm_state, KVM_CAP_ARM_EL2); +} + bool kvm_arm_sve_supported(void) { return kvm_check_extension(kvm_state, KVM_CAP_ARM_SVE); diff --git a/target/arm/kvm_arm.h b/target/arm/kvm_arm.h index 99017b635c..86a0cb4308 100644 --- a/target/arm/kvm_arm.h +++ b/target/arm/kvm_arm.h @@ -305,6 +305,13 @@ bool kvm_arm_pmu_supported(void); */ bool kvm_arm_sve_supported(void); +/** + * kvm_arm_el2_supported: + * + * Returns true if KVM can enable EL2 and false otherwise. + */ +bool kvm_arm_el2_supported(void); + /** * kvm_arm_get_max_vm_ipa_size: * @ms: Machine state handle @@ -395,6 +402,11 @@ static inline bool kvm_arm_steal_time_supported(void) return false; } +static inline bool kvm_arm_el2_supported(void) +{ + return false; +} + /* * These functions should never actually be called without KVM support. */ -- 2.39.2