• Sean Christopherson's avatar
    KVM: Move x86's MMU notifier memslot walkers to generic code · 3039bcc7
    Sean Christopherson authored
    Move the hva->gfn lookup for MMU notifiers into common code.  Every arch
    does a similar lookup, and some arch code is all but identical across
    multiple architectures.
    
    In addition to consolidating code, this will allow introducing
    optimizations that will benefit all architectures without incurring
    multiple walks of the memslots, e.g. by taking mmu_lock if and only if a
    relevant range exists in the memslots.
    
    The use of __always_inline to avoid indirect call retpolines, as done by
    x86, may also benefit other architectures.
    
    Consolidating the lookups also fixes a wart in x86, where the legacy MMU
    and TDP MMU each do their own memslot walks.
    
    Lastly, future enhancements to the memslot implementation, e.g. to add an
    interval tree to track host address, will need to touch far less arch
    specific code.
    
    MIPS, PPC, and arm64 will be converted one at a time in future patches.
    Signed-off-by: default avatarSean Christopherson <seanjc@google.com>
    Message-Id: <20210402005658.3024832-3-seanjc@google.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    3039bcc7
tdp_mmu.h 3.4 KB