]> 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>
Fri, 1 Feb 2013 09:00:27 +0000 (10:00 +0100)
commitdb2ac822c87aa806ffee2e67328e95685860f72a
tree22f191b6253ec4fc674419ac80bfdd8b205a25f1
parentb5381b07ce572361a7e98e9c355d6c10403b8eba
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]