OpenCloudOS-Kernel/arch/mips/kvm
James Hogan 28cc5bd568 MIPS: KVM: Use kmap instead of CKSEG0ADDR()
There are several unportable uses of CKSEG0ADDR() in MIPS KVM, which
implicitly assume that a host physical address will be in the low 512MB
of the physical address space (accessible in KSeg0). These assumptions
don't hold for highmem or on 64-bit kernels.

When interpreting the guest physical address when reading or overwriting
a trapping instruction, use kmap_atomic() to get a usable virtual
address to access guest memory, which is portable to 64-bit and highmem
kernels.

Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: "Radim Krčmář" <rkrcmar@redhat.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: linux-mips@linux-mips.org
Cc: kvm@vger.kernel.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2016-08-01 18:42:22 +02:00
..
00README.txt KVM/MIPS32: Release notes and KVM module Makefile 2013-05-08 03:55:35 +02:00
Kconfig MIPS; KVM: Convert exception entry to uasm 2016-07-05 16:08:46 +02:00
Makefile MIPS; KVM: Convert exception entry to uasm 2016-07-05 16:08:46 +02:00
callback.c MIPS: KVM: Convert EXPORT_SYMBOL to _GPL 2016-01-24 03:13:24 +01:00
commpage.c MIPS: KVM: Move commpage so 0x0 is unmapped 2016-06-15 23:58:36 +02:00
commpage.h MIPS: KVM: Rename files to remove the prefix "kvm_" and "kvm_mips_" 2014-06-30 16:52:03 +02:00
dyntrans.c MIPS: KVM: Use kmap instead of CKSEG0ADDR() 2016-08-01 18:42:22 +02:00
emulate.c MIPS: KVM: Decode RDHWR more strictly 2016-07-05 16:09:18 +02:00
entry.c MIPS: KVM: Don't save/restore lo/hi for r6 2016-07-05 16:09:14 +02:00
fpu.S MIPS: KVM: Fix fpu.S misassembly with r6 2016-07-05 16:09:11 +02:00
interrupt.c MIPS: KVM: Convert code to kernel sized types 2016-06-14 11:02:41 +02:00
interrupt.h MIPS; KVM: Convert exception entry to uasm 2016-07-05 16:08:46 +02:00
mips.c MIPS: KVM: Don't save/restore lo/hi for r6 2016-07-05 16:09:14 +02:00
mmu.c MIPS: KVM: Use kmap instead of CKSEG0ADDR() 2016-08-01 18:42:22 +02:00
msa.S MIPS: KVM: Add base guest MSA support 2015-03-27 21:25:19 +00:00
stats.c MIPS: KVM: Clean up kvm_exit trace event 2016-06-14 11:16:23 +02:00
tlb.c MIPS: KVM: Use virt_to_phys() to get commpage PFN 2016-08-01 18:42:21 +02:00
trace.h MIPS: KVM: Combine entry trace events into class 2016-06-23 19:17:30 +02:00
trap_emul.c MIPS: KVM: Emulate generic QEMU machine on r6 T&E 2016-07-05 16:09:20 +02:00