]> git.karo-electronics.de Git - karo-tx-linux.git/commit
KVM/MIPS32: Binary patching of select privileged instructions.
authorSanjay Lal <sanjayl@kymasys.com>
Thu, 22 Nov 2012 02:34:16 +0000 (18:34 -0800)
committerRalf Baechle <ralf@linux-mips.org>
Wed, 13 Mar 2013 18:46:35 +0000 (19:46 +0100)
commitfe9212f6a45b3952356011dd4eee9dd3300f081b
tree6c524eb70b2da50d1e8942abc1b84b30c7da4a68
parent86b2077e1784f4a2b84ff438561cb8f2311a0565
KVM/MIPS32: Binary patching of select privileged instructions.

Currently, the following instructions are translated:
- CACHE (indexed)
- CACHE (va based): translated to a SYNCI, overkill on D-CACHE operations,
  but still much faster than a trap.
- mfc0/mtc0: the virtual COP0 registers for the guest are implemented as
  2-D array.
  [COP#][SEL] and this is mapped into the guest kernel address space @ VA 0x0.
  mfc0/mtc0 operations are transformed to load/stores.

Signed-off-by: Sanjay Lal <sanjayl@kymasys.com>
Cc: kvm@vger.kernel.org
Cc: linux-mips@linux-mips.org
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/kvm/kvm_mips_comm.h [new file with mode: 0644]
arch/mips/kvm/kvm_mips_commpage.c [new file with mode: 0644]
arch/mips/kvm/kvm_mips_dyntrans.c [new file with mode: 0644]