aboutsummaryrefslogtreecommitdiffstats
path: root/virt
diff options
context:
space:
mode:
authorJames Hogan <james.hogan@imgtec.com>2016-07-08 11:53:22 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2016-08-01 18:42:22 +0200
commit28cc5bd568745a58bb06291ac336d06b66c66dff (patch)
treed8c1dd5dd137177910f127f125e0e402be3ffded /virt
parentMIPS: KVM: Use virt_to_phys() to get commpage PFN (diff)
downloadlinux-dev-28cc5bd568745a58bb06291ac336d06b66c66dff.tar.xz
linux-dev-28cc5bd568745a58bb06291ac336d06b66c66dff.zip
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>
Diffstat (limited to 'virt')
0 files changed, 0 insertions, 0 deletions