]> git.baikalelectronics.ru Git - kernel.git/commit
KVM: PPC: Fix machine checks on 32-bit Book3S
authorPaul Mackerras <paulus@samba.org>
Wed, 29 Jun 2011 00:16:42 +0000 (00:16 +0000)
committerAvi Kivity <avi@redhat.com>
Tue, 12 Jul 2011 10:16:45 +0000 (13:16 +0300)
commit27719acba64f1c18bd31004e4c0bbd627aa302aa
tree2629bd148e3e0a5a64ddb7c4bc070debade48c69
parent705dbfb027860ced00aaff37888f80014c592c44
KVM: PPC: Fix machine checks on 32-bit Book3S

Commit 69acc0d3ba ("KVM: PPC: Resolve real-mode handlers through
function exports") resulted in vcpu->arch.trampoline_lowmem and
vcpu->arch.trampoline_enter ending up with kernel virtual addresses
rather than physical addresses.  This is OK on 64-bit Book3S machines,
which ignore the top 4 bits of the effective address in real mode,
but on 32-bit Book3S machines, accessing these addresses in real mode
causes machine check interrupts, as the hardware uses the whole
effective address as the physical address in real mode.

This fixes the problem by using __pa() to convert these addresses
to physical addresses.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
arch/powerpc/kvm/book3s.c