From: Haibo Xu <haibo...@linaro.org> Introduce query support for KVM_CAP_ARM_EL2.
Signed-off-by: Haibo Xu <haibo...@linaro.org> Signed-off-by: Miguel Luis <miguel.l...@oracle.com> Signed-off-by: Eric Auger <eric.au...@redhat.com> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> --- target/arm/kvm_arm.h | 12 ++++++++++++ target/arm/kvm.c | 5 +++++ 2 files changed, 17 insertions(+) diff --git a/target/arm/kvm_arm.h b/target/arm/kvm_arm.h index 05c3de8cd4..8c1314da20 100644 --- a/target/arm/kvm_arm.h +++ b/target/arm/kvm_arm.h @@ -193,6 +193,13 @@ bool kvm_arm_sve_supported(void); */ bool kvm_arm_mte_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 @@ -247,6 +254,11 @@ static inline bool kvm_arm_mte_supported(void) return false; } +static inline bool kvm_arm_el2_supported(void) +{ + return false; +} + /* * These functions should never actually be called without KVM support. */ diff --git a/target/arm/kvm.c b/target/arm/kvm.c index a9444a2c7a..43362164eb 100644 --- a/target/arm/kvm.c +++ b/target/arm/kvm.c @@ -1797,6 +1797,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); -- 2.47.1