aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/include/uapi
diff options
context:
space:
mode:
authorGravatar Alexander Graf <agraf@suse.de> 2016-09-27 21:08:05 +0200
committerGravatar Christoffer Dall <cdall@linaro.org> 2017-04-09 07:49:38 -0700
commit3fe17e6826162021d5e9274949571b19fc94826b (patch)
treec244b62d6c38003c7f453f8ba39a7cb3d0586c91 /arch/arm/include/uapi
parentKVM: arm/arm64: Cleanup the arch timer code's irqchip checking (diff)
downloadlinux-3fe17e6826162021d5e9274949571b19fc94826b.tar.gz
linux-3fe17e6826162021d5e9274949571b19fc94826b.tar.bz2
linux-3fe17e6826162021d5e9274949571b19fc94826b.zip
KVM: arm/arm64: Add ARM user space interrupt signaling ABI
We have 2 modes for dealing with interrupts in the ARM world. We can either handle them all using hardware acceleration through the vgic or we can emulate a gic in user space and only drive CPU IRQ pins from there. Unfortunately, when driving IRQs from user space, we never tell user space about events from devices emulated inside the kernel, which may result in interrupt line state changes, so we lose out on for example timer and PMU events if we run with user space gic emulation. Define an ABI to publish such device output levels to userspace. Reviewed-by: Alexander Graf <agraf@suse.de> Reviewed-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Diffstat (limited to 'arch/arm/include/uapi')
-rw-r--r--arch/arm/include/uapi/asm/kvm.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/include/uapi/asm/kvm.h b/arch/arm/include/uapi/asm/kvm.h
index 6ebd3e6a1fd1..a5838d605e7b 100644
--- a/arch/arm/include/uapi/asm/kvm.h
+++ b/arch/arm/include/uapi/asm/kvm.h
@@ -114,6 +114,8 @@ struct kvm_debug_exit_arch {
};
struct kvm_sync_regs {
+ /* Used with KVM_CAP_ARM_USER_IRQ */
+ __u64 device_irq_level;
};
struct kvm_arch_memory_slot {