This patchset allows virtual timer to function without vGIC. In this case the interrupt should be handled by userspace GIC emulation. In order to signal an interrupt a VM exit is performed with KVM_EXIT_IRQ return code. Together with the code, IRQ number and level is returned. 'level' is actually reserved for possible future level-sensitive interrupts. For them KVM_EXIT_IRQ code would be generated upon line state transition to the specified level. For edge-sensitive interrupts actually only 'irq' number is meaningful, signalling trigger condition on the specified IRQ. However, 'level' still denotes active state (1 for low-to-high edge or 0 for high-to-low edge). Currently there's no additional API to specify how to treate particular IRQs in the userspace. The userspace is assumed just to know it. On ARM architecture all interrupts are processed by KVM as if they were edge-sensitive, therefore timer interrupt as signalled as edge-sensitive, active high. This patch set is to be applied on top of "Allow to use KVM without in-kernel irqchip" one. Pavel Fedin (2): Introduce KVM_EXIT_IRQ Send KVM_EXIT_IRQ from timer if irqchip is not used arch/arm/kvm/arm.c | 18 +++++++++++------- include/linux/kvm_host.h | 7 +++++++ include/uapi/linux/kvm.h | 3 +++ virt/kvm/arm/arch_timer.c | 6 ++++++ 4 files changed, 27 insertions(+), 7 deletions(-) -- 2.4.4 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html