• James Hogan's avatar
    KVM: MIPS/T&E: Handle read only GPA in TLB mod · 64ebc9e2
    James Hogan authored
    Rewrite TLB modified exception handling to handle read only GPA memory
    regions, instead of unconditionally passing the exception to the guest.
    
    If the guest TLB is not the cause of the exception we call into the
    normal TLB fault handling depending on the memory segment, which will
    soon attempt to remap the physical page to be writable (handling dirty
    page tracking or copy on write in the process).
    
    Failing that we fall back to treating it as MMIO, due to a read only
    memory region. Once the capability is enabled, this will allow read only
    memory regions (such as the Malta boot flash as emulated by QEMU) to
    have writes treated as MMIO, while still allowing reads to run
    untrapped.
    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
    64ebc9e2
emulate.c 71.5 KB