diff options
-rw-r--r-- | nuttx/arch/arm/src/armv7-m/up_initialstate.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/nuttx/arch/arm/src/armv7-m/up_initialstate.c b/nuttx/arch/arm/src/armv7-m/up_initialstate.c index 7b6eb3042..c60f181f1 100644 --- a/nuttx/arch/arm/src/armv7-m/up_initialstate.c +++ b/nuttx/arch/arm/src/armv7-m/up_initialstate.c @@ -1,7 +1,7 @@ /**************************************************************************** * arch/arm/src/armv7-m/up_initialstate.c * - * Copyright (C) 2009, 2011-2013 Gregory Nutt. All rights reserved. + * Copyright (C) 2009, 2011-2014 Gregory Nutt. All rights reserved. * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without @@ -147,10 +147,18 @@ void up_initial_state(struct tcb_s *tcb) /* Enable or disable interrupts, based on user configuration */ #ifdef CONFIG_SUPPRESS_INTERRUPTS + #ifdef CONFIG_ARMV7M_USEBASEPRI xcp->regs[REG_BASEPRI] = NVIC_SYSH_DISABLE_PRIORITY; #else xcp->regs[REG_PRIMASK] = 1; #endif + +#else /* CONFIG_SUPPRESS_INTERRUPTS */ + +#ifdef CONFIG_ARMV7M_USEBASEPRI + xcp->regs[REG_BASEPRI] = NVIC_SYSH_MAXNORMAL_PRIORITY; +#endif + #endif /* CONFIG_SUPPRESS_INTERRUPTS */ } |