[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1435592237-17924-8-git-send-email-eric.auger@linaro.org>
Date: Mon, 29 Jun 2015 17:37:17 +0200
From: Eric Auger <eric.auger@...aro.org>
To: eric.auger@...com, eric.auger@...aro.org,
linux-arm-kernel@...ts.infradead.org, marc.zyngier@....com,
christoffer.dall@...aro.org, andre.przywara@....com,
kvmarm@...ts.cs.columbia.edu, kvm@...r.kernel.org
Cc: linux-kernel@...r.kernel.org, patches@...aro.org,
p.fedin@...sung.com, pbonzini@...hat.com
Subject: [PATCH 7/7] KVM: arm: implement kvm_set_msi by gsi direct mapping
If the ITS modality is not available, let's simply support MSI
injection by transforming the MSI.data into an SPI ID.
This becomes possible to use KVM_SIGNAL_MSI ioctl for arm too.
Signed-off-by: Eric Auger <eric.auger@...aro.org>
---
arch/arm/kvm/Kconfig | 1 +
virt/kvm/arm/vgic.c | 5 +++++
2 files changed, 6 insertions(+)
diff --git a/arch/arm/kvm/Kconfig b/arch/arm/kvm/Kconfig
index 151e710..0f58baf 100644
--- a/arch/arm/kvm/Kconfig
+++ b/arch/arm/kvm/Kconfig
@@ -31,6 +31,7 @@ config KVM
select KVM_VFIO
select HAVE_KVM_EVENTFD
select HAVE_KVM_IRQFD
+ select HAVE_KVM_MSI
select HAVE_KVM_IRQCHIP
select HAVE_KVM_IRQ_ROUTING
depends on ARM_VIRT_EXT && ARM_LPAE && ARM_ARCH_TIMER
diff --git a/virt/kvm/arm/vgic.c b/virt/kvm/arm/vgic.c
index 0b4c48c..b3c10dc 100644
--- a/virt/kvm/arm/vgic.c
+++ b/virt/kvm/arm/vgic.c
@@ -2314,6 +2314,11 @@ int kvm_set_msi(struct kvm_kernel_irq_routing_entry *e,
return kvm->arch.vgic.vm_ops.inject_msi(kvm, &msi);
else
return -ENODEV;
+ case KVM_IRQ_ROUTING_MSI:
+ if (kvm->arch.vgic.vm_ops.inject_msi)
+ return -EINVAL;
+ else
+ return kvm_vgic_inject_irq(kvm, 0, e->msi.data, level);
default:
return -EINVAL;
}
--
1.9.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists