diff options
| -rw-r--r-- | arch/arm64/kvm/reset.c | 6 |
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; |
