aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/powerpc/kvm/book3s_hv.c7
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);