diff options
author | Eric Auger <eric.auger@redhat.com> | 2016-07-22 16:20:42 +0000 |
---|---|---|
committer | Marc Zyngier <marc.zyngier@arm.com> | 2016-07-22 18:52:03 +0100 |
commit | 995a0ee9809b6948bb7bfea77f129fe1d5157cc1 (patch) | |
tree | aa87eb8de3f3e111b9dcc4b470a24a660cd6bb8a /virt/kvm/arm | |
parent | 180ae7b1182344ca617d8b5200306b02a6b5075d (diff) | |
download | op-kernel-dev-995a0ee9809b6948bb7bfea77f129fe1d5157cc1.zip op-kernel-dev-995a0ee9809b6948bb7bfea77f129fe1d5157cc1.tar.gz |
KVM: arm/arm64: Enable MSI routing
Up to now, only irqchip routing entries could be set. This patch
adds the capability to insert MSI routing entries.
For ARM64, let's also increase KVM_MAX_IRQ_ROUTES to 4096: this
include SPI irqchip routes plus MSI routes. In the future this
might be extended.
Signed-off-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Diffstat (limited to 'virt/kvm/arm')
-rw-r--r-- | virt/kvm/arm/vgic/vgic-irqfd.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/virt/kvm/arm/vgic/vgic-irqfd.c b/virt/kvm/arm/vgic/vgic-irqfd.c index 6e84d53..683a589 100644 --- a/virt/kvm/arm/vgic/vgic-irqfd.c +++ b/virt/kvm/arm/vgic/vgic-irqfd.c @@ -59,6 +59,14 @@ int kvm_set_routing_entry(struct kvm_kernel_irq_routing_entry *e, (e->irqchip.irqchip >= KVM_NR_IRQCHIPS)) goto out; break; + case KVM_IRQ_ROUTING_MSI: + e->set = kvm_set_msi; + e->msi.address_lo = ue->u.msi.address_lo; + e->msi.address_hi = ue->u.msi.address_hi; + e->msi.data = ue->u.msi.data; + e->msi.flags = ue->flags; + e->msi.devid = ue->u.msi.devid; + break; default: goto out; } |