• Michael Ellerman's avatar
    powerpc/powernv: Fix boot on Power8 bare metal due to opal_configure_cores() · a70b487b
    Michael Ellerman authored
    In commit 1c0eaf0f ("powerpc/powernv: Tell OPAL about our MMU mode
    on POWER9"), we added additional flags to the OPAL call to configure
    CPUs at boot.
    
    These flags only work on Power9 firmwares, and worse can cause boot
    failures on Power8 machines, so we check for CPU_FTR_ARCH_300 (aka POWER9)
    before adding the extra flags.
    
    Unfortunately we forgot that opal_configure_cores() is called before
    the CPU feature checks are dynamically patched, meaning the check
    always returns true.
    
    We definitely need to do something to make the CPU feature checks less
    prone to bugs like this, but for now the minimal fix is to use
    early_cpu_has_feature().
    Reported-and-tested-by: default avatarAbdul Haleem <abdhalee@linux.vnet.ibm.com>
    Fixes: 1c0eaf0f ("powerpc/powernv: Tell OPAL about our MMU mode on POWER9")
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    a70b487b
opal.c 24.5 KB