powerpc/64: Call setup_barrier_nospec() from setup_arch()
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>
This commit is contained in:
parent
e7b3fb43b9
commit
04a682df27
5 changed files with 8 additions and 2 deletions
|
@ -38,7 +38,11 @@ enum l1d_flush_type {
|
||||||
|
|
||||||
void setup_rfi_flush(enum l1d_flush_type, bool enable);
|
void setup_rfi_flush(enum l1d_flush_type, bool enable);
|
||||||
void do_rfi_flush_fixups(enum l1d_flush_type types);
|
void do_rfi_flush_fixups(enum l1d_flush_type types);
|
||||||
|
#ifdef CONFIG_PPC_BARRIER_NOSPEC
|
||||||
void setup_barrier_nospec(void);
|
void setup_barrier_nospec(void);
|
||||||
|
#else
|
||||||
|
static inline void setup_barrier_nospec(void) { };
|
||||||
|
#endif
|
||||||
void do_barrier_nospec_fixups(bool enable);
|
void do_barrier_nospec_fixups(bool enable);
|
||||||
extern bool barrier_nospec_enabled;
|
extern bool barrier_nospec_enabled;
|
||||||
|
|
||||||
|
|
|
@ -322,6 +322,8 @@ void __init setup_arch(char **cmdline_p)
|
||||||
ppc_md.setup_arch();
|
ppc_md.setup_arch();
|
||||||
if ( ppc_md.progress ) ppc_md.progress("arch: exit", 0x3eab);
|
if ( ppc_md.progress ) ppc_md.progress("arch: exit", 0x3eab);
|
||||||
|
|
||||||
|
setup_barrier_nospec();
|
||||||
|
|
||||||
paging_init();
|
paging_init();
|
||||||
|
|
||||||
/* Initialize the MMU context management stuff */
|
/* Initialize the MMU context management stuff */
|
||||||
|
|
|
@ -736,6 +736,8 @@ void __init setup_arch(char **cmdline_p)
|
||||||
if (ppc_md.setup_arch)
|
if (ppc_md.setup_arch)
|
||||||
ppc_md.setup_arch();
|
ppc_md.setup_arch();
|
||||||
|
|
||||||
|
setup_barrier_nospec();
|
||||||
|
|
||||||
paging_init();
|
paging_init();
|
||||||
|
|
||||||
/* Initialize the MMU context management stuff */
|
/* Initialize the MMU context management stuff */
|
||||||
|
|
|
@ -123,7 +123,6 @@ static void pnv_setup_rfi_flush(void)
|
||||||
security_ftr_enabled(SEC_FTR_L1D_FLUSH_HV));
|
security_ftr_enabled(SEC_FTR_L1D_FLUSH_HV));
|
||||||
|
|
||||||
setup_rfi_flush(type, enable);
|
setup_rfi_flush(type, enable);
|
||||||
setup_barrier_nospec();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __init pnv_setup_arch(void)
|
static void __init pnv_setup_arch(void)
|
||||||
|
|
|
@ -574,7 +574,6 @@ void pseries_setup_rfi_flush(void)
|
||||||
security_ftr_enabled(SEC_FTR_L1D_FLUSH_PR);
|
security_ftr_enabled(SEC_FTR_L1D_FLUSH_PR);
|
||||||
|
|
||||||
setup_rfi_flush(types, enable);
|
setup_rfi_flush(types, enable);
|
||||||
setup_barrier_nospec();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __init pSeries_setup_arch(void)
|
static void __init pSeries_setup_arch(void)
|
||||||
|
|
Loading…
Add table
Reference in a new issue