On Fri, 9 Feb 2024 at 16:00, Eric Auger <eric.auger@redhat.com> wrote:
This series adds ARM Nested Virtualization support in KVM mode.
This is a respin of previous contributions from Miguel [1] and Haibo
[2].
This was tested with Marc's v11 [3] on Ampere HW with fedora L1 guest
and
L2 guests booted without EDK2. However it does not work yet with
EDK2 but it looks unrelated to this qemu integration (host hard
lockups).
The host needs to be booted with "kvm-arm.mode=nested" option and
qemu needs to be invoked with :
-machine virt,virtualization=on
There is a known issue with hosts supporting SVE. Kernel does not
support both
SVE and NV2 and the current qemu integration has an issue with the
scratch_host_vcpu startup because both are enabled if exposed by the
kernel.
This is independent on whether sve is disabled on the command line.
Unfortunately
I lost access to the HW that expose that issue so I couldn't fix it in
this
version.
You can probably repro that by running the whole setup under
QEMU's FEAT_NV emulation, which will be able to give you a CPU
with both FEAT_NV and SVE.
Personally I think that this is a kernel missing-feature that
should really be fixed as part of getting the kernel patches
upstreamed. There's no cause to force every userspace VMM to
develop extra complications for this.