qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RFC v2 0/5] ARM Nested Virt Support


From: Peter Maydell
Subject: Re: [RFC v2 0/5] ARM Nested Virt Support
Date: Tue, 5 Mar 2024 16:57:25 +0000

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.
>
> 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.luis@oracle.com/
> Previous version from Haibo:
> [2] 
> https://lore.kernel.org/qemu-devel/cover.1617281290.git.haibo.xu@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-maz@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...)

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.

thanks
-- PMM



reply via email to

[Prev in Thread] Current Thread [Next in Thread]