summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorKumar Gala <kumar.gala@linaro.org>2017-01-18 12:28:52 -0600
committerKumar Gala <kumar.gala@linaro.org>2017-01-30 11:02:36 -0600
commitf85dbb1b34e35aaa1141f985d306e3fa59160217 (patch)
tree3f9744e0193da5984183adf99b258394353b3b84 /arch
parent6e55fd38deb3b8dcc4530846a04add833fbb54cc (diff)
arm: cmsis: Convert _ScbExcPrioSet to NVIC_SetPriority
Replace _ScbExcPrioSet with calls to NVIC_SetPriority as it handles both interrupt and exception priorities. We don't need to shift around the priority values for NVIC_SetPriority. Jira: ZEP-1568 Change-Id: Iccd68733c3f7faa82b7ccb17200eef328090b6da Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/include/cortex_m/exc.h14
1 files changed, 9 insertions, 5 deletions
diff --git a/arch/arm/include/cortex_m/exc.h b/arch/arm/include/cortex_m/exc.h
index ab25ebd77..c5eb8a554 100644
--- a/arch/arm/include/cortex_m/exc.h
+++ b/arch/arm/include/cortex_m/exc.h
@@ -27,6 +27,8 @@ extern "C" {
#else
+#include <arch/arm/cortex_m/cmsis.h>
+
/**
*
* @brief Find out if running in an ISR context
@@ -57,6 +59,8 @@ static ALWAYS_INLINE int _IsInIsr(void)
#endif /* CONFIG_ARMV6_M */
}
+#define _EXC_SVC_PRIO 0
+#define _EXC_FAULT_PRIO 0
/**
* @brief Setup system exceptions
*
@@ -69,16 +73,16 @@ static ALWAYS_INLINE int _IsInIsr(void)
*/
static ALWAYS_INLINE void _ExcSetup(void)
{
- _ScbExcPrioSet(_EXC_PENDSV, _EXC_PRIO(0xff));
+ NVIC_SetPriority(PendSV_IRQn, 0xff);
#ifdef CONFIG_CPU_CORTEX_M_HAS_BASEPRI
- _ScbExcPrioSet(_EXC_SVC, _EXC_PRIO(_EXC_SVC_PRIO));
+ NVIC_SetPriority(SVCall_IRQn, _EXC_SVC_PRIO);
#endif
#ifdef CONFIG_CPU_CORTEX_M_HAS_PROGRAMMABLE_FAULT_PRIOS
- _ScbExcPrioSet(_EXC_MPU_FAULT, _EXC_PRIO(_EXC_FAULT_PRIO));
- _ScbExcPrioSet(_EXC_BUS_FAULT, _EXC_PRIO(_EXC_FAULT_PRIO));
- _ScbExcPrioSet(_EXC_USAGE_FAULT, _EXC_PRIO(_EXC_FAULT_PRIO));
+ NVIC_SetPriority(MemoryManagement_IRQn, _EXC_FAULT_PRIO);
+ NVIC_SetPriority(BusFault_IRQn, _EXC_FAULT_PRIO);
+ NVIC_SetPriority(UsageFault_IRQn, _EXC_FAULT_PRIO);
_ScbUsageFaultEnable();
_ScbBusFaultEnable();