Re: [PATCH] powerpc/time: Fix build failure due to do_hard_irq_enable() on PPC32
On Mon, 10 Jan 2022 15:29:53 +, Christophe Leroy wrote: > CC arch/powerpc/kernel/time.o > In file included from : > ./arch/powerpc/include/asm/hw_irq.h: In function 'do_hard_irq_enable': > ././include/linux/compiler_types.h:335:45: error: call to > '__compiletime_assert_35' declared with attribute error: BUILD_BUG failed > 335 | _compiletime_assert(condition, msg, > __compiletime_assert_, __COUNTER__) > | ^ > ././include/linux/compiler_types.h:316:25: note: in definition of macro > '__compiletime_assert' > 316 | prefix ## suffix(); > \ > | ^~ > ././include/linux/compiler_types.h:335:9: note: in expansion of macro > '_compiletime_assert' > 335 | _compiletime_assert(condition, msg, > __compiletime_assert_, __COUNTER__) > | ^~~ > ./include/linux/build_bug.h:39:37: note: in expansion of macro > 'compiletime_assert' > 39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), > msg) > | ^~ > ./include/linux/build_bug.h:59:21: note: in expansion of macro > 'BUILD_BUG_ON_MSG' > 59 | #define BUILD_BUG() BUILD_BUG_ON_MSG(1, "BUILD_BUG failed") > | ^~~~ > ./arch/powerpc/include/asm/hw_irq.h:483:9: note: in expansion of macro > 'BUILD_BUG' > 483 | BUILD_BUG(); > | ^ > > [...] Applied to powerpc/fixes. [1/1] powerpc/time: Fix build failure due to do_hard_irq_enable() on PPC32 https://git.kernel.org/powerpc/c/87b9d74fb0be80054c729e8d6a119ca0955cedf3 cheers
Re: [PATCH] powerpc/time: Fix build failure due to do_hard_irq_enable() on PPC32
Excerpts from Christophe Leroy's message of January 11, 2022 1:29 am: > CC arch/powerpc/kernel/time.o > In file included from : > ./arch/powerpc/include/asm/hw_irq.h: In function 'do_hard_irq_enable': > ././include/linux/compiler_types.h:335:45: error: call to > '__compiletime_assert_35' declared with attribute error: BUILD_BUG failed > 335 | _compiletime_assert(condition, msg, > __compiletime_assert_, __COUNTER__) > | ^ > ././include/linux/compiler_types.h:316:25: note: in definition of macro > '__compiletime_assert' > 316 | prefix ## suffix(); > \ > | ^~ > ././include/linux/compiler_types.h:335:9: note: in expansion of macro > '_compiletime_assert' > 335 | _compiletime_assert(condition, msg, > __compiletime_assert_, __COUNTER__) > | ^~~ > ./include/linux/build_bug.h:39:37: note: in expansion of macro > 'compiletime_assert' > 39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), > msg) > | ^~ > ./include/linux/build_bug.h:59:21: note: in expansion of macro > 'BUILD_BUG_ON_MSG' > 59 | #define BUILD_BUG() BUILD_BUG_ON_MSG(1, "BUILD_BUG failed") > | ^~~~ > ./arch/powerpc/include/asm/hw_irq.h:483:9: note: in expansion of macro > 'BUILD_BUG' > 483 | BUILD_BUG(); > | ^ > > should_hard_irq_enable() returns false on PPC32 so this BUILD_BUG() shouldn't > trigger. > > Force inlining of should_hard_irq_enable() > > Signed-off-by: Christophe Leroy > Fixes: 0faf20a1ad16 ("powerpc/64s/interrupt: Don't enable MSR[EE] in irq > handlers unless perf is in use") > Cc: Nicholas Piggin Acked-by: Nicholas Piggin Thanks, Nick > --- > arch/powerpc/include/asm/hw_irq.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/powerpc/include/asm/hw_irq.h > b/arch/powerpc/include/asm/hw_irq.h > index a58fb4aa6c81..674e5aaafcbd 100644 > --- a/arch/powerpc/include/asm/hw_irq.h > +++ b/arch/powerpc/include/asm/hw_irq.h > @@ -473,7 +473,7 @@ static inline bool arch_irq_disabled_regs(struct pt_regs > *regs) > return !(regs->msr & MSR_EE); > } > > -static inline bool should_hard_irq_enable(void) > +static __always_inline bool should_hard_irq_enable(void) > { > return false; > } > -- > 2.33.1 >
[PATCH] powerpc/time: Fix build failure due to do_hard_irq_enable() on PPC32
CC arch/powerpc/kernel/time.o In file included from : ./arch/powerpc/include/asm/hw_irq.h: In function 'do_hard_irq_enable': ././include/linux/compiler_types.h:335:45: error: call to '__compiletime_assert_35' declared with attribute error: BUILD_BUG failed 335 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^ ././include/linux/compiler_types.h:316:25: note: in definition of macro '__compiletime_assert' 316 | prefix ## suffix(); \ | ^~ ././include/linux/compiler_types.h:335:9: note: in expansion of macro '_compiletime_assert' 335 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~ ./include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert' 39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) | ^~ ./include/linux/build_bug.h:59:21: note: in expansion of macro 'BUILD_BUG_ON_MSG' 59 | #define BUILD_BUG() BUILD_BUG_ON_MSG(1, "BUILD_BUG failed") | ^~~~ ./arch/powerpc/include/asm/hw_irq.h:483:9: note: in expansion of macro 'BUILD_BUG' 483 | BUILD_BUG(); | ^ should_hard_irq_enable() returns false on PPC32 so this BUILD_BUG() shouldn't trigger. Force inlining of should_hard_irq_enable() Signed-off-by: Christophe Leroy Fixes: 0faf20a1ad16 ("powerpc/64s/interrupt: Don't enable MSR[EE] in irq handlers unless perf is in use") Cc: Nicholas Piggin --- arch/powerpc/include/asm/hw_irq.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/powerpc/include/asm/hw_irq.h b/arch/powerpc/include/asm/hw_irq.h index a58fb4aa6c81..674e5aaafcbd 100644 --- a/arch/powerpc/include/asm/hw_irq.h +++ b/arch/powerpc/include/asm/hw_irq.h @@ -473,7 +473,7 @@ static inline bool arch_irq_disabled_regs(struct pt_regs *regs) return !(regs->msr & MSR_EE); } -static inline bool should_hard_irq_enable(void) +static __always_inline bool should_hard_irq_enable(void) { return false; } -- 2.33.1