The irq_state bitmap describe the input state of our virtual distributor. Calling it "pending" in __kvm_vgic_sync_to_cpu() does not significantly help understanding the code. Remove the local "pending" variable and use the generic accessors instead. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> --- arch/arm/kvm/vgic.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/arch/arm/kvm/vgic.c b/arch/arm/kvm/vgic.c index b83de57..e9587f3 100644 --- a/arch/arm/kvm/vgic.c +++ b/arch/arm/kvm/vgic.c @@ -764,7 +764,6 @@ static void __kvm_vgic_sync_to_cpu(struct kvm_vcpu *vcpu) { struct vgic_cpu *vgic_cpu = &vcpu->arch.vgic_cpu; struct vgic_dist *dist = &vcpu->kvm->arch.vgic; - unsigned long *pending; int i, c, vcpu_id; int overflow = 0; @@ -783,7 +782,6 @@ static void __kvm_vgic_sync_to_cpu(struct kvm_vcpu *vcpu) } /* SGIs */ - pending = vgic_bitmap_get_cpu_map(&dist->irq_state, vcpu_id); for_each_set_bit(i, vgic_cpu->pending_percpu, 16) { unsigned long sources; @@ -798,7 +796,7 @@ static void __kvm_vgic_sync_to_cpu(struct kvm_vcpu *vcpu) } if (!sources) { - clear_bit(i, pending); + vgic_bitmap_set_irq_val(&dist->irq_state, vcpu_id, i, 0); kvm_vgic_vcpu_clear_pending_irq(vcpu, i); } @@ -812,13 +810,12 @@ static void __kvm_vgic_sync_to_cpu(struct kvm_vcpu *vcpu) continue; } - clear_bit(i, pending); + vgic_bitmap_set_irq_val(&dist->irq_state, vcpu_id, i, 0); kvm_vgic_vcpu_clear_pending_irq(vcpu, i); } /* SPIs */ - pending = vgic_bitmap_get_shared_map(&dist->irq_state); for_each_set_bit(i, vgic_cpu->pending_shared, VGIC_NR_SHARED_IRQS) { int irq = i + 32; if (vgic_bitmap_get_irq_val(&dist->irq_active, 0, irq)) @@ -831,7 +828,7 @@ static void __kvm_vgic_sync_to_cpu(struct kvm_vcpu *vcpu) /* Immediate clear on edge, set active on level */ if (vgic_irq_is_edge(dist, irq)) { - clear_bit(i, pending); + vgic_bitmap_set_irq_val(&dist->irq_state, 0, irq, 0); kvm_vgic_vcpu_clear_pending_irq(vcpu, irq); } else { vgic_bitmap_set_irq_val(&dist->irq_active, 0, irq, 1); -- 1.7.12 _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm