From 0d6fd318d801b943da87a642799ae651b2795224 Mon Sep 17 00:00:00 2001 From: Mark Rutland Date: Wed, 27 Mar 2013 15:56:11 +0000 Subject: [PATCH] --- yaml --- r: 373143 b: refs/heads/master c: 372b7c1bc80510225ca91cba75bc0850a6e16c39 h: refs/heads/master i: 373141: e8d9def6c673820be82f9a95fb7bdb864fe5926b 373139: cc4c5de891dec118a1f46beb32c65f627113259f 373135: 69d8e3a2baff5998a0920e94a497dd4e92ae51de v: v3 --- [refs] | 2 +- trunk/arch/arm/kvm/arch_timer.c | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 9d431a38d8a3..ac3f07b5d1a1 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 210552c1bfe83122a480673660d5ca9821c944ae +refs/heads/master: 372b7c1bc80510225ca91cba75bc0850a6e16c39 diff --git a/trunk/arch/arm/kvm/arch_timer.c b/trunk/arch/arm/kvm/arch_timer.c index 6ac938d46297..c55b6089e923 100644 --- a/trunk/arch/arm/kvm/arch_timer.c +++ b/trunk/arch/arm/kvm/arch_timer.c @@ -22,6 +22,7 @@ #include #include +#include #include #include @@ -64,7 +65,7 @@ static void kvm_timer_inject_irq(struct kvm_vcpu *vcpu) { struct arch_timer_cpu *timer = &vcpu->arch.timer_cpu; - timer->cntv_ctl |= 1 << 1; /* Mask the interrupt in the guest */ + timer->cntv_ctl |= ARCH_TIMER_CTRL_IT_MASK; kvm_vgic_inject_irq(vcpu->kvm, vcpu->vcpu_id, vcpu->arch.timer_cpu.irq->irq, vcpu->arch.timer_cpu.irq->level); @@ -133,8 +134,8 @@ void kvm_timer_sync_hwstate(struct kvm_vcpu *vcpu) cycle_t cval, now; u64 ns; - /* Check if the timer is enabled and unmasked first */ - if ((timer->cntv_ctl & 3) != 1) + if ((timer->cntv_ctl & ARCH_TIMER_CTRL_IT_MASK) || + !(timer->cntv_ctl & ARCH_TIMER_CTRL_ENABLE)) return; cval = timer->cntv_cval;