• Paolo Bonzini's avatar
    KVM: x86/mmu: load new PGD after the shadow MMU is initialized · 3cffc89d
    Paolo Bonzini authored
    Now that __kvm_mmu_new_pgd does not look at the MMU's root_level and
    shadow_root_level anymore, pull the PGD load after the initialization of
    the shadow MMUs.
    
    Besides being more intuitive, this enables future simplifications
    and optimizations because it's not necessary anymore to compute the
    role outside kvm_init_mmu.  In particular, kvm_mmu_reset_context was not
    attempting to use a cached PGD to avoid having to figure out the new role.
    With this change, it could follow what nested_{vmx,svm}_load_cr3 are doing,
    and avoid unloading all the cached roots.
    Reviewed-by: default avatarSean Christopherson <seanjc@google.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    3cffc89d
mmu.c 170 KB