diff options
| -rw-r--r-- | arch/powerpc/kvm/book3s_hv.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c index 27054d301852..9f49339c6d50 100644 --- a/arch/powerpc/kvm/book3s_hv.c +++ b/arch/powerpc/kvm/book3s_hv.c | |||
| @@ -4090,16 +4090,20 @@ int kvmhv_run_single_vcpu(struct kvm_run *kvm_run, | |||
| 4090 | kvmppc_check_need_tlb_flush(kvm, pcpu, nested); | 4090 | kvmppc_check_need_tlb_flush(kvm, pcpu, nested); |
| 4091 | } | 4091 | } |
| 4092 | 4092 | ||
| 4093 | trace_hardirqs_on(); | ||
| 4094 | guest_enter_irqoff(); | 4093 | guest_enter_irqoff(); |
| 4095 | 4094 | ||
| 4096 | srcu_idx = srcu_read_lock(&kvm->srcu); | 4095 | srcu_idx = srcu_read_lock(&kvm->srcu); |
| 4097 | 4096 | ||
| 4098 | this_cpu_disable_ftrace(); | 4097 | this_cpu_disable_ftrace(); |
| 4099 | 4098 | ||
| 4099 | /* Tell lockdep that we're about to enable interrupts */ | ||
| 4100 | trace_hardirqs_on(); | ||
| 4101 | |||
| 4100 | trap = kvmhv_p9_guest_entry(vcpu, time_limit, lpcr); | 4102 | trap = kvmhv_p9_guest_entry(vcpu, time_limit, lpcr); |
| 4101 | vcpu->arch.trap = trap; | 4103 | vcpu->arch.trap = trap; |
| 4102 | 4104 | ||
| 4105 | trace_hardirqs_off(); | ||
| 4106 | |||
| 4103 | this_cpu_enable_ftrace(); | 4107 | this_cpu_enable_ftrace(); |
| 4104 | 4108 | ||
| 4105 | srcu_read_unlock(&kvm->srcu, srcu_idx); | 4109 | srcu_read_unlock(&kvm->srcu, srcu_idx); |
| @@ -4109,7 +4113,6 @@ int kvmhv_run_single_vcpu(struct kvm_run *kvm_run, | |||
| 4109 | isync(); | 4113 | isync(); |
| 4110 | } | 4114 | } |
| 4111 | 4115 | ||
| 4112 | trace_hardirqs_off(); | ||
| 4113 | set_irq_happened(trap); | 4116 | set_irq_happened(trap); |
| 4114 | 4117 | ||
| 4115 | kvmppc_set_host_core(pcpu); | 4118 | kvmppc_set_host_core(pcpu); |
