diff --git a/arch/arm/core/fault.c b/arch/arm/core/fault.c index 38fbdd3cce5..6f1069bfc33 100644 --- a/arch/arm/core/fault.c +++ b/arch/arm/core/fault.c @@ -64,7 +64,7 @@ void _FaultDump(const NANO_ESF *esf, int fault) int escalation = 0; if (3 == fault) { /* hard fault */ - escalation = _ScbHardFaultIsForced(); + escalation = SCB->HFSR & SCB_HFSR_FORCED_Msk; PR_EXC("HARD FAULT: %s\n", escalation ? "Escalation (see below)!" : "Bus fault on vector table read\n"); @@ -259,7 +259,7 @@ static void _HardFault(const NANO_ESF *esf) #elif defined(CONFIG_ARMV7_M) if (_ScbHardFaultIsBusErrOnVectorRead()) { PR_EXC(" Bus fault on vector table read\n"); - } else if (_ScbHardFaultIsForced()) { + } else if (SCB->HFSR & SCB_HFSR_FORCED_Msk) { PR_EXC(" Fault escalation (see below)\n"); if (_ScbIsMemFault()) { _MpuFault(esf, 1); diff --git a/include/arch/arm/cortex_m/scb.h b/include/arch/arm/cortex_m/scb.h index fbeef93e61b..123c3e25e26 100644 --- a/include/arch/arm/cortex_m/scb.h +++ b/include/arch/arm/cortex_m/scb.h @@ -76,21 +76,6 @@ static inline int _ScbHardFaultIsBusErrOnVectorRead(void) return __scs.scb.hfsr.bit.vecttbl; } -/** - * - * @brief Find out if a fault was escalated to hard fault - * - * Happens if a fault cannot be triggered because of priority or because it was - * disabled. - * - * @return 1 if so, 0 otherwise - */ - -static inline int _ScbHardFaultIsForced(void) -{ - return __scs.scb.hfsr.bit.forced; -} - /** * * @brief Clear all hard faults (HFSR register)