public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH kvmtool v5 0/7] arm64: Nested virtualization support
@ 2026-01-23 14:27 Andre Przywara
  2026-01-23 14:27 ` [PATCH kvmtool v5 1/7] Sync kernel UAPI headers with v6.19-rc6 Andre Przywara
                   ` (7 more replies)
  0 siblings, 8 replies; 18+ messages in thread
From: Andre Przywara @ 2026-01-23 14:27 UTC (permalink / raw)
  To: Julien Thierry, Will Deacon
  Cc: Marc Zyngier, kvm, kvmarm, Alexandru Elisei, Sascha Bischoff

This is v5 of the nested virt support series, fixing a corner case when
some maintenance IRQ setup fails. Also there is now a warning if --e2h0
is specified without --nested. Many thanks to Sascha for the review!
========================================================

Thanks to the imperturbable efforts from Marc, arm64 support for nested
virtualization has now reached the mainline kernel, which means the
respective kvmtool support should now be ready as well.

Patch 1 updates the kernel headers, to get the new EL2 capability, and
the VGIC device control to setup the maintenance IRQ.
Patch 2 introduces the new "--nested" command line option, to let the
VCPUs start in EL2. To allow KVM guests running in such a guest, we also
need VGIC support, which patch 3 allows by setting the maintenance IRQ.
Patch 4 to 6 are picked from Marc's repo, and allow to set the arch
timer offset, enable non-VHE guests (at the cost of losing recursive
nested virtualisation), and also advertise the virtual EL2 timer IRQ.

Tested on the FVP (with some good deal of patience), and some commercial
(non-fruity) hardware, down to a guest's guest's guest.

Cheers,
Andre

Changelog v4 ... v5:
- bump kernel headers to v6.19-rc6
- print a warning if --e2h0 is given without --nested
- fail if the maintenance IRQ setting attribute is not supported

Changelog v3 ... v4:
- pass kvm pointer to gic__generate_fdt_nodes()
- use macros for PPI offset and DT type identifier
- properly calculate DT interrupt flags value
- add patch 7 to fix virtio endianess issues
- CAPITALISE verbs in commit message

Changelog v2 ... v3:
- adjust^Wreplace commit messages for E2H0 and counter-offset patch
- check for KVM_CAP_ARM_EL2_E2H0 when --e2h0 is requested
- update kernel headers to v6.16 release

Changelog v1 ... 2:
- add three patches from Marc:
  - add --e2h0 command line option
  - add --counter-offset command line option
  - advertise all five arch timer interrupts in DT

Andre Przywara (3):
  Sync kernel UAPI headers with v6.19-rc6
  arm64: Initial nested virt support
  arm64: nested: Add support for setting maintenance IRQ

Marc Zyngier (4):
  arm64: Add counter offset control
  arm64: Add FEAT_E2H0 support
  arm64: Generate HYP timer interrupt specifiers
  arm64: Handle virtio endianness reset when running nested

 arm64/arm-cpu.c                     |   6 +-
 arm64/fdt.c                         |   5 +-
 arm64/gic.c                         |  29 ++++++-
 arm64/include/asm/kvm.h             |  25 ++++--
 arm64/include/kvm/gic.h             |   2 +-
 arm64/include/kvm/kvm-config-arch.h |  11 ++-
 arm64/include/kvm/kvm-cpu-arch.h    |   5 +-
 arm64/include/kvm/timer.h           |   2 +-
 arm64/kvm-cpu.c                     |  64 ++++++++++++---
 arm64/kvm.c                         |  19 +++++
 arm64/timer.c                       |  29 +++----
 include/linux/kvm.h                 |  47 +++++++++++
 include/linux/virtio_ids.h          |   1 +
 include/linux/virtio_net.h          |  49 +++++++++++-
 include/linux/virtio_pci.h          |   3 +-
 powerpc/include/asm/kvm.h           |  13 ----
 riscv/include/asm/kvm.h             |  29 ++++++-
 x86/include/asm/kvm.h               | 116 ++++++++++++++++++++++++++++
 18 files changed, 394 insertions(+), 61 deletions(-)

-- 
2.43.0


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2026-02-09  2:22 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-23 14:27 [PATCH kvmtool v5 0/7] arm64: Nested virtualization support Andre Przywara
2026-01-23 14:27 ` [PATCH kvmtool v5 1/7] Sync kernel UAPI headers with v6.19-rc6 Andre Przywara
2026-01-23 14:27 ` [PATCH kvmtool v5 2/7] arm64: Initial nested virt support Andre Przywara
2026-01-23 14:27 ` [PATCH kvmtool v5 3/7] arm64: nested: Add support for setting maintenance IRQ Andre Przywara
2026-01-26 18:03   ` Marc Zyngier
2026-01-27 12:07     ` Andre Przywara
2026-01-27 13:23       ` Sascha Bischoff
2026-01-29 17:08         ` Andre Przywara
2026-01-30  9:29           ` Sascha Bischoff
2026-02-02  8:54             ` Andre Przywara
2026-01-23 14:27 ` [PATCH kvmtool v5 4/7] arm64: Add counter offset control Andre Przywara
2026-01-23 14:27 ` [PATCH kvmtool v5 5/7] arm64: Add FEAT_E2H0 support Andre Przywara
2026-01-30  9:29   ` Sascha Bischoff
2026-01-23 14:27 ` [PATCH kvmtool v5 6/7] arm64: Generate HYP timer interrupt specifiers Andre Przywara
2026-01-23 14:27 ` [PATCH kvmtool v5 7/7] arm64: Handle virtio endianness reset when running nested Andre Przywara
2026-01-23 16:03   ` Marc Zyngier
2026-01-27 10:15     ` Sascha Bischoff
2026-02-09  2:21 ` [PATCH kvmtool v5 0/7] arm64: Nested virtualization support Itaru Kitayama

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox