From: "Nicholas Piggin" <npiggin@gmail.com>
To: "Jordan Niethe" <jpn@linux.vnet.ibm.com>,
<linuxppc-dev@lists.ozlabs.org>
Cc: <kvm@vger.kernel.org>, <kvm-ppc@vger.kernel.org>,
<mikey@neuling.org>, <paulus@ozlabs.org>,
<kautuk.consul.1980@gmail.com>, <vaibhav@linux.ibm.com>,
<sbhat@linux.ibm.com>
Subject: Re: [RFC PATCH v2 0/6] KVM: PPC: Nested PAPR guests
Date: Wed, 07 Jun 2023 15:53:49 +1000 [thread overview]
Message-ID: <CT6641NE8LNV.20P6CCOLXZEP@wheely> (raw)
In-Reply-To: <20230605064848.12319-1-jpn@linux.vnet.ibm.com>
On Mon Jun 5, 2023 at 4:48 PM AEST, Jordan Niethe wrote:
> There is existing support for nested guests on powernv hosts however the
> hcall interface this uses is not support by other PAPR hosts.
I kind of liked it being called nested-HV v1 and v2 APIs as short and
to the point, but I suppose that's ambiguous with version 2 of the v1
API, so papr is okay. What's the old API called in this scheme, then?
"Existing API" is not great after patches go upstream.
And, you've probably explained it pretty well but slightly more of
a background first up could be helpful. E.g.,
A nested-HV API for PAPR has been developed based on the KVM-specific
nested-HV API that is upstream in Linux/KVM and QEMU. The PAPR API
had to break compatibility to accommodate implementation in other
hypervisors and partitioning firmware.
And key overall differences
The control flow and interrupt processing between L0, L1, and L2
in the new PAPR API are conceptually unchanged. Where the old API
is almost stateless, the PAPR API is stateful, with the L1 registering
L2 virtual machines and vCPUs with the L0. Supervisor-privileged
register switching duty is now the responsibility for the L0, which
holds canonical L2 register state and handles all switching. This
new register handling motivates the "getters and setters" wrappers
...
Thanks,
Nick
next prev parent reply other threads:[~2023-06-07 5:54 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-05 6:48 [RFC PATCH v2 0/6] KVM: PPC: Nested PAPR guests Jordan Niethe
2023-06-05 6:48 ` [RFC PATCH v2 1/6] KVM: PPC: Use getters and setters for vcpu register state Jordan Niethe
2023-06-07 7:51 ` Nicholas Piggin
2023-06-10 1:52 ` Jordan Niethe
2023-06-05 6:48 ` [RFC PATCH v2 2/6] KVM: PPC: Add fpr getters and setters Jordan Niethe
2023-06-07 7:55 ` Nicholas Piggin
2023-06-10 1:54 ` Jordan Niethe
2023-06-05 6:48 ` [RFC PATCH v2 3/6] KVM: PPC: Add vr " Jordan Niethe
2023-06-05 6:48 ` [RFC PATCH v2 4/6] KVM: PPC: Add helper library for Guest State Buffers Jordan Niethe
2023-06-07 8:26 ` Nicholas Piggin
2023-06-10 2:09 ` Jordan Niethe
2023-06-05 6:48 ` [RFC PATCH v2 5/6] KVM: PPC: Add support for nested PAPR guests Jordan Niethe
2023-06-07 9:08 ` Nicholas Piggin
2023-06-10 2:16 ` Jordan Niethe
2023-06-05 6:48 ` [RFC PATCH v2 6/6] docs: powerpc: Document nested KVM on POWER Jordan Niethe
2023-06-07 5:37 ` [PATCH RFC " Gautam Menghani
2023-06-10 1:39 ` Jordan Niethe
2023-06-07 5:53 ` Nicholas Piggin [this message]
2023-06-10 1:46 ` [RFC PATCH v2 0/6] KVM: PPC: Nested PAPR guests Jordan Niethe
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=CT6641NE8LNV.20P6CCOLXZEP@wheely \
--to=npiggin@gmail.com \
--cc=jpn@linux.vnet.ibm.com \
--cc=kautuk.consul.1980@gmail.com \
--cc=kvm-ppc@vger.kernel.org \
--cc=kvm@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mikey@neuling.org \
--cc=paulus@ozlabs.org \
--cc=sbhat@linux.ibm.com \
--cc=vaibhav@linux.ibm.com \
/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