• Oliver O'Halloran's avatar
    powerpc/boot: Fix the early OPAL console wrappers · a1ff5741
    Oliver O'Halloran authored
    When configured with CONFIG_PPC_EARLY_DEBUG_OPAL=y the kernel expects
    the OPAL entry and base addresses to be passed in r8 and r9
    respectively. Currently the wrapper does not attempt to restore these
    values before entering the decompressed kernel which causes the kernel
    to branch into whatever happens to be in r9 when doing a write to the
    OPAL console in early boot.
    
    This patch adds a platform_ops hook that can be used to branch into the
    new kernel. The OPAL console driver patches this at runtime so that if
    the console is used it will be restored just prior to entering the
    kernel.
    
    Fixes: 656ad58e ("powerpc/boot: Add OPAL console to epapr wrappers")
    Cc: stable@vger.kernel.org # v4.8+
    Signed-off-by: default avatarOliver O'Halloran <oohall@gmail.com>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    a1ff5741
ops.h 7.66 KB