Re: [PATCH v3 00/25] KVM: arm64: Introduce pKVM hyp VM and vCPU state at EL2

Vincent Donnefort
2022-09-29T12:47:35Z

On Wed, Sep 14, 2022 at 09:34:35AM +0100, Will Deacon wrote:
> Hi folks,
>
> This is v3 of the series previously posted here:
>
> Mega-series: https://lore.kernel.org/kvmarm/20220519134204.5379-1-will@kernel.org/
> v2: https://lore.kernel.org/all/20220630135747.26983-1-will@kernel.org/
>
> There have been some significant changes since v2, including:
>
> - Removal of unnecessary backpointer linking a hyp vCPU to its hyp VM in
> favour of container_of()
>
> - Removing confusing use of 'shadow' at EL2 in favour of 'pkvm_hyp'
> (although this was much more work than a simple sed expression!)
>
> - Simplified vm table lookup and removal of redundant table traversal
>
> - Rework of the hypervisor fixmap to avoid redundant page-table walks
>
> - Splitting of memory donations required to create a guest so that the
> requirement for physically-contiguous pages is reduced
>
> - Fixed a memory leak when the stage-2 pgd is configured with an
> unsupported size
>
> - Dropped rework of 'struct hyp_page' as it is not required by this
> series
>
> - Improved commit messages
>
> - Rebased onto v6.0-rc1
>
> Oliver -- as discussed in person, I've left the owner ID enumeration
> where it is for now since we will need to track the guest *instance* in
> future and so consolidating this into the pgtable code is unlikely to be
> beneficial.
>
> As with the previous posting, the last patch is marked as RFC because,
> although it plumbs in the shadow state, it is woefully inefficient and
> copies to/from the host state on every vCPU run. Without the last patch,
> the new structures are unused but we move considerably closer to
> isolating guests from the host.
>
> Cheers,

Tested on silicon, especially that all the donations are recovered on VM
teardown.

Tested-by: Vincent Donnefort <vdonnefort@google.com> …