RFC Propagate virtual timer interrupts to userspace
Get series with b4
b4 am [email protected]Versions newest first
- v1 RFC Latest2 patches 0 repliesNew
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/2 | Introduce KVM_EXIT_IRQinclude/ | +3 | 0 replies | |
| 2/2 | Send KVM_EXIT_IRQ from timer if irqchip is not usedarch/ include/ virt/ | +24 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [RFC 0/2] Propagate virtual timer interrupts to userspace
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(-)
Signature · 1 line
2.4.4