KVM: selftests: Add a stage-2 MMU instance to kvm_vm

Add a stage-2 MMU instance so that architectures that support nested
virtualization (more specifically, nested stage-2 page tables) can create
and track stage-2 page tables for running L2 guests.  Plumb the structure
into common code to avoid cyclical dependencies, and to provide some line
of sight to having common APIs for creating stage-2 mappings.

As a bonus, putting the member in common code justifies using stage2_mmu
instead of tdp_mmu for x86.

Reviewed-by: Yosry Ahmed <yosry.ahmed@linux.dev>
Link: https://patch.msgid.link/20251230230150.4150236-13-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
This commit is contained in:
Sean Christopherson
2025-12-30 15:01:41 -08:00
parent e40e72fec0
commit 8296b16c0a

View File

@@ -116,7 +116,12 @@ struct kvm_vm {
uint32_t dirty_ring_size;
uint64_t gpa_tag_mask;
/*
* "mmu" is the guest's stage-1, with a short name because the vast
* majority of tests only care about the stage-1 MMU.
*/
struct kvm_mmu mmu;
struct kvm_mmu stage2_mmu;
struct kvm_vm_arch arch;