qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Eric Auger <eric.auger@redhat.com>
To: eric.auger.pro@gmail.com, eric.auger@redhat.com,
	qemu-devel@nongnu.org, qemu-arm@nongnu.org,
	miguel.luis@oracle.com, haibo.xu@linaro.org,
	peter.maydell@linaro.org, richard.henderson@linaro.org,
	maz@kernel.org, gkulkarni@amperecomputing.com
Subject: [RFC v2 0/5] ARM Nested Virt Support
Date: Fri,  9 Feb 2024 16:59:12 +0100	[thread overview]
Message-ID: <20240209160039.677865-1-eric.auger@redhat.com> (raw)

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(-)

-- 
2.41.0



             reply	other threads:[~2024-02-09 16:02 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-09 15:59 Eric Auger [this message]
2024-02-09 15:59 ` [RFC v2 1/5] [Placeholder] headers: Partial headers update for NV2 enablement Eric Auger
2024-02-09 15:59 ` [RFC v2 2/5] hw/arm: Allow setting KVM vGIC maintenance IRQ Eric Auger
2024-03-05 16:46   ` Peter Maydell
2024-03-25 17:50     ` Eric Auger
2024-03-26 11:04     ` Eric Auger
2024-02-09 15:59 ` [RFC v2 3/5] target/arm/kvm: Add helper to detect EL2 when using KVM Eric Auger
2024-02-09 18:54   ` Philippe Mathieu-Daudé
2024-02-09 15:59 ` [RFC v2 4/5] target/arm: Enable feature ARM_FEATURE_EL2 if EL2 is supported Eric Auger
2024-03-05 16:49   ` Peter Maydell
2024-03-25 18:42     ` Eric Auger
2024-02-09 15:59 ` [RFC v2 5/5] hw/arm/virt: Allow virt extensions with KVM Eric Auger
2024-02-09 18:57 ` [RFC v2 0/5] ARM Nested Virt Support Peter Maydell
2024-02-12 17:15   ` Eric Auger
2024-02-12 17:18   ` Marc Zyngier
2024-03-05 16:57 ` Peter Maydell
2024-03-26 10:09   ` Eric Auger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240209160039.677865-1-eric.auger@redhat.com \
    --to=eric.auger@redhat.com \
    --cc=eric.auger.pro@gmail.com \
    --cc=gkulkarni@amperecomputing.com \
    --cc=haibo.xu@linaro.org \
    --cc=maz@kernel.org \
    --cc=miguel.luis@oracle.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).