[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
- Re: [RFC v2 0/5] ARM Nested Virt Support,
Peter Maydell <=