Subject: Re: [RFC PATCH v2 0/6] KVM: PPC: Nested PAPR guests

From: "Nicholas Piggin" <[email-masked]>
Date: Wed, 07 Jun 2023 15:53:49 +1000

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