aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm64/kvm/reset.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/arm64/kvm/reset.c b/arch/arm64/kvm/reset.c
index f16a5f8ff2b4..e2a0500cd7a2 100644
--- a/arch/arm64/kvm/reset.c
+++ b/arch/arm64/kvm/reset.c
@@ -123,6 +123,9 @@ int kvm_reset_vcpu(struct kvm_vcpu *vcpu)
123 int ret = -EINVAL; 123 int ret = -EINVAL;
124 bool loaded; 124 bool loaded;
125 125
126 /* Reset PMU outside of the non-preemptible section */
127 kvm_pmu_vcpu_reset(vcpu);
128
126 preempt_disable(); 129 preempt_disable();
127 loaded = (vcpu->cpu != -1); 130 loaded = (vcpu->cpu != -1);
128 if (loaded) 131 if (loaded)
@@ -170,9 +173,6 @@ int kvm_reset_vcpu(struct kvm_vcpu *vcpu)
170 vcpu->arch.reset_state.reset = false; 173 vcpu->arch.reset_state.reset = false;
171 } 174 }
172 175
173 /* Reset PMU */
174 kvm_pmu_vcpu_reset(vcpu);
175
176 /* Default workaround setup is enabled (if supported) */ 176 /* Default workaround setup is enabled (if supported) */
177 if (kvm_arm_have_ssbd() == KVM_SSBD_KERNEL) 177 if (kvm_arm_have_ssbd() == KVM_SSBD_KERNEL)
178 vcpu->arch.workaround_flags |= VCPU_WORKAROUND_2_FLAG; 178 vcpu->arch.workaround_flags |= VCPU_WORKAROUND_2_FLAG;