• James Hogan's avatar
    KVM: MIPS/MMU: Invalidate GVA PTs on ASID changes · a31b50d7
    James Hogan authored
    Implement invalidation of large ranges of virtual addresses from GVA
    page tables in response to a guest ASID change (immediately for guest
    kernel page table, lazily for guest user page table).
    
    We iterate through a range of page tables invalidating entries and
    freeing fully invalidated tables. To minimise overhead the exact ranges
    invalidated depends on the flags argument to kvm_mips_flush_gva_pt(),
    which also allows it to be used in future KVM_CAP_SYNC_MMU patches in
    response to GPA changes, which unlike guest TLB mapping changes affects
    guest KSeg0 mappings.
    Signed-off-by: default avatarJames Hogan <james.hogan@imgtec.com>
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Cc: "Radim Krčmář" <rkrcmar@redhat.com>
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Cc: linux-mips@linux-mips.org
    Cc: kvm@vger.kernel.org
    a31b50d7
emulate.c 71.8 KB