diff --git a/arch/arc/include/kernel_arch_func.h b/arch/arc/include/kernel_arch_func.h index 206a14e908b..79c2f8fcb65 100644 --- a/arch/arc/include/kernel_arch_func.h +++ b/arch/arc/include/kernel_arch_func.h @@ -66,7 +66,10 @@ static ALWAYS_INLINE int Z_INTERRUPT_CAUSE(void) return irq_num; } -#define z_arch_is_in_isr z_arc_v2_irq_unit_is_in_isr +static inline bool z_arch_is_in_isr(void) +{ + return z_arc_v2_irq_unit_is_in_isr(); +} extern void z_thread_entry_wrapper(void); extern void z_user_thread_entry_wrapper(void); diff --git a/arch/nios2/include/kernel_arch_func.h b/arch/nios2/include/kernel_arch_func.h index 7580d07c46c..6ff1b38c17f 100644 --- a/arch/nios2/include/kernel_arch_func.h +++ b/arch/nios2/include/kernel_arch_func.h @@ -41,7 +41,10 @@ z_arch_thread_return_value_set(struct k_thread *thread, unsigned int value) FUNC_NORETURN void z_nios2_fatal_error(unsigned int reason, const z_arch_esf_t *esf); -#define z_arch_is_in_isr() (_kernel.nested != 0U) +static inline bool z_arch_is_in_isr(void) +{ + return _kernel.nested != 0U; +} #ifdef CONFIG_IRQ_OFFLOAD void z_irq_do_offload(void); diff --git a/arch/posix/include/kernel_arch_func.h b/arch/posix/include/kernel_arch_func.h index b405d9b30b0..555339411d9 100644 --- a/arch/posix/include/kernel_arch_func.h +++ b/arch/posix/include/kernel_arch_func.h @@ -53,7 +53,10 @@ z_arch_thread_return_value_set(struct k_thread *thread, unsigned int value) } #endif -#define z_arch_is_in_isr() (_kernel.nested != 0U) +static inline bool z_arch_is_in_isr(void) +{ + return _kernel.nested != 0U; +} #endif /* _ASMLANGUAGE */ diff --git a/arch/riscv/include/kernel_arch_func.h b/arch/riscv/include/kernel_arch_func.h index e388b88d904..dfaa1cb3f3a 100644 --- a/arch/riscv/include/kernel_arch_func.h +++ b/arch/riscv/include/kernel_arch_func.h @@ -37,7 +37,10 @@ z_arch_thread_return_value_set(struct k_thread *thread, unsigned int value) FUNC_NORETURN void z_riscv_fatal_error(unsigned int reason, const z_arch_esf_t *esf); -#define z_arch_is_in_isr() (_kernel.nested != 0U) +static inline bool z_arch_is_in_isr(void) +{ + return _kernel.nested != 0U; +} #ifdef CONFIG_IRQ_OFFLOAD int z_irq_do_offload(void); diff --git a/arch/x86/include/kernel_arch_func.h b/arch/x86/include/kernel_arch_func.h index b3f2adeeb22..b425fa97862 100644 --- a/arch/x86/include/kernel_arch_func.h +++ b/arch/x86/include/kernel_arch_func.h @@ -12,13 +12,15 @@ #include #endif -#ifdef CONFIG_SMP -#define z_arch_is_in_isr() (z_arch_curr_cpu()->nested != 0U) -#else -#define z_arch_is_in_isr() (_kernel.nested != 0U) -#endif - #ifndef _ASMLANGUAGE +static inline bool z_arch_is_in_isr(void) +{ +#ifdef CONFIG_SMP + return z_arch_curr_cpu()->nested != 0; +#else + return _kernel.nested != 0U; +#endif +} extern K_THREAD_STACK_DEFINE(_interrupt_stack, CONFIG_ISR_STACK_SIZE); extern K_THREAD_STACK_DEFINE(_interrupt_stack1, CONFIG_ISR_STACK_SIZE); diff --git a/arch/xtensa/include/kernel_arch_func.h b/arch/xtensa/include/kernel_arch_func.h index b5315b59a14..6c2e83d2810 100644 --- a/arch/xtensa/include/kernel_arch_func.h +++ b/arch/xtensa/include/kernel_arch_func.h @@ -87,8 +87,10 @@ static ALWAYS_INLINE void z_arch_kernel_init(void) } #endif -#define z_arch_is_in_isr() (z_arch_curr_cpu()->nested != 0U) - +static inline bool z_arch_is_in_isr(void) +{ + return z_arch_curr_cpu()->nested != 0U; +} #endif /* _ASMLANGUAGE */ #endif /* ZEPHYR_ARCH_XTENSA_INCLUDE_KERNEL_ARCH_FUNC_H_ */