From bfdd0943290144eb62c11e7e94447877830a2e9c Mon Sep 17 00:00:00 2001 From: Fuad Tabba Date: Mon, 13 Feb 2023 09:24:09 +0000 Subject: [PATCH] ANDROID: KVM: arm64: Move loaded host fp state to pkvm The state will be augmented in future patches and accessed in more than one location. It makes it easier to reason about the code. No functional change intended. Signed-off-by: Fuad Tabba Bug: 267291591 Change-Id: If3a3a9266c201f63c126860b61da9698be9b9faa --- arch/arm64/kvm/hyp/include/nvhe/pkvm.h | 2 ++ arch/arm64/kvm/hyp/nvhe/hyp-main.c | 8 -------- arch/arm64/kvm/hyp/nvhe/pkvm.c | 8 ++++++++ 3 files changed, 10 insertions(+), 8 deletions(-) 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. */