[PATCH 01/17] KVM: PPC: Fix machine checks on 32-bit Book3S

Alexander Graf agraf at suse.de
Fri Jul 1 20:08:51 EST 2011


On 29.06.2011, at 12:16, Paul Mackerras wrote:

> 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.

Ouch. Thanks for the catch! I really need to include book3s_32 in my automated testing :(.


Alex



More information about the Linuxppc-dev mailing list