[rtems commit] arm: Fix ISR level context initialization

Sebastian Huber sebh at rtems.org
Mon Aug 5 15:26:18 UTC 2013


Module:    rtems
Branch:    master
Commit:    71336bf445831c2269e11bbce543ec5815dd1c34
Changeset: http://git.rtems.org/rtems/commit/?id=71336bf445831c2269e11bbce543ec5815dd1c34

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Mon Aug  5 17:27:35 2013 +0200

arm: Fix ISR level context initialization

---

 cpukit/score/cpu/arm/cpu.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/cpukit/score/cpu/arm/cpu.c b/cpukit/score/cpu/arm/cpu.c
index 7002136..1c1fe5d 100644
--- a/cpukit/score/cpu/arm/cpu.c
+++ b/cpukit/score/cpu/arm/cpu.c
@@ -76,7 +76,8 @@ void _CPU_Context_Initialize(
 {
   the_context->register_sp = (uint32_t) stack_area_begin + stack_area_size;
   the_context->register_lr = (uint32_t) entry_point;
-  the_context->register_cpsr = new_level | arm_cpu_mode;
+  the_context->register_cpsr = ( ( new_level != 0 ) ? ARM_PSR_I : 0 )
+    | arm_cpu_mode;
 }
 
 /* Preprocessor magic for stringification of x */




More information about the vc mailing list