From 0a08f6f449bbd95e549d8b883866422ba4cc94c8 Mon Sep 17 00:00:00 2001 From: Andrzej Kaczmarek Date: Fri, 24 Feb 2023 23:45:16 +0100 Subject: [PATCH] babblesim: Fix os_arch_in_isr --- babblesim/core/src/irq_handler.c | 6 ++++++ babblesim/hw/bsp/nrf52_bsim/include/os/os_arch.h | 7 ++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/babblesim/core/src/irq_handler.c b/babblesim/core/src/irq_handler.c index d29797500..05eb881a6 100644 --- a/babblesim/core/src/irq_handler.c +++ b/babblesim/core/src/irq_handler.c @@ -22,6 +22,12 @@ extern void (* const systemVectors[256])(void); * handler and therefore its priority handling */ +int +os_arch_in_isr(void) +{ + return currently_running_irq >= 0; +} + void posix_interrupt_raised(void) { uint64_t irq_lock; diff --git a/babblesim/hw/bsp/nrf52_bsim/include/os/os_arch.h b/babblesim/hw/bsp/nrf52_bsim/include/os/os_arch.h index 32bc97bcb..574f1e813 100644 --- a/babblesim/hw/bsp/nrf52_bsim/include/os/os_arch.h +++ b/babblesim/hw/bsp/nrf52_bsim/include/os/os_arch.h @@ -48,11 +48,8 @@ void os_arch_frame_init(struct stack_frame *sf); #define OS_IDLE_STACK_SIZE (4000) #endif -static inline int -os_arch_in_isr(void) -{ - return hw_irq_ctrl_get_irq_status(); -} +/* Implemented in irq_handler */ +int os_arch_in_isr(void); /* Include common arch definitions and APIs */ #include "os/arch/common.h"