lkml.org 
[lkml]   [2020]   [Dec]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.19 152/346] powerpc/feature: Fix CPU_FTRS_ALWAYS by removing CPU_FTRS_GENERIC_32
    Date
    From: Christophe Leroy <christophe.leroy@csgroup.eu>

    [ Upstream commit 78665179e569c7e1fe102fb6c21d0f5b6951f084 ]

    On 8xx, we get the following features:

    [ 0.000000] cpu_features = 0x0000000000000100
    [ 0.000000] possible = 0x0000000000000120
    [ 0.000000] always = 0x0000000000000000

    This is not correct. As CONFIG_PPC_8xx is mutually exclusive with all
    other configurations, the three lines should be equal.

    The problem is due to CPU_FTRS_GENERIC_32 which is taken when
    CONFIG_BOOK3S_32 is NOT selected. This CPU_FTRS_GENERIC_32 is
    pointless because there is no generic configuration supporting
    all 32 bits but book3s/32.

    Remove this pointless generic features definition to unbreak the
    calculation of 'possible' features and 'always' features.

    Fixes: 76bc080ef5a3 ("[POWERPC] Make default cputable entries reflect selected CPU family")
    Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/76a85f30bf981d1aeaae00df99321235494da254.1604426550.git.christophe.leroy@csgroup.eu
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    arch/powerpc/include/asm/cputable.h | 5 -----
    1 file changed, 5 deletions(-)

    diff --git a/arch/powerpc/include/asm/cputable.h b/arch/powerpc/include/asm/cputable.h
    index 59b35b93eadec..d90093a88e096 100644
    --- a/arch/powerpc/include/asm/cputable.h
    +++ b/arch/powerpc/include/asm/cputable.h
    @@ -411,7 +411,6 @@ static inline void cpu_feature_keys_init(void) { }
    CPU_FTR_DBELL | CPU_FTR_POPCNTB | CPU_FTR_POPCNTD | \
    CPU_FTR_DEBUG_LVL_EXC | CPU_FTR_EMB_HV | CPU_FTR_ALTIVEC_COMP | \
    CPU_FTR_CELL_TB_BUG | CPU_FTR_SMT)
    -#define CPU_FTRS_GENERIC_32 (CPU_FTR_COMMON | CPU_FTR_NODSISRALIGN)

    /* 64-bit CPUs */
    #define CPU_FTRS_PPC970 (CPU_FTR_LWSYNC | \
    @@ -509,8 +508,6 @@ enum {
    CPU_FTRS_7447 | CPU_FTRS_7447A | CPU_FTRS_82XX |
    CPU_FTRS_G2_LE | CPU_FTRS_E300 | CPU_FTRS_E300C2 |
    CPU_FTRS_CLASSIC32 |
    -#else
    - CPU_FTRS_GENERIC_32 |
    #endif
    #ifdef CONFIG_PPC_8xx
    CPU_FTRS_8XX |
    @@ -585,8 +582,6 @@ enum {
    CPU_FTRS_7447 & CPU_FTRS_7447A & CPU_FTRS_82XX &
    CPU_FTRS_G2_LE & CPU_FTRS_E300 & CPU_FTRS_E300C2 &
    CPU_FTRS_CLASSIC32 &
    -#else
    - CPU_FTRS_GENERIC_32 &
    #endif
    #ifdef CONFIG_PPC_8xx
    CPU_FTRS_8XX &
    --
    2.27.0


    \
     
     \ /
      Last update: 2020-12-28 17:10    [W:4.056 / U:1.248 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site