summaryrefslogtreecommitdiff
path: root/firmware/crt0.S
diff options
context:
space:
mode:
authorThom Johansen <thomj@rockbox.org>2006-03-20 00:39:19 +0000
committerThom Johansen <thomj@rockbox.org>2006-03-20 00:39:19 +0000
commitfce885d9ec3fe590ad8eed2d2ca961c14a601202 (patch)
tree5ccb7d22352e93d8e6fa038c7a547427635f52f2 /firmware/crt0.S
parent6f0a01e8e4c18fc85d89d527c5569995fb75f86f (diff)
downloadrockbox-fce885d9ec3fe590ad8eed2d2ca961c14a601202.tar.gz
rockbox-fce885d9ec3fe590ad8eed2d2ca961c14a601202.zip
Turns out there's a processor mode actually called 'undefined'. Set up a
stack for this as well. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9125 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/crt0.S')
-rw-r--r--firmware/crt0.S4
1 files changed, 3 insertions, 1 deletions
diff --git a/firmware/crt0.S b/firmware/crt0.S
index e7210e6d78..e8ccede187 100644
--- a/firmware/crt0.S
+++ b/firmware/crt0.S
@@ -291,9 +291,11 @@ boot_table:
291 ldr r12, =0x70002800 /* IISCONFIG */ 291 ldr r12, =0x70002800 /* IISCONFIG */
292 ldr r11, =p 292 ldr r11, =p
293#endif 293#endif
294 /* Let abort mode use IRQ stack */ 294 /* Let abort and undefined modes use IRQ stack */
295 msr cpsr_c, #0xd7 295 msr cpsr_c, #0xd7
296 ldr sp, =irq_stack 296 ldr sp, =irq_stack
297 msr cpsr_c, #0xdb
298 ldr sp, =irq_stack
297 /* Switch to supervisor mode */ 299 /* Switch to supervisor mode */
298 msr cpsr_c, #0xd3 300 msr cpsr_c, #0xd3
299 ldr sp, =stackend 301 ldr sp, =stackend