diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-08-05 17:27:35 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-08-05 17:31:45 +0200 |
commit | 71336bf445831c2269e11bbce543ec5815dd1c34 (patch) | |
tree | 05bc65ac98fccfcd0a8c934a9f9cfb4f22196050 /cpukit/score/cpu/arm/cpu.c | |
parent | sptests/sp37: Add ISR level test for new threads (diff) | |
download | rtems-71336bf445831c2269e11bbce543ec5815dd1c34.tar.bz2 |
arm: Fix ISR level context initialization
Diffstat (limited to 'cpukit/score/cpu/arm/cpu.c')
-rw-r--r-- | 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 70021365ad..1c1fe5d3de 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 */ |