diff options
author | Christoffer Dall <christoffer.dall@linaro.org> | 2017-03-18 13:56:56 +0100 |
---|---|---|
committer | Christoffer Dall <cdall@linaro.org> | 2017-04-04 14:33:58 +0200 |
commit | 5b0d2cc2805897c14257f6dbb949639c499c3c25 (patch) | |
tree | b9cf3a2d817ef80a8aeface5563e7d256c38daed /virt/kvm/arm/vgic/vgic.h | |
parent | 8b3405e345b5a098101b0c31b264c812bba045d9 (diff) | |
download | linux-5b0d2cc2805897c14257f6dbb949639c499c3c25.tar.gz |
KVM: arm64: Ensure LRs are clear when they should be
We currently have some code to clear the list registers on GICv3, but we
never call this code, because the caller got nuked when removing the old
vgic. We also used to have a similar GICv2 part, but that got lost in
the process too.
Let's reintroduce the logic for GICv2 and call the logic when we
initialize the use of hypervisors on the CPU, for example when first
loading KVM or when exiting a low power state.
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Diffstat (limited to 'virt/kvm/arm/vgic/vgic.h')
-rw-r--r-- | virt/kvm/arm/vgic/vgic.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/virt/kvm/arm/vgic/vgic.h b/virt/kvm/arm/vgic/vgic.h index db28f7cadab2..91566f5aac9b 100644 --- a/virt/kvm/arm/vgic/vgic.h +++ b/virt/kvm/arm/vgic/vgic.h @@ -130,6 +130,8 @@ int vgic_v2_map_resources(struct kvm *kvm); int vgic_register_dist_iodev(struct kvm *kvm, gpa_t dist_base_address, enum vgic_type); +void vgic_v2_init_lrs(void); + static inline void vgic_get_irq_kref(struct vgic_irq *irq) { if (irq->intid < VGIC_MIN_LPI) |