From: Mostafa Saleh <smostafa@google.com>
To: Marc Zyngier <maz@kernel.org>
Cc: linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, corbet@lwn.net,
Will Deacon <will@kernel.org>
Subject: Re: [PATCH v2] Documentation: Update the behaviour of "kvm-arm.mode"
Date: Thu, 24 Oct 2024 16:55:08 +0000 [thread overview]
Message-ID: <Zxp77Es8BCnHcAHk@google.com> (raw)
In-Reply-To: <86o73930ze.wl-maz@kernel.org>
On Thu, Oct 24, 2024 at 05:43:49PM +0100, Marc Zyngier wrote:
> Hi Mostafa,
>
> On Thu, 24 Oct 2024 17:06:14 +0100,
> Mostafa Saleh <smostafa@google.com> wrote:
> >
> > Commit 5053c3f0519c ("KVM: arm64: Use hVHE in pKVM by default on CPUs with
> > VHE support") modified the behaviour of "kvm-arm.mode=protected" without
> > the updating the kernel parameters doc.
> >
> > Update it to match the current implementation.
> >
> > Also, update required architecture version for nested virtualization as
> > suggested by Marc.
> >
> > Cc: Will Deacon <will@kernel.org>
> > Cc: Marc Zyngier <maz@kernel.org>
> >
> > Signed-off-by: Mostafa Saleh <smostafa@google.com>
> >
> > ---
> > v2: Update nested value also
>
> Thanks for that. However...
>
> > ---
> > Documentation/admin-guide/kernel-parameters.txt | 10 +++++++---
> > 1 file changed, 7 insertions(+), 3 deletions(-)
> >
> > diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
> > index 1518343bbe22..d5b771e5cb5b 100644
> > --- a/Documentation/admin-guide/kernel-parameters.txt
> > +++ b/Documentation/admin-guide/kernel-parameters.txt
> > @@ -2740,12 +2740,16 @@
> > nvhe: Standard nVHE-based mode, without support for
> > protected guests.
> >
> > - protected: nVHE-based mode with support for guests whose
> > + protected: hVHE-based mode with support for guests whose
> > state is kept private from the host.
> > + In case hVHE is not supported in hardware, it will
> > + boot with protected nVHE.
> > + nVHE protected mode can still be forced on VHE systems
> > + using "kvm_arm.mode=protected arm64_sw.hvhe=0 id_aa64mmfr1.vh=0"
>
>
> I probably didn't explain myself very well. I would like to avoid
> mentioning hVHE at all, because this is pretty confusing (and really
> an implementation detail). Instead, we can talk about VHE/nVHE, which
> are real architectural features.
Agh, my bad, it makes more sense to talk in terms or architecture.
>
> Also, I just realised that we can use your command-line magic for
> downgrading from VHE to nVHE in all cases, so I'd be suggesting
> something like this:
>
> diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
> index 1518343bbe223..2bb19f1331fed 100644
> --- a/Documentation/admin-guide/kernel-parameters.txt
> +++ b/Documentation/admin-guide/kernel-parameters.txt
> @@ -2740,8 +2740,9 @@
> nvhe: Standard nVHE-based mode, without support for
> protected guests.
>
> - protected: nVHE-based mode with support for guests whose
> - state is kept private from the host.
> + protected: Mode with support for guests whose state is
> + kept private from the host, using VHE or
> + nVHE depending on HW support.
>
> nested: VHE-based mode with support for nested
> virtualization. Requires at least ARMv8.3
> @@ -2749,8 +2750,11 @@
>
> Defaults to VHE/nVHE based on hardware support. Setting
> mode to "protected" will disable kexec and hibernation
> - for the host. "nested" is experimental and should be
> - used with extreme caution.
> + for the host. To force nVHE on VHE hardware, add
> + "arm64_sw.hvhe=0 id_aa64mmfr1.vh=0" to the
> + command-line.
> + "nested" is experimental and should be used with
> + extreme caution.
>
> kvm-arm.vgic_v3_group0_trap=
> [KVM,ARM,EARLY] Trap guest accesses to GICv3 group-0
>
>
> >
> > nested: VHE-based mode with support for nested
> > - virtualization. Requires at least ARMv8.3
> > - hardware.
> > + virtualization. Requires at least ARMv8.4
> > + hardware (with FEAT_NV2).
>
> That part looks good!
>
> Thanks,
>
> M.
>
> --
> Without deviation from the norm, progress is not possible.
Thanks,
Mostafa
prev parent reply other threads:[~2024-10-24 16:58 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-24 16:06 [PATCH v2] Documentation: Update the behaviour of "kvm-arm.mode" Mostafa Saleh
2024-10-24 16:43 ` Marc Zyngier
2024-10-24 16:55 ` Mostafa Saleh [this message]
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=Zxp77Es8BCnHcAHk@google.com \
--to=smostafa@google.com \
--cc=corbet@lwn.net \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maz@kernel.org \
--cc=will@kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.