Skip to content
  • Paul Mackerras's avatar
    KVM: PPC: Fix machine checks on 32-bit Book3S · 149dbdb1
    Paul Mackerras authored
    
    
    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: default avatarPaul Mackerras <paulus@samba.org>
    Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
    149dbdb1