summaryrefslogtreecommitdiffstats
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
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
-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:
ldr sp, =irq_stack
msr cpsr_c, #0xdb /* IRQ/FIQ disabled */
ldr sp, =irq_stack
+
/* Switch to supervisor mode */
msr cpsr_c, #0xd3
ldr sp, =stackend
@@ -246,6 +247,8 @@ cop_init:
msr cpsr_c, #0xdb /* IRQ/FIQ disabled */
ldr sp, =cop_irq_stack
+ /* Switch to supervisor mode */
+ msr cpsr_c, #0xd3
ldr sp, =cop_stackend
/* Run cop_main() in apps/main.c */