summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kvm
diff options
context:
space:
mode:
authorGleb Natapov2009-03-23 11:12:11 +0100
committerAvi Kivity2009-06-10 10:48:33 +0200
commit78646121e9a2fcf7977cc15966420e572a450bc3 (patch)
tree55aeac260f4a43bef8e1bc1147f93a3f7e867ec7 /arch/powerpc/kvm
parentKVM: Timer event should not unconditionally unhalt vcpu. (diff)
downloadkernel-qcow2-linux-78646121e9a2fcf7977cc15966420e572a450bc3.tar.gz
kernel-qcow2-linux-78646121e9a2fcf7977cc15966420e572a450bc3.tar.xz
kernel-qcow2-linux-78646121e9a2fcf7977cc15966420e572a450bc3.zip
KVM: Fix interrupt unhalting a vcpu when it shouldn't
kvm_vcpu_block() unhalts vpu on an interrupt/timer without checking if interrupt window is actually opened. Signed-off-by: Gleb Natapov <gleb@redhat.com> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/powerpc/kvm')
-rw-r--r--arch/powerpc/kvm/powerpc.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c
index 9057335fdc61..2cf915e51e7e 100644
--- a/arch/powerpc/kvm/powerpc.c
+++ b/arch/powerpc/kvm/powerpc.c
@@ -41,6 +41,12 @@ int kvm_cpu_has_interrupt(struct kvm_vcpu *v)
return !!(v->arch.pending_exceptions);
}
+int kvm_arch_interrupt_allowed(struct kvm_vcpu *vcpu)
+{
+ /* do real check here */
+ return 1;
+}
+
int kvm_arch_vcpu_runnable(struct kvm_vcpu *v)
{
return !(v->arch.msr & MSR_WE);