linux/arch/mips/kvm
James Hogan 26f4f3b578 MIPS: KVM: Consult HWREna before emulating RDHWR
The ability to read hardware registers from userland with the RDHWR
instruction should depend upon the corresponding bit of the HWREna
register being set, otherwise a reserved instruction exception should be
generated.

However KVM's current emulation ignores the guest's HWREna and always
emulates RDHWR instructions even if the guest OS has disallowed them.

Therefore rework the RDHWR emulation code to check for privilege or the
corresponding bit in the guest HWREna bit. Also remove the #if 0 case
for the UserLocal register. I presume it was there for debug purposes
but it seems unnecessary now that the guest can control whether it
causes a guest exception.

Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Gleb Natapov <gleb@kernel.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Sanjay Lal <sanjayl@kymasys.com>
Cc: linux-mips@linux-mips.org
Cc: kvm@vger.kernel.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2014-03-19 17:01:43 +01:00
..
00README.txt
Kconfig MIPS: kvm: Kconfig: Drop HAVE_KVM dependency from VIRTUALIZATION 2013-07-19 12:45:57 +02:00
kvm_cb.c
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_mips_commpage.c
kvm_mips_dyntrans.c
kvm_mips_emul.c MIPS: KVM: Consult HWREna before emulating RDHWR 2014-03-19 17:01:43 +01:00
kvm_mips_int.c
kvm_mips_int.h
kvm_mips_opcode.h
kvm_mips_stats.c
kvm_mips.c MIPS: KVM: remove shadow_tlb code 2014-01-24 22:39:56 +01:00
kvm_tlb.c mips: delete non-required instances of include <linux/init.h> 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
trace.h