|
@@ -175,10 +175,10 @@ static void kvm_timer_update_irq(struct kvm_vcpu *vcpu, bool new_level)
|
|
|
|
|
|
timer->active_cleared_last = false;
|
|
|
timer->irq.level = new_level;
|
|
|
- trace_kvm_timer_update_irq(vcpu->vcpu_id, timer->map->virt_irq,
|
|
|
+ trace_kvm_timer_update_irq(vcpu->vcpu_id, timer->irq.irq,
|
|
|
timer->irq.level);
|
|
|
ret = kvm_vgic_inject_mapped_irq(vcpu->kvm, vcpu->vcpu_id,
|
|
|
- timer->map->virt_irq,
|
|
|
+ timer->irq.irq,
|
|
|
timer->irq.level);
|
|
|
WARN_ON(ret);
|
|
|
}
|
|
@@ -276,7 +276,7 @@ void kvm_timer_flush_hwstate(struct kvm_vcpu *vcpu)
|
|
|
* exit.
|
|
|
*/
|
|
|
phys_active = timer->irq.level ||
|
|
|
- kvm_vgic_map_is_active(vcpu, timer->map->virt_irq);
|
|
|
+ kvm_vgic_map_is_active(vcpu, timer->irq.irq);
|
|
|
|
|
|
/*
|
|
|
* We want to avoid hitting the (re)distributor as much as
|
|
@@ -378,7 +378,6 @@ int kvm_timer_vcpu_reset(struct kvm_vcpu *vcpu,
|
|
|
if (WARN_ON(IS_ERR(map)))
|
|
|
return PTR_ERR(map);
|
|
|
|
|
|
- timer->map = map;
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
@@ -504,8 +503,7 @@ void kvm_timer_vcpu_terminate(struct kvm_vcpu *vcpu)
|
|
|
struct arch_timer_cpu *timer = &vcpu->arch.timer_cpu;
|
|
|
|
|
|
timer_disarm(timer);
|
|
|
- if (timer->map)
|
|
|
- kvm_vgic_unmap_phys_irq(vcpu, timer->map->virt_irq);
|
|
|
+ kvm_vgic_unmap_phys_irq(vcpu, timer->irq.irq);
|
|
|
}
|
|
|
|
|
|
void kvm_timer_enable(struct kvm *kvm)
|