Hi Peter, On 3/5/24 17:57, Peter Maydell wrote: > On Fri, 9 Feb 2024 at 16:00, Eric Auger <eric.au...@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. >> >> This series can be found at: >> https://github.com/eauger/qemu/tree/v8.2-nv-rfcv2 >> >> 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/ >> [3] Marc's kernel v11 series: >> [PATCH v11 00/43] KVM: arm64: Nested Virtualization support (FEAT_NV2 >> only) >> >> https://lore.kernel.org/linux-arm-kernel/20231120131027.854038-1-...@kernel.org/T/ >> available at: https://github.com/eauger/linux/tree/nv-6.8-nv2-v11 >> >> Haibo Xu (5): >> [Placeholder] headers: Partial headers update for NV2 enablement >> 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 >> >> hw/arm/virt.c | 6 +++++- >> hw/intc/arm_gicv3_common.c | 1 + >> hw/intc/arm_gicv3_kvm.c | 21 +++++++++++++++++++++ >> include/hw/intc/arm_gicv3_common.h | 1 + >> linux-headers/asm-arm64/kvm.h | 1 + >> linux-headers/linux/kvm.h | 1 + >> target/arm/kvm.c | 21 +++++++++++++++++++++ >> target/arm/kvm_arm.h | 12 ++++++++++++ >> 8 files changed, 63 insertions(+), 1 deletion(-) > All the patches in this series seem reasonable, but the series > as a whole is so short I wonder if we're missing something :-) > Does migration Just Work? (I guess as long as the kernel exposes > all the EL2 sysregs via the ONE_REG ioctl interface it ought to...) To be honest I have not tested yet. I would also guess there is no mig blocker but that definitively deserves some testing. I will check before sending the next version. > > Anyway, I don't think there's anything that stood out as needing > major changes, so for now I guess we just wait for whenever the > KVM side patches eventually land.
yup Thanks Eric > > thanks > -- PMM >