diff options
author | Kumar Gala <kumar.gala@linaro.org> | 2017-01-25 08:29:03 -0600 |
---|---|---|
committer | Kumar Gala <kumar.gala@linaro.org> | 2017-01-30 11:02:39 -0600 |
commit | 772cbd195590af09659048a3878318e9bbb7d6e3 (patch) | |
tree | e8f317a2f922656ce412a9a20dfeece2b3d9c4db /arch | |
parent | 5068e9657f170340d66abb759907b32f6cad1093 (diff) |
arm: cmsis: Convert _ScbIsInThreadMode to use direct CMSIS register access
Jira: ZEP-1568
Change-Id: Idc14817ce85042ec86bdf67b8939f783224329ff
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/core/cortex_m/scb.c | 2 | ||||
-rw-r--r-- | arch/arm/core/thread_abort.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/arch/arm/core/cortex_m/scb.c b/arch/arm/core/cortex_m/scb.c index 168413b37..f5bca9b33 100644 --- a/arch/arm/core/cortex_m/scb.c +++ b/arch/arm/core/cortex_m/scb.c @@ -36,7 +36,7 @@ static void software_reboot(void) */ __asm__ volatile("cpsie i" :::); - if (_ScbIsInThreadMode()) { + if ((SCB->ICSR & SCB_ICSR_VECTACTIVE_Msk) == 0) { _do_software_reboot(); } else { __asm__ volatile( diff --git a/arch/arm/core/thread_abort.c b/arch/arm/core/thread_abort.c index a24e2bbcf..166aeef84 100644 --- a/arch/arm/core/thread_abort.c +++ b/arch/arm/core/thread_abort.c @@ -35,7 +35,7 @@ void k_thread_abort(k_tid_t thread) _thread_monitor_exit(thread); if (_current == thread) { - if (_ScbIsInThreadMode()) { + if ((SCB->ICSR & SCB_ICSR_VECTACTIVE_Msk) == 0) { _Swap(key); CODE_UNREACHABLE; } else { |