diff --git a/arch/arm/src/armv7-m/up_initialstate.c b/arch/arm/src/armv7-m/up_initialstate.c index 41828af5be..091115fba0 100644 --- a/arch/arm/src/armv7-m/up_initialstate.c +++ b/arch/arm/src/armv7-m/up_initialstate.c @@ -126,6 +126,7 @@ void up_initial_state(struct tcb_s *tcb) #endif #endif /* CONFIG_PIC */ +#if defined(CONFIG_ARMV7M_CMNVECTOR) || defined(CONFIG_NUTTX_KERNEL) /* All tasks start via a stub function in kernel space. So all * tasks must start in privileged thread mode. If CONFIG_NUTTX_KERNEL * is defined, then that stub function will switch to unprivileged @@ -134,6 +135,8 @@ void up_initial_state(struct tcb_s *tcb) xcp->regs[REG_EXC_RETURN] = EXC_RETURN_PRIVTHR; +#endif /* CONFIG_ARMV7M_CMNVECTOR || CONFIG_NUTTX_KERNEL */ + #if defined(CONFIG_ARMV7M_CMNVECTOR) && defined(CONFIG_ARCH_FPU) xcp->regs[REG_FPSCR] = 0; // XXX initial FPSCR should be configurable