From a033a89d76a7f73d1bd09086c37c45588d948d7d Mon Sep 17 00:00:00 2001 From: Kumar Gala Date: Fri, 27 Jan 2017 20:39:05 -0600 Subject: [PATCH] arm: cmsis: Convert _ScbActiveVectorGet to use direct CMSIS register access Jira: ZEP-1568 Change-Id: Ibbb3f71d7ee42ab62f764d45bd334c7840b3c04d Signed-off-by: Kumar Gala --- arch/arm/core/fault.c | 2 +- include/arch/arm/cortex_m/scb.h | 15 --------------- 2 files changed, 1 insertion(+), 16 deletions(-) diff --git a/arch/arm/core/fault.c b/arch/arm/core/fault.c index 60ca5a0c6f5..38fbdd3cce5 100644 --- a/arch/arm/core/fault.c +++ b/arch/arm/core/fault.c @@ -360,7 +360,7 @@ static void _FaultDump(const NANO_ESF *esf, int fault) */ void _Fault(const NANO_ESF *esf) { - int fault = _ScbActiveVectorGet(); + int fault = SCB->ICSR & SCB_ICSR_VECTACTIVE_Msk; FAULT_DUMP(esf, fault); diff --git a/include/arch/arm/cortex_m/scb.h b/include/arch/arm/cortex_m/scb.h index 5c379530179..fbeef93e61b 100644 --- a/include/arch/arm/cortex_m/scb.h +++ b/include/arch/arm/cortex_m/scb.h @@ -44,21 +44,6 @@ extern "C" { #include #include -/** - * - * @brief Obtain the currently executing vector - * - * If currently handling an exception/interrupt, return the executing vector - * number. If not, return 0. - * - * @return the currently executing vector number, 0 if in thread mode. - */ - -static inline uint32_t _ScbActiveVectorGet(void) -{ - return __scs.scb.icsr.bit.vectactive; -} - #if defined(CONFIG_ARMV6_M) #elif defined(CONFIG_ARMV7_M) /**