summaryrefslogtreecommitdiff
path: root/firmware/target/arm/crt0-pp.S
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/crt0-pp.S')
-rw-r--r--firmware/target/arm/crt0-pp.S17
1 files changed, 17 insertions, 0 deletions
diff --git a/firmware/target/arm/crt0-pp.S b/firmware/target/arm/crt0-pp.S
index e0d1034f74..bbeace1b60 100644
--- a/firmware/target/arm/crt0-pp.S
+++ b/firmware/target/arm/crt0-pp.S
@@ -222,6 +222,19 @@ cop_init:
222 strhi r4, [r2], #4 222 strhi r4, [r2], #4
223 bhi 2b 223 bhi 2b
224 224
225 /* Set up stack for IRQ mode */
226 msr cpsr_c, #0xd2
227 ldr sp, =cop_irq_stack
228 /* Set up stack for FIQ mode */
229 msr cpsr_c, #0xd1
230 ldr sp, =fiq_stack
231
232 /* Let abort and undefined modes use IRQ stack */
233 msr cpsr_c, #0xd7
234 ldr sp, =cop_irq_stack
235 msr cpsr_c, #0xdb
236 ldr sp, =cop_irq_stack
237
225 ldr sp, =cop_stackend 238 ldr sp, =cop_stackend
226 239
227 /* Run cop_main() in apps/main.c */ 240 /* Run cop_main() in apps/main.c */
@@ -307,6 +320,10 @@ UIE:
307 .space 256*4 320 .space 256*4
308irq_stack: 321irq_stack:
309 322
323/* 256 words of COP IRQ stack */
324 .space 256*4
325cop_irq_stack:
326
310/* 256 words of FIQ stack */ 327/* 256 words of FIQ stack */
311 .space 256*4 328 .space 256*4
312fiq_stack: 329fiq_stack: