lkml.org 
[lkml]   [2019]   [May]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.4 048/266] powerpc/64: Call setup_barrier_nospec() from setup_arch()
    Date
    From: Michael Ellerman <mpe@ellerman.id.au>

    commit af375eefbfb27cbb5b831984e66d724a40d26b5c upstream.

    Currently we require platform code to call setup_barrier_nospec(). But
    if we add an empty definition for the !CONFIG_PPC_BARRIER_NOSPEC case
    then we can call it in setup_arch().

    Signed-off-by: Diana Craciun <diana.craciun@nxp.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    arch/powerpc/include/asm/setup.h | 4 ++++
    arch/powerpc/kernel/setup_32.c | 2 ++
    arch/powerpc/kernel/setup_64.c | 2 ++
    arch/powerpc/platforms/powernv/setup.c | 1 -
    arch/powerpc/platforms/pseries/setup.c | 1 -
    5 files changed, 8 insertions(+), 2 deletions(-)

    --- a/arch/powerpc/include/asm/setup.h
    +++ b/arch/powerpc/include/asm/setup.h
    @@ -38,7 +38,11 @@ enum l1d_flush_type {

    void setup_rfi_flush(enum l1d_flush_type, bool enable);
    void do_rfi_flush_fixups(enum l1d_flush_type types);
    +#ifdef CONFIG_PPC_BARRIER_NOSPEC
    void setup_barrier_nospec(void);
    +#else
    +static inline void setup_barrier_nospec(void) { };
    +#endif
    void do_barrier_nospec_fixups(bool enable);
    extern bool barrier_nospec_enabled;

    --- a/arch/powerpc/kernel/setup_32.c
    +++ b/arch/powerpc/kernel/setup_32.c
    @@ -322,6 +322,8 @@ void __init setup_arch(char **cmdline_p)
    ppc_md.setup_arch();
    if ( ppc_md.progress ) ppc_md.progress("arch: exit", 0x3eab);

    + setup_barrier_nospec();
    +
    paging_init();

    /* Initialize the MMU context management stuff */
    --- a/arch/powerpc/kernel/setup_64.c
    +++ b/arch/powerpc/kernel/setup_64.c
    @@ -736,6 +736,8 @@ void __init setup_arch(char **cmdline_p)
    if (ppc_md.setup_arch)
    ppc_md.setup_arch();

    + setup_barrier_nospec();
    +
    paging_init();

    /* Initialize the MMU context management stuff */
    --- a/arch/powerpc/platforms/powernv/setup.c
    +++ b/arch/powerpc/platforms/powernv/setup.c
    @@ -123,7 +123,6 @@ static void pnv_setup_rfi_flush(void)
    security_ftr_enabled(SEC_FTR_L1D_FLUSH_HV));

    setup_rfi_flush(type, enable);
    - setup_barrier_nospec();
    }

    static void __init pnv_setup_arch(void)
    --- a/arch/powerpc/platforms/pseries/setup.c
    +++ b/arch/powerpc/platforms/pseries/setup.c
    @@ -574,7 +574,6 @@ void pseries_setup_rfi_flush(void)
    security_ftr_enabled(SEC_FTR_L1D_FLUSH_PR);

    setup_rfi_flush(types, enable);
    - setup_barrier_nospec();
    }

    static void __init pSeries_setup_arch(void)

    \
     
     \ /
      Last update: 2019-05-15 13:03    [W:4.297 / U:1.088 seconds]
    ©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site