mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 19:30:30 +09:00
ANDROID: KVM: arm64: Add is_pkvm_initialized() helper
Add a helper allowing to check when the pkvm static key is enabled to ease the introduction of pkvm hooks in other parts of the code. Signed-off-by: Quentin Perret <qperret@google.com> Bug: 215520143 Change-Id: Iae065b09bb33d42d73a408365c803727269d0de0
This commit is contained in:
@@ -72,6 +72,12 @@ void __hyp_reset_vectors(void);
|
|||||||
|
|
||||||
DECLARE_STATIC_KEY_FALSE(kvm_protected_mode_initialized);
|
DECLARE_STATIC_KEY_FALSE(kvm_protected_mode_initialized);
|
||||||
|
|
||||||
|
static inline bool is_pkvm_initialized(void)
|
||||||
|
{
|
||||||
|
return IS_ENABLED(CONFIG_KVM) &&
|
||||||
|
static_branch_likely(&kvm_protected_mode_initialized);
|
||||||
|
}
|
||||||
|
|
||||||
/* Reports the availability of HYP mode */
|
/* Reports the availability of HYP mode */
|
||||||
static inline bool is_hyp_mode_available(void)
|
static inline bool is_hyp_mode_available(void)
|
||||||
{
|
{
|
||||||
@@ -79,8 +85,7 @@ static inline bool is_hyp_mode_available(void)
|
|||||||
* If KVM protected mode is initialized, all CPUs must have been booted
|
* If KVM protected mode is initialized, all CPUs must have been booted
|
||||||
* in EL2. Avoid checking __boot_cpu_mode as CPUs now come up in EL1.
|
* in EL2. Avoid checking __boot_cpu_mode as CPUs now come up in EL1.
|
||||||
*/
|
*/
|
||||||
if (IS_ENABLED(CONFIG_KVM) &&
|
if (is_pkvm_initialized())
|
||||||
static_branch_likely(&kvm_protected_mode_initialized))
|
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
return (__boot_cpu_mode[0] == BOOT_CPU_MODE_EL2 &&
|
return (__boot_cpu_mode[0] == BOOT_CPU_MODE_EL2 &&
|
||||||
@@ -94,8 +99,7 @@ static inline bool is_hyp_mode_mismatched(void)
|
|||||||
* If KVM protected mode is initialized, all CPUs must have been booted
|
* If KVM protected mode is initialized, all CPUs must have been booted
|
||||||
* in EL2. Avoid checking __boot_cpu_mode as CPUs now come up in EL1.
|
* in EL2. Avoid checking __boot_cpu_mode as CPUs now come up in EL1.
|
||||||
*/
|
*/
|
||||||
if (IS_ENABLED(CONFIG_KVM) &&
|
if (is_pkvm_initialized())
|
||||||
static_branch_likely(&kvm_protected_mode_initialized))
|
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
return __boot_cpu_mode[0] != __boot_cpu_mode[1];
|
return __boot_cpu_mode[0] != __boot_cpu_mode[1];
|
||||||
|
|||||||
Reference in New Issue
Block a user