]> git.baikalelectronics.ru Git - kernel.git/commit
KVM: MIPS/Emulate: Properly implement TLBR for T&E
authorJames Hogan <james.hogan@imgtec.com>
Tue, 14 Mar 2017 17:00:08 +0000 (17:00 +0000)
committerJames Hogan <james.hogan@imgtec.com>
Tue, 28 Mar 2017 15:31:37 +0000 (16:31 +0100)
commit0b64308071a2fcd1b03eb7c49df51bd5d3864db5
tree59b781f47746712e02890d0b3917b9581e0320a3
parent6c97cab2a8f449fbb54fed43f9ab4a484b7b8034
KVM: MIPS/Emulate: Properly implement TLBR for T&E

Properly implement emulation of the TLBR instruction for Trap & Emulate.
This instruction reads the TLB entry pointed at by the CP0_Index
register into the other TLB registers, which may have the side effect of
changing the current ASID. Therefore abstract the CP0_EntryHi and ASID
changing code into a common function in the process.

A comment indicated that Linux doesn't use TLBR, which is true during
normal use, however dumping of the TLB does use it (for example with the
relatively recent 'x' magic sysrq key), as does a wired TLB entries test
case in my KVM tests.

Signed-off-by: James Hogan <james.hogan@imgtec.com>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: "Radim Krčmář" <rkrcmar@redhat.com>
Cc: linux-mips@linux-mips.org
Cc: kvm@vger.kernel.org
arch/mips/kvm/emulate.c