• James Hogan's avatar
    KVM: MIPS/MMU: Pass GPA PTE bits to mapped GVA PTEs · f9b11e51
    James Hogan authored
    Propagate the GPA PTE protection bits on to the GVA PTEs on a mapped
    fault (except _PAGE_WRITE, and filtered by the guest TLB entry), rather
    than always overriding the protection. This allows dirty page tracking
    to work in mapped guest segments as a clear dirty bit in the GPA PTE
    will propagate to the GVA PTEs even when the guest TLB has the dirty bit
    set.
    
    Since the filtering of protection bits is now abstracted, if the buddy
    GVA PTE is also valid, we obtain the corresponding GPA PTE using a
    simple non-allocating walk and load that into the GVA PTE similarly
    (which may itself be invalid).
    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
    f9b11e51
mmu.c 27.1 KB