kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH kvmtool v2 0/6] arm64: Nested virtualization support
@ 2025-07-25 14:40 Andre Przywara
  2025-07-25 14:40 ` [PATCH kvmtool v2 1/6] Sync kernel UAPI headers with v6.16-rc1 Andre Przywara
                   ` (5 more replies)
  0 siblings, 6 replies; 13+ messages in thread
From: Andre Przywara @ 2025-07-25 14:40 UTC (permalink / raw)
  To: Will Deacon, Julien Thierry, Marc Zyngier; +Cc: kvm, kvmarm, Alexandru Elisei

v2 of the nested virt support series, just adding three patches from
Marc's repo, to complete the nested virt experience.
Marc, I added some commit messages to your patches, please have a look if
they make vaguely sense. Thanks!
========================================================

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

Andre Przywara (3):
  Sync kernel UAPI headers with v6.16-rc1
  arm64: Initial nested virt support
  arm64: nested: add support for setting maintenance IRQ

Marc Zyngier (3):
  arm64: Add counter offset control
  arm64: add FEAT_E2H0 support (TBC)
  arm64: Generate HYP timer interrupt specifiers

 arm64/arm-cpu.c                     |  7 ++-
 arm64/fdt.c                         |  5 +-
 arm64/gic.c                         | 21 +++++++-
 arm64/include/asm/kvm.h             | 23 +++++++--
 arm64/include/kvm/gic.h             |  2 +-
 arm64/include/kvm/kvm-config-arch.h | 11 ++++-
 arm64/include/kvm/timer.h           |  2 +-
 arm64/kvm-cpu.c                     | 14 +++++-
 arm64/kvm.c                         | 17 +++++++
 arm64/timer.c                       | 29 +++++------
 include/linux/kvm.h                 |  5 ++
 include/linux/virtio_net.h          | 13 +++++
 include/linux/virtio_pci.h          |  1 +
 riscv/include/asm/kvm.h             |  2 +
 x86/include/asm/kvm.h               | 75 +++++++++++++++++++++++++++++
 15 files changed, 196 insertions(+), 31 deletions(-)

-- 
2.25.1


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

end of thread, other threads:[~2025-07-26 10:34 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-25 14:40 [PATCH kvmtool v2 0/6] arm64: Nested virtualization support Andre Przywara
2025-07-25 14:40 ` [PATCH kvmtool v2 1/6] Sync kernel UAPI headers with v6.16-rc1 Andre Przywara
2025-07-25 14:40 ` [PATCH kvmtool v2 2/6] arm64: Initial nested virt support Andre Przywara
2025-07-25 14:40 ` [PATCH kvmtool v2 3/6] arm64: nested: add support for setting maintenance IRQ Andre Przywara
2025-07-25 14:40 ` [PATCH kvmtool v2 4/6] arm64: Add counter offset control Andre Przywara
2025-07-26  9:25   ` Marc Zyngier
2025-07-25 14:40 ` [PATCH kvmtool v2 5/6] arm64: add FEAT_E2H0 support (TBC) Andre Przywara
2025-07-25 16:37   ` Marc Zyngier
2025-07-26  9:01     ` Wei-Lin Chang
2025-07-26  9:19       ` Marc Zyngier
2025-07-26 10:11         ` Wei-Lin Chang
2025-07-26 10:34           ` Marc Zyngier
2025-07-25 14:41 ` [PATCH kvmtool v2 6/6] arm64: Generate HYP timer interrupt specifiers Andre Przywara

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).