This is a rebase on top of qemu v9.2.0 and tested against Marc's nv-next from Jan 9, 2025. As this branch is continuously evolving I put a snapshot at https://github.com/eauger/linux/tree/nv_next_jan9_2025.
This was tested with rhel L1 guest (4k/64k) and various L2 guests (buildroot, debian, rhel 4k/64k). I used mainline edk2. The host needs to be booted with "kvm-arm.mode=nested" option and qemu needs to be invoked with : -machine virt,virtualization=on This series can be found at: https://github.com/eauger/qemu/tree/v9.2.0-nv-rfcv4 Previous version from Miguel: [1] https://lore.kernel.org/all/20230227163718.62003-1-miguel.l...@oracle.com/ Previous version from Haibo: [2] https://lore.kernel.org/qemu-devel/cover.1617281290.git.haibo...@linaro.org/ --- v3 -> v4: - fix: only set maint_irq if vms->virt v2 -> v3: - KVM EL2 only is set if virtualization option is set - fixes regression with virtualization=off - Add checks against unsupported GIC configs until the kernel does Eric Auger (1): linux-headers: update to nv-next (Jan 9) Haibo Xu (4): hw/arm: Allow setting KVM vGIC maintenance IRQ target/arm/kvm: Add helper to detect EL2 when using KVM target/arm: Enable feature ARM_FEATURE_EL2 if EL2 is supported hw/arm/virt: Allow virt extensions with KVM include/hw/intc/arm_gicv3_common.h | 1 + linux-headers/asm-arm64/kvm.h | 1 + linux-headers/linux/kvm.h | 4 +++- target/arm/kvm_arm.h | 12 ++++++++++++ hw/arm/virt.c | 13 ++++++++++++- hw/intc/arm_gicv3_common.c | 1 + hw/intc/arm_gicv3_kvm.c | 21 +++++++++++++++++++++ target/arm/kvm.c | 21 +++++++++++++++++++++ 8 files changed, 72 insertions(+), 2 deletions(-) -- 2.47.1