|
@@ -186,6 +186,7 @@ static int kvm_timer_update_state(struct kvm_vcpu *vcpu)
|
|
|
{
|
|
|
struct arch_timer_cpu *timer = &vcpu->arch.timer_cpu;
|
|
|
struct arch_timer_context *vtimer = vcpu_vtimer(vcpu);
|
|
|
+ struct arch_timer_context *ptimer = vcpu_ptimer(vcpu);
|
|
|
|
|
|
/*
|
|
|
* If userspace modified the timer registers via SET_ONE_REG before
|
|
@@ -199,6 +200,9 @@ static int kvm_timer_update_state(struct kvm_vcpu *vcpu)
|
|
|
if (kvm_timer_should_fire(vtimer) != vtimer->irq.level)
|
|
|
kvm_timer_update_irq(vcpu, !vtimer->irq.level, vtimer);
|
|
|
|
|
|
+ if (kvm_timer_should_fire(ptimer) != ptimer->irq.level)
|
|
|
+ kvm_timer_update_irq(vcpu, !ptimer->irq.level, ptimer);
|
|
|
+
|
|
|
return 0;
|
|
|
}
|
|
|
|