[RFC PATCH 0/5] ARM: KVM: Enable the ioeventfd capability of KVM on ARM
Eric Auger
eric.auger at linaro.org
Thu Nov 27 03:01:07 PST 2014
On 11/24/2014 10:26 PM, Nikolay Nikolaev wrote:
> The IOEVENTFD KVM capability is a prerequisite for vhost support,
> and is also used to implement improved interrupt handling in VFIO drivers.
Hi Nikolay
As far as I am aware, irqfd currently is used in vfio context, not
ioeventfd, although they both are implemented in eventfd.c. Could you
elaborate?
>
> This series enables the ioeventfd KVM capability on ARM.
>
> The implementation routes MMIO access in the IO abort handler to the KVM IO bus.
> If there is already a registered ioeventfd handler for this address, the file
> descriptor will be triggered.
>
> We extended the KVM IO bus API to expose the VCPU struct pointer. Now the VGIC
> MMIO access is done through this API. For this to operate the VGIC registers a
> kvm_io_device which reprresents the whole MMIO region.
typo & the whole dist MMIO region?
I think the transformation makes sense and does not bring upheavals in
the vgic code which is good.
Best Regards
Eric
>
> The patches are implemented on top of the latest Andre's vGICv3 work from here:
> http://www.linux-arm.org/git?p=linux-ap.git;a=shortlog;h=refs/heads/kvm-gicv3/v4
>
> The code was tested on Dual Cortex-A15 Exynos5250 (ARM Chromebook).
>
> ---
>
> Nikolay Nikolaev (5):
> KVM: redesing kvm_io_bus_ API to pass VCPU structure to the callbacks.
> ARM: on IO mem abort - route the call to KVM MMIO bus
> KVM: ARM VGIC add kvm_io_bus_ frontend
> ARM: enable linking against eventfd and irqchip
> ARM: enable KVM_CAP_IOEVENTFD
>
>
> arch/arm/kvm/Kconfig | 1 +
> arch/arm/kvm/Makefile | 2 +
> arch/arm/kvm/arm.c | 3 ++
> arch/arm/kvm/mmio.c | 32 ++++++++++++++++
> arch/ia64/kvm/kvm-ia64.c | 4 +-
> arch/powerpc/kvm/powerpc.c | 4 +-
> arch/s390/kvm/diag.c | 2 +
> arch/x86/kvm/vmx.c | 2 +
> arch/x86/kvm/x86.c | 11 +++---
> include/kvm/arm_vgic.h | 3 +-
> include/linux/kvm_host.h | 10 +++--
> virt/kvm/arm/vgic.c | 88 +++++++++++++++++++++++++++++++++++++-------
> virt/kvm/coalesced_mmio.c | 5 ++-
> virt/kvm/eventfd.c | 4 +-
> virt/kvm/iodev.h | 23 ++++++++----
> virt/kvm/kvm_main.c | 32 ++++++++--------
> 16 files changed, 163 insertions(+), 63 deletions(-)
>
> --
> Signature
>
More information about the linux-arm-kernel
mailing list