diff options
author | Scott Wood <scottwood@freescale.com> | 2011-11-08 23:11:59 +0100 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2012-03-05 13:52:25 +0100 |
commit | 1d1ef22208876511224a8797657e40e287e1f93d (patch) | |
tree | 19fb8d995cb0f4818868e5aceb21d3038d750b3d /arch/powerpc/kvm | |
parent | KVM: PPC: booke: Do Not start decrementer when SPRN_DEC set 0 (diff) | |
download | linux-1d1ef22208876511224a8797657e40e287e1f93d.tar.xz linux-1d1ef22208876511224a8797657e40e287e1f93d.zip |
KVM: PPC: booke: check for signals in kvmppc_vcpu_run
Currently we check prior to returning from a lightweight exit,
but not prior to initial entry.
book3s already does a similar test.
Signed-off-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/powerpc/kvm')
-rw-r--r-- | arch/powerpc/kvm/booke.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c index b64220079d56..9c785896e867 100644 --- a/arch/powerpc/kvm/booke.c +++ b/arch/powerpc/kvm/booke.c @@ -322,11 +322,19 @@ int kvmppc_vcpu_run(struct kvm_run *kvm_run, struct kvm_vcpu *vcpu) } local_irq_disable(); + + if (signal_pending(current)) { + kvm_run->exit_reason = KVM_EXIT_INTR; + ret = -EINTR; + goto out; + } + kvm_guest_enter(); ret = __kvmppc_vcpu_run(kvm_run, vcpu); kvm_guest_exit(); - local_irq_enable(); +out: + local_irq_enable(); return ret; } |