mbox series

[RFC,v4,0/5] ARM Nested Virt Support

Message ID 20250116083339.674344-1-eric.auger@redhat.com (mailing list archive)
Headers show
Series ARM Nested Virt Support | expand

Message

Eric Auger Jan. 16, 2025, 8:32 a.m. UTC
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.luis@oracle.com/
Previous version from Haibo:
[2] https://lore.kernel.org/qemu-devel/cover.1617281290.git.haibo.xu@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(-)