• James Hogan's avatar
    KVM: MIPS/T&E: Add lockless GVA access helpers · 1880afd6
    James Hogan authored
    Add helpers to allow for lockless direct access to the GVA space, by
    changing the VCPU mode to READING_SHADOW_PAGE_TABLES for the duration of
    the access. This allows asynchronous TLB flush requests in future
    patches to safely trigger either a TLB flush before the direct GVA space
    access, or a delay until the in-progress lockless direct access is
    complete.
    
    The kvm_trap_emul_gva_lockless_begin() and
    kvm_trap_emul_gva_lockless_end() helpers take care of guarding the
    direct GVA accesses, and kvm_trap_emul_gva_fault() tries to handle a
    uaccess fault resulting from a flush having taken place.
    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
    1880afd6
mmu.c 19.9 KB