Look Ma’, No (Real) Interrupt Controller!
summary
Implements a reduced virtual interrupt controller (ARVIC/RVIT) in KVM on ARM64 as a concrete prototype: ~1100 lines of code for the hypervisor side plus ~900 lines for the Linux guest driver, moving GIC emulation out of the trusted core and exposing a small hypercall API for mask/unmask, acknowledge, resample and IPIs. Design separates trusted interrupts (IPIs, timers) from spoofable device interrupts, simplifies affinity moves by letting the guest lock, and measures ~5% slower on an IPI-heavy hackbench but no significant loss on compute workloads.
AI-written summary · about
chapters (3)
related talks
30mAIA Virtualization in KVM RISC-V
20mRISC-V irqbypass with KVM
40mZero-Overhead Virtualisation: It's a Trap!
21mRISC V Hypervisor Support
44mACRN: A Big Little Hypervisor for IoT Development
19mAn Adaptive Interrupt Architecture for Extremely Timing-Critical Applications
32mDeveloping the RISC-V Hypervisor Extensions in QEMU
24mRISC-V IOMMU
