[PATCH v3 0/4] Selftest for pKVM ownership transitions

Quentin Perret posted 4 patches 9 months, 3 weeks ago
arch/arm64/include/asm/kvm_pkvm.h             |   6 +
arch/arm64/include/asm/sections.h             |   1 +
arch/arm64/kernel/image-vars.h                |   2 +
arch/arm64/kernel/vmlinux.lds.S               |  18 +-
arch/arm64/kvm/arm.c                          |   7 +
arch/arm64/kvm/hyp/include/nvhe/mem_protect.h |   6 +
arch/arm64/kvm/hyp/nvhe/hyp.lds.S             |   2 +
arch/arm64/kvm/hyp/nvhe/mem_protect.c         | 198 +++++++++++++++++-
arch/arm64/kvm/hyp/nvhe/setup.c               |  12 ++
arch/arm64/kvm/pkvm.c                         |   2 +
10 files changed, 250 insertions(+), 4 deletions(-)
[PATCH v3 0/4] Selftest for pKVM ownership transitions
Posted by Quentin Perret 9 months, 3 weeks ago
Hi all,

This is the v3 of the pKVM selftest series, v2 was here [1]. This series
depends on [2] which moves the hyp tracking to the vmemmap. A full
stack on top of v6.15-rc2 with everything applied is available here:

    https://android-kvm.googlesource.com/linux qperret/pkvm-selftest-v3

Changes since v2:
 - rebased on top of v2 of the hyp-state-in-vmemmap series [2];
 - thanks to above rebase, dropped the PKVM_SELFTEST kconfig option and
   folded the selftest under the existing NVHE_EL2_DEBUG;
 - fixed commit message of patch 02

Changes since v1:
 - added support for testing NP guest transitions;
 - added .data section in pKVM to allow using non-zero globals (needed
   for previous point);
 - dropped superfluous WARN() from __pkvm_host_share_guest() which is a
   pain for testing;
 - updated assertions for hyp/host transitions according to the
   discussion on v1.

[1] https://lore.kernel.org/kvmarm/20250225015327.3708420-1-qperret@google.com/
[2] https://lore.kernel.org/kvmarm/20250416152648.2982950-1-qperret@google.com/

Thanks,
Quentin

David Brazdil (1):
  KVM: arm64: Add .hyp.data section

Quentin Perret (3):
  KVM: arm64: Don't WARN from __pkvm_host_share_guest()
  KVM: arm64: Selftest for pKVM transitions
  KVM: arm64: Extend pKVM selftest for np-guests

 arch/arm64/include/asm/kvm_pkvm.h             |   6 +
 arch/arm64/include/asm/sections.h             |   1 +
 arch/arm64/kernel/image-vars.h                |   2 +
 arch/arm64/kernel/vmlinux.lds.S               |  18 +-
 arch/arm64/kvm/arm.c                          |   7 +
 arch/arm64/kvm/hyp/include/nvhe/mem_protect.h |   6 +
 arch/arm64/kvm/hyp/nvhe/hyp.lds.S             |   2 +
 arch/arm64/kvm/hyp/nvhe/mem_protect.c         | 198 +++++++++++++++++-
 arch/arm64/kvm/hyp/nvhe/setup.c               |  12 ++
 arch/arm64/kvm/pkvm.c                         |   2 +
 10 files changed, 250 insertions(+), 4 deletions(-)

-- 
2.49.0.604.gff1f9ca942-goog
Re: [PATCH v3 0/4] Selftest for pKVM ownership transitions
Posted by Marc Zyngier 9 months, 1 week ago
On Wed, 16 Apr 2025 16:08:56 +0000, Quentin Perret wrote:
> This is the v3 of the pKVM selftest series, v2 was here [1]. This series
> depends on [2] which moves the hyp tracking to the vmemmap. A full
> stack on top of v6.15-rc2 with everything applied is available here:
> 
>     https://android-kvm.googlesource.com/linux qperret/pkvm-selftest-v3
> 
> Changes since v2:
>  - rebased on top of v2 of the hyp-state-in-vmemmap series [2];
>  - thanks to above rebase, dropped the PKVM_SELFTEST kconfig option and
>    folded the selftest under the existing NVHE_EL2_DEBUG;
>  - fixed commit message of patch 02
> 
> [...]

Applied to kvm-arm64/pkvm-selftest-6.16, thanks!

[1/4] KVM: arm64: Add .hyp.data section
      commit: 74b13d5816c9389381e937b218f49f03921f87fe
[2/4] KVM: arm64: Don't WARN from __pkvm_host_share_guest()
      commit: 845f126732a8126dee3f15855487121f4836131a
[3/4] KVM: arm64: Selftest for pKVM transitions
      commit: 6c2d4c319c7db7be883428ae1161502f3f690e60
[4/4] KVM: arm64: Extend pKVM selftest for np-guests
      commit: 48d564507293082c370a5fc1eb3d73ad3de30561

Cheers,

	M.
-- 
Without deviation from the norm, progress is not possible.