diff --git a/arch/arm64/kvm/hyp/include/nvhe/pkvm.h b/arch/arm64/kvm/hyp/include/nvhe/pkvm.h index 5c0c9a0e1097..32a77d17761f 100644 --- a/arch/arm64/kvm/hyp/include/nvhe/pkvm.h +++ b/arch/arm64/kvm/hyp/include/nvhe/pkvm.h @@ -82,6 +82,8 @@ struct pkvm_hyp_vm { struct pkvm_hyp_vcpu *vcpus[]; }; +DECLARE_PER_CPU(struct user_fpsimd_state, loaded_host_fpsimd_state); + static inline struct pkvm_hyp_vm * pkvm_hyp_vcpu_to_hyp_vm(struct pkvm_hyp_vcpu *hyp_vcpu) { diff --git a/arch/arm64/kvm/hyp/nvhe/hyp-main.c b/arch/arm64/kvm/hyp/nvhe/hyp-main.c index 4cb20eed14e2..f217c4af956a 100644 --- a/arch/arm64/kvm/hyp/nvhe/hyp-main.c +++ b/arch/arm64/kvm/hyp/nvhe/hyp-main.c @@ -30,14 +30,6 @@ #include "../../sys_regs.h" -/* - * Host FPSIMD state. Written to when the guest accesses its own FPSIMD state, - * and read when the guest state is live and we need to switch back to the host. - * - * Only valid when (fp_state == FP_STATE_GUEST_OWNED) in the hyp vCPU structure. - */ -static DEFINE_PER_CPU(struct user_fpsimd_state, loaded_host_fpsimd_state); - DEFINE_PER_CPU(struct kvm_nvhe_init_params, kvm_init_params); void __kvm_hyp_host_forward_smc(struct kvm_cpu_context *host_ctxt); diff --git a/arch/arm64/kvm/hyp/nvhe/pkvm.c b/arch/arm64/kvm/hyp/nvhe/pkvm.c index 040467669c6b..5774fc4c5a70 100644 --- a/arch/arm64/kvm/hyp/nvhe/pkvm.c +++ b/arch/arm64/kvm/hyp/nvhe/pkvm.c @@ -31,6 +31,14 @@ unsigned int kvm_arm_vmid_bits; */ static DEFINE_PER_CPU(struct pkvm_hyp_vcpu *, loaded_hyp_vcpu); +/* + * Host FPSIMD state. Written to when the guest accesses its own FPSIMD state, + * and read when the guest state is live and we need to switch back to the host. + * + * Only valid when (fp_state == FP_STATE_GUEST_OWNED) in the hyp vCPU structure. + */ +DEFINE_PER_CPU(struct user_fpsimd_state, loaded_host_fpsimd_state); + /* * Set trap register values based on features in ID_AA64PFR0. */