diff --git a/arch/arm/src/armv7-m/up_initialstate.c b/arch/arm/src/armv7-m/up_initialstate.c index 7b6eb304200cf5dfde4dfd6e725b22da4649c7fe..c60f181f1082a9211fb982793eaa92befc2eef16 100644 --- a/arch/arm/src/armv7-m/up_initialstate.c +++ b/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 */ }