linux/arch/mips/kvm
James Hogan e36059e508 MIPS: KVM: use common EHINV aware UNIQUE_ENTRYHI
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: James 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: Markos Chandras <markos.chandras@imgtec.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: John Crispin <blogic@openwrt.org>
Patchwork: http://patchwork.linux-mips.org/patch/6383/
2014-01-24 22:39:56 +01:00
..
00README.txt KVM/MIPS32: Release notes and KVM module Makefile 2013-05-08 03:55:35 +02:00
Kconfig MIPS: kvm: Kconfig: Drop HAVE_KVM dependency from VIRTUALIZATION 2013-07-19 12:45:57 +02:00
kvm_cb.c KVM/MIPS32: Routines to handle specific traps/exceptions while executing the guest. 2013-05-08 03:55:36 +02:00
kvm_locore.S mips/kvm: Make kvm_locore.S 64-bit buildable/safe. 2013-08-26 12:30:49 +03:00
kvm_mips_comm.h KVM/MIPS32: Binary patching of select privileged instructions. 2013-05-09 17:48:22 +02:00
kvm_mips_commpage.c KVM/MIPS32: Binary patching of select privileged instructions. 2013-05-09 17:48:22 +02:00
kvm_mips_dyntrans.c KVM/MIPS32: Binary patching of select privileged instructions. 2013-05-09 17:48:22 +02:00
kvm_mips_emul.c Revert "MIPS: Allow ASID size to be determined at boot time." 2013-05-16 20:35:42 +02:00
kvm_mips_int.c KVM/MIPS32: Guest interrupt delivery. 2013-05-08 03:55:36 +02:00
kvm_mips_int.h KVM/MIPS32: Guest interrupt delivery. 2013-05-08 03:55:36 +02:00
kvm_mips_opcode.h KVM/MIPS32: Privileged instruction/target branch emulation. 2013-05-08 03:55:35 +02:00
kvm_mips_stats.c KVM/MIPS32: COP0 accesses profiling. 2013-05-08 03:55:36 +02:00
kvm_mips.c kvm: Add struct kvm arg to memslot APIs 2013-10-17 15:49:23 +02:00
kvm_tlb.c MIPS: KVM: use common EHINV aware UNIQUE_ENTRYHI 2014-01-24 22:39:56 +01:00
kvm_trap_emul.c mips/kvm: Fix ABI by moving manipulation of CP0 registers to KVM_{G,S}ET_ONE_REG 2013-06-03 10:58:54 +03:00
Makefile KVM/MIPS32: Release notes and KVM module Makefile 2013-05-08 03:55:35 +02:00
trace.h KVM/MIPS32: MIPS arch specific APIs for KVM 2013-05-08 03:55:35 +02:00