• Scott Wood's avatar
    kvm/ppc/e500: eliminate tlb_refs · 4d2be6f7
    Scott Wood authored
    Commit 523f0e54 ("KVM: PPC: E500:
    Explicitly mark shadow maps invalid") began using E500_TLB_VALID
    for guest TLB1 entries, and skipping invalidations if it's not set.
    
    However, when E500_TLB_VALID was set for such entries, it was on a
    fake local ref, and so the invalidations never happen.  gtlb_privs
    is documented as being only for guest TLB0, though we already violate
    that with E500_TLB_BITMAP.
    
    Now that we have MMU notifiers, and thus don't need to actually
    retain a reference to the mapped pages, get rid of tlb_refs, and
    use gtlb_privs for E500_TLB_VALID in TLB1.
    
    Since we can have more than one host TLB entry for a given tlbe_ref,
    be careful not to clear existing flags that are relevant to other
    host TLB entries when preparing a new host TLB entry.
    Signed-off-by: default avatarScott Wood <scottwood@freescale.com>
    Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
    4d2be6f7
e500.h 7.71 KB