summaryrefslogtreecommitdiff
path: root/firmware/target/arm
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2007-08-01 20:59:27 +0000
committerMichael Sevakis <jethead71@rockbox.org>2007-08-01 20:59:27 +0000
commit4aaded5c767d8c4d3073716d59608eb146acb03c (patch)
tree079d00e0a20bbbaa693cf37427d1bfd24cdd2e70 /firmware/target/arm
parente1c52e7fbe95dff284f9007ac279d27b51f61dd0 (diff)
downloadrockbox-4aaded5c767d8c4d3073716d59608eb146acb03c.tar.gz
rockbox-4aaded5c767d8c4d3073716d59608eb146acb03c.zip
PP50xx: COP was left in undefined mode after init. Switch it to supervisor mode before entering cop_main.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14124 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm')
-rw-r--r--firmware/target/arm/crt0-pp.S3
1 files changed, 3 insertions, 0 deletions
diff --git a/firmware/target/arm/crt0-pp.S b/firmware/target/arm/crt0-pp.S
index b2e09fd690..85dd7f8b24 100644
--- a/firmware/target/arm/crt0-pp.S
+++ b/firmware/target/arm/crt0-pp.S
@@ -202,6 +202,7 @@ cpu_init:
202 ldr sp, =irq_stack 202 ldr sp, =irq_stack
203 msr cpsr_c, #0xdb /* IRQ/FIQ disabled */ 203 msr cpsr_c, #0xdb /* IRQ/FIQ disabled */
204 ldr sp, =irq_stack 204 ldr sp, =irq_stack
205
205 /* Switch to supervisor mode */ 206 /* Switch to supervisor mode */
206 msr cpsr_c, #0xd3 207 msr cpsr_c, #0xd3
207 ldr sp, =stackend 208 ldr sp, =stackend
@@ -246,6 +247,8 @@ cop_init:
246 msr cpsr_c, #0xdb /* IRQ/FIQ disabled */ 247 msr cpsr_c, #0xdb /* IRQ/FIQ disabled */
247 ldr sp, =cop_irq_stack 248 ldr sp, =cop_irq_stack
248 249
250 /* Switch to supervisor mode */
251 msr cpsr_c, #0xd3
249 ldr sp, =cop_stackend 252 ldr sp, =cop_stackend
250 253
251 /* Run cop_main() in apps/main.c */ 254 /* Run cop_main() in apps/main.c */