Messages in this thread | | | Subject | Re: [PATCH] powerpc: Force inlining of cpu_has_feature() to avoid build failure | From | Christophe Leroy <> | Date | Fri, 12 Mar 2021 14:12:22 +0100 |
| |
Le 10/03/2021 à 13:10, Christophe Leroy a écrit : > The code relies on constant folding of cpu_has_feature() based > on possible and always true values as defined per > CPU_FTRS_ALWAYS and CPU_FTRS_POSSIBLE. > > Build failure is encountered with for instance > book3e_all_defconfig on kisskb in the AMDGPU driver which uses > cpu_has_feature(CPU_FTR_VSX_COMP) to decide whether calling > kernel_enable_vsx() or not. > > The failure is due to cpu_has_feature() not being inlined with > that configuration with gcc 4.9. > > In the same way as commit acdad8fb4a15 ("powerpc: Force inlining of > mmu_has_feature to fix build failure"), for inlining of > cpu_has_feature(). > > Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Fixes following build
http://kisskb.ellerman.id.au/kisskb/buildresult/14489391/
> --- > arch/powerpc/include/asm/cpu_has_feature.h | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/powerpc/include/asm/cpu_has_feature.h b/arch/powerpc/include/asm/cpu_has_feature.h > index 7897d16e0990..727d4b321937 100644 > --- a/arch/powerpc/include/asm/cpu_has_feature.h > +++ b/arch/powerpc/include/asm/cpu_has_feature.h > @@ -7,7 +7,7 @@ > #include <linux/bug.h> > #include <asm/cputable.h> > > -static inline bool early_cpu_has_feature(unsigned long feature) > +static __always_inline bool early_cpu_has_feature(unsigned long feature) > { > return !!((CPU_FTRS_ALWAYS & feature) || > (CPU_FTRS_POSSIBLE & cur_cpu_spec->cpu_features & feature)); > @@ -46,7 +46,7 @@ static __always_inline bool cpu_has_feature(unsigned long feature) > return static_branch_likely(&cpu_feature_keys[i]); > } > #else > -static inline bool cpu_has_feature(unsigned long feature) > +static __always_inline bool cpu_has_feature(unsigned long feature) > { > return early_cpu_has_feature(feature); > } >
| |