• James Hogan's avatar
    MIPS: KVM: use common EHINV aware UNIQUE_ENTRYHI · e36059e5
    James Hogan authored
    When KVM is enabled and TLB invalidation is supported,
    kvm_mips_flush_host_tlb() can cause a machine check exception due to
    multiple matching TLB entries. This can occur on shutdown even when KVM
    hasn't been actively used.
    
    Commit adb78de9eae8 (MIPS: mm: Move UNIQUE_ENTRYHI macro to a header
    file) created a common UNIQUE_ENTRYHI in asm/tlb.h but it didn't update
    the copy of UNIQUE_ENTRYHI in kvm_tlb.c to use it.
    
    Commit 36b175451399 (MIPS: tlb: Set the EHINV bit for TLBINVF cores when
    invalidating the TLB) later added TLB invalidation (EHINV) support to
    the common UNIQUE_ENTRYHI.
    
    Therefore make kvm_tlb.c use the EHINV aware UNIQUE_ENTRYHI
    implementation in asm/tlb.h too.
    Signed-off-by: default avatarJames Hogan <james.hogan@imgtec.com>
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Cc: linux-mips@linux-mips.org
    Cc: Gleb Natapov <gleb@redhat.com>
    Cc: kvm@vger.kernel.org
    Cc: Sanjay Lal <sanjayl@kymasys.com>
    Reviewed-by: default avatarMarkos Chandras <markos.chandras@imgtec.com>
    Acked-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: default avatarJohn Crispin <blogic@openwrt.org>
    Patchwork: http://patchwork.linux-mips.org/patch/6383/
    e36059e5
kvm_tlb.c 23.1 KB