KVM: PPC: booke: Do Not start decrementer when SPRN_DEC set 0
authorBharat Bhushan <r65777@freescale.com>
Mon, 31 Oct 2011 08:52:08 +0000 (14:22 +0530)
committerAvi Kivity <avi@redhat.com>
Mon, 5 Mar 2012 12:52:25 +0000 (14:52 +0200)
As per specification the decrementer interrupt not happen when DEC is written
with 0. Also when DEC is zero, no decrementer running. So we should not start
hrtimer for decrementer when DEC = 0.

Signed-off-by: Bharat Bhushan <bharat.bhushan@freescale.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Avi Kivity <avi@redhat.com>
arch/powerpc/kvm/emulate.c

index 4337f99..b6df56d 100644 (file)
@@ -77,7 +77,8 @@ static int kvmppc_dec_enabled(struct kvm_vcpu *vcpu)
 #else
 static int kvmppc_dec_enabled(struct kvm_vcpu *vcpu)
 {
-       return vcpu->arch.tcr & TCR_DIE;
+       /* On BOOKE, DEC = 0 is as good as decrementer not enabled */
+       return (vcpu->arch.tcr & TCR_DIE) && vcpu->arch.dec;
 }
 #endif