This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git

commit f20ae064b0bfe91c13140497ddbd65ece6562363
Author: ligd <liguidi...@xiaomi.com>
AuthorDate: Wed Apr 24 15:39:18 2024 +0800

    armv7/8m: unmask all the IRQ when thread start
    
    NVIC_SYSH_PRIORITY_MIN not the basepri loweest prio
    spec says:
    basepri 0 - Disables masking by BASEPRI
    
    Signed-off-by: ligd <liguidi...@xiaomi.com>
---
 arch/arm/include/armv7-m/irq.h          | 2 +-
 arch/arm/include/armv8-m/irq.h          | 2 +-
 arch/arm/src/armv7-m/arm_initialstate.c | 2 +-
 arch/arm/src/armv8-m/arm_initialstate.c | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/arm/include/armv7-m/irq.h b/arch/arm/include/armv7-m/irq.h
index c387899f60..87cf6e0acf 100644
--- a/arch/arm/include/armv7-m/irq.h
+++ b/arch/arm/include/armv7-m/irq.h
@@ -440,7 +440,7 @@ static inline void up_irq_enable(void)
 {
   /* In this case, we are always retaining or lowering the priority value */
 
-  setbasepri(NVIC_SYSH_PRIORITY_MIN);
+  setbasepri(0);
   __asm__ __volatile__ ("\tcpsie  i\n");
 }
 
diff --git a/arch/arm/include/armv8-m/irq.h b/arch/arm/include/armv8-m/irq.h
index fb23d569b7..0860ae960c 100644
--- a/arch/arm/include/armv8-m/irq.h
+++ b/arch/arm/include/armv8-m/irq.h
@@ -413,7 +413,7 @@ static inline void up_irq_enable(void)
 {
   /* In this case, we are always retaining or lowering the priority value */
 
-  setbasepri(NVIC_SYSH_PRIORITY_MIN);
+  setbasepri(0);
   __asm__ __volatile__ ("\tcpsie  i\n");
 }
 
diff --git a/arch/arm/src/armv7-m/arm_initialstate.c 
b/arch/arm/src/armv7-m/arm_initialstate.c
index 4e6127ff81..4baec4aee4 100644
--- a/arch/arm/src/armv7-m/arm_initialstate.c
+++ b/arch/arm/src/armv7-m/arm_initialstate.c
@@ -163,7 +163,7 @@ void up_initial_state(struct tcb_s *tcb)
 #else /* CONFIG_SUPPRESS_INTERRUPTS */
 
 #ifdef CONFIG_ARMV7M_USEBASEPRI
-  xcp->regs[REG_BASEPRI] = NVIC_SYSH_PRIORITY_MIN;
+  xcp->regs[REG_BASEPRI] = 0;
 #endif
 
 #endif /* CONFIG_SUPPRESS_INTERRUPTS */
diff --git a/arch/arm/src/armv8-m/arm_initialstate.c 
b/arch/arm/src/armv8-m/arm_initialstate.c
index fa2cf96718..4916fc36ea 100644
--- a/arch/arm/src/armv8-m/arm_initialstate.c
+++ b/arch/arm/src/armv8-m/arm_initialstate.c
@@ -169,7 +169,7 @@ void up_initial_state(struct tcb_s *tcb)
 #else /* CONFIG_SUPPRESS_INTERRUPTS */
 
 #ifdef CONFIG_ARMV8M_USEBASEPRI
-  xcp->regs[REG_BASEPRI] = NVIC_SYSH_PRIORITY_MIN;
+  xcp->regs[REG_BASEPRI] = 0;
 #endif
 
 #endif /* CONFIG_SUPPRESS_INTERRUPTS */

Reply via email to