diff options
| author | Andre Przywara <andre.przywara@arm.com> | 2016-01-26 10:31:15 -0500 |
|---|---|---|
| committer | Christoffer Dall <christoffer.dall@linaro.org> | 2016-05-20 09:39:59 -0400 |
| commit | 621ecd8d2123bc13e140b519e01a18200aeb614c (patch) | |
| tree | 45c6233e220991ed99275f5a1b60a33b8d4a35a1 /include/kvm | |
| parent | 78a714aba030395e72d03f0ff8a4c1481956e808 (diff) | |
KVM: arm/arm64: vgic-new: Add GICv3 SGI system register trap handler
In contrast to GICv2 SGIs in a GICv3 implementation are not triggered
by a MMIO write, but with a system register write. KVM knows about
that register already, we just need to implement the handler and wire
it up to the core KVM/ARM code.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Diffstat (limited to 'include/kvm')
| -rw-r--r-- | include/kvm/vgic/vgic.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/kvm/vgic/vgic.h b/include/kvm/vgic/vgic.h index ff3f9c2abd95..00e3dca10a63 100644 --- a/include/kvm/vgic/vgic.h +++ b/include/kvm/vgic/vgic.h | |||
| @@ -209,6 +209,14 @@ bool kvm_vcpu_has_pending_irqs(struct kvm_vcpu *vcpu); | |||
| 209 | void kvm_vgic_sync_hwstate(struct kvm_vcpu *vcpu); | 209 | void kvm_vgic_sync_hwstate(struct kvm_vcpu *vcpu); |
| 210 | void kvm_vgic_flush_hwstate(struct kvm_vcpu *vcpu); | 210 | void kvm_vgic_flush_hwstate(struct kvm_vcpu *vcpu); |
| 211 | 211 | ||
| 212 | #ifdef CONFIG_KVM_ARM_VGIC_V3 | ||
| 213 | void vgic_v3_dispatch_sgi(struct kvm_vcpu *vcpu, u64 reg); | ||
| 214 | #else | ||
| 215 | static inline void vgic_v3_dispatch_sgi(struct kvm_vcpu *vcpu, u64 reg) | ||
| 216 | { | ||
| 217 | } | ||
| 218 | #endif | ||
| 219 | |||
| 212 | /** | 220 | /** |
| 213 | * kvm_vgic_get_max_vcpus - Get the maximum number of VCPUs allowed by HW | 221 | * kvm_vgic_get_max_vcpus - Get the maximum number of VCPUs allowed by HW |
| 214 | * | 222 | * |
