diff options
author | Haibo Xu <haibo.xu@linaro.org> | 2025-07-07 18:40:28 +0200 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2025-07-10 11:41:02 +0100 |
commit | 776aac5653cd9b072c735fcd65a3e58bd59370f4 (patch) | |
tree | af598d82a0b8366c959929235ebf045780ec63ae | |
parent | 66ba6d1367d7e81d705430ff611af01280953992 (diff) | |
download | qemu-776aac5653cd9b072c735fcd65a3e58bd59370f4.zip qemu-776aac5653cd9b072c735fcd65a3e58bd59370f4.tar.gz qemu-776aac5653cd9b072c735fcd65a3e58bd59370f4.tar.bz2 |
target/arm/kvm: Add helper to detect EL2 when using KVM
Introduce query support for KVM_CAP_ARM_EL2.
Signed-off-by: Haibo Xu <haibo.xu@linaro.org>
Signed-off-by: Miguel Luis <miguel.luis@oracle.com>
Signed-off-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-id: 20250707164129.1167837-3-eric.auger@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r-- | target/arm/kvm-stub.c | 5 | ||||
-rw-r--r-- | target/arm/kvm.c | 5 | ||||
-rw-r--r-- | target/arm/kvm_arm.h | 7 |
3 files changed, 17 insertions, 0 deletions
diff --git a/target/arm/kvm-stub.c b/target/arm/kvm-stub.c index 34e57fa..c93462c 100644 --- a/target/arm/kvm-stub.c +++ b/target/arm/kvm-stub.c @@ -47,6 +47,11 @@ bool kvm_arm_mte_supported(void) return false; } +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 8ab0d69..9fdf354 100644 --- a/target/arm/kvm.c +++ b/target/arm/kvm.c @@ -1763,6 +1763,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 7dc83ca..b4cad05 100644 --- a/target/arm/kvm_arm.h +++ b/target/arm/kvm_arm.h @@ -192,6 +192,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 * @fixed_ipa: True when the IPA limit is fixed at 40. This is the case |