summaryrefslogtreecommitdiffstats
path: root/cpukit
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit')
-rw-r--r--cpukit/score/cpu/arm/ChangeLog5
-rw-r--r--cpukit/score/cpu/arm/cpu.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/cpukit/score/cpu/arm/ChangeLog b/cpukit/score/cpu/arm/ChangeLog
index 081a4fe9db..ad3912565d 100644
--- a/cpukit/score/cpu/arm/ChangeLog
+++ b/cpukit/score/cpu/arm/ChangeLog
@@ -1,3 +1,8 @@
+2008-04-17 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * cpu.c: Add arm_cpu_mode so ARM BSP can overrid default value for
+ cpsr.
+
2007-12-17 Joel Sherrill <joel.sherrill@oarcorp.com>
* rtems/score/cpu.h: Add _CPU_Context_Get_SP() for stack check utility.
diff --git a/cpukit/score/cpu/arm/cpu.c b/cpukit/score/cpu/arm/cpu.c
index 8e7e23640c..c6ee2642ac 100644
--- a/cpukit/score/cpu/arm/cpu.c
+++ b/cpukit/score/cpu/arm/cpu.c
@@ -130,6 +130,8 @@ void _CPU_ISR_install_vector(
}
+unsigned int arm_cpu_mode = 0x13;
+
void _CPU_Context_Initialize(
Context_Control *the_context,
uint32_t *stack_base,
@@ -141,7 +143,7 @@ void _CPU_Context_Initialize(
{
the_context->register_sp = (uint32_t )stack_base + size ;
the_context->register_lr = (uint32_t )entry_point;
- the_context->register_cpsr = new_level | 0x13;
+ the_context->register_cpsr = new_level | arm_cpu_mode;
}