aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2012-08-12 05:29:09 -0400
committerAlexander Graf <agraf@suse.de>2012-10-05 17:38:43 -0400
commit706fb730cb4f9db2e3de33391475dd0616c2c935 (patch)
tree51c0933278e3c07fdc81df5ee7bf554edf7e73d0
parentc63ddcb4540db95e5a4223cfa8cdbe6efbd5e386 (diff)
KVM: PPC: Exit guest context while handling exit
The x86 implementation of KVM accounts for host time while processing guest exits. Do the same for us. Signed-off-by: Alexander Graf <agraf@suse.de>
-rw-r--r--arch/powerpc/kvm/book3s_pr.c2
-rw-r--r--arch/powerpc/kvm/booke.c3
2 files changed, 5 insertions, 0 deletions
diff --git a/arch/powerpc/kvm/book3s_pr.c b/arch/powerpc/kvm/book3s_pr.c
index 2c268a15b20f..b4ae11ec068f 100644
--- a/arch/powerpc/kvm/book3s_pr.c
+++ b/arch/powerpc/kvm/book3s_pr.c
@@ -601,6 +601,7 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu,
601 __hard_irq_enable(); 601 __hard_irq_enable();
602 602
603 trace_kvm_exit(exit_nr, vcpu); 603 trace_kvm_exit(exit_nr, vcpu);
604 kvm_guest_exit();
604 preempt_enable(); 605 preempt_enable();
605 606
606 switch (exit_nr) { 607 switch (exit_nr) {
@@ -872,6 +873,7 @@ program_interrupt:
872 } 873 }
873 } 874 }
874 875
876 kvm_guest_enter();
875 trace_kvm_book3s_reenter(r, vcpu); 877 trace_kvm_book3s_reenter(r, vcpu);
876 878
877 return r; 879 return r;
diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c
index 492c343f598e..887c7cc02146 100644
--- a/arch/powerpc/kvm/booke.c
+++ b/arch/powerpc/kvm/booke.c
@@ -650,6 +650,7 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu,
650 local_irq_enable(); 650 local_irq_enable();
651 651
652 trace_kvm_exit(exit_nr, vcpu); 652 trace_kvm_exit(exit_nr, vcpu);
653 kvm_guest_exit();
653 654
654 run->exit_reason = KVM_EXIT_UNKNOWN; 655 run->exit_reason = KVM_EXIT_UNKNOWN;
655 run->ready_for_interrupt_injection = 1; 656 run->ready_for_interrupt_injection = 1;
@@ -952,6 +953,8 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu,
952 } 953 }
953 } 954 }
954 955
956 kvm_guest_enter();
957
955 return r; 958 return r;
956} 959}
957 960