diff options
Diffstat (limited to 'nuttx/arch/arm/src/armv6-m/up_initialstate.c')
-rw-r--r-- | nuttx/arch/arm/src/armv6-m/up_initialstate.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/nuttx/arch/arm/src/armv6-m/up_initialstate.c b/nuttx/arch/arm/src/armv6-m/up_initialstate.c index 646d148c1..97c048ef4 100644 --- a/nuttx/arch/arm/src/armv6-m/up_initialstate.c +++ b/nuttx/arch/arm/src/armv6-m/up_initialstate.c @@ -115,17 +115,18 @@ void up_initial_state(struct tcb_s *tcb) xcp->regs[REG_PIC] = (uint32_t)tcb->dspace->region; } +#ifdef CONFIG_NXFLAT /* Make certain that bit 0 is set in the main entry address. This is * only an issue when NXFLAT is enabled. NXFLAT doesn't know anything * about thumb; the addresses that NXFLAT sets are based on file header * info and won't have bit 0 set. */ -#ifdef CONFIG_NXFLAT tcb->entry.main = (main_t)((uint32_t)tcb->entry.main | 1); #endif #endif /* CONFIG_PIC */ +#ifdef 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 @@ -133,6 +134,7 @@ void up_initial_state(struct tcb_s *tcb) */ xcp->regs[REG_EXC_RETURN] = EXC_RETURN_PRIVTHR; +#endif /* Enable or disable interrupts, based on user configuration */ |