summaryrefslogtreecommitdiff
path: root/firmware/target/arm/s5l8700/crt0.S
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/s5l8700/crt0.S')
-rw-r--r--firmware/target/arm/s5l8700/crt0.S8
1 files changed, 3 insertions, 5 deletions
diff --git a/firmware/target/arm/s5l8700/crt0.S b/firmware/target/arm/s5l8700/crt0.S
index 583b762505..5fd959cf91 100644
--- a/firmware/target/arm/s5l8700/crt0.S
+++ b/firmware/target/arm/s5l8700/crt0.S
@@ -49,11 +49,7 @@
49 .global _newstart 49 .global _newstart
50 /* Exception vectors */ 50 /* Exception vectors */
51start: 51start:
52#if CONFIG_CPU==S5L8701 && defined(BOOTLOADER)
53 b newstart2
54#else
55 b _newstart 52 b _newstart
56#endif
57 ldr pc, =undef_instr_handler 53 ldr pc, =undef_instr_handler
58 ldr pc, =software_int_handler 54 ldr pc, =software_int_handler
59 ldr pc, =prefetch_abort_handler 55 ldr pc, =prefetch_abort_handler
@@ -66,9 +62,11 @@ start:
66#endif 62#endif
67 .ltorg 63 .ltorg
68_newstart: 64_newstart:
65#if CONFIG_CPU!=S5L8701 || !defined(BOOTLOADER)
69 ldr pc, =newstart2 // we do not want to execute from 0x0 as iram will be mapped there 66 ldr pc, =newstart2 // we do not want to execute from 0x0 as iram will be mapped there
70 .section .init.text,"ax",%progbits 67 .section .init.text,"ax",%progbits
71newstart2: 68newstart2:
69#endif
72 msr cpsr_c, #0xd3 /* enter supervisor mode, disable IRQ/FIQ */ 70 msr cpsr_c, #0xd3 /* enter supervisor mode, disable IRQ/FIQ */
73 71
74#ifdef ROCKBOX_BIG_ENDIAN 72#ifdef ROCKBOX_BIG_ENDIAN
@@ -77,7 +75,7 @@ newstart2:
77 orr r0, r0, r1 75 orr r0, r0, r1
78 mcr 15, 0, r0, c1, c0, 0 // set bigendian 76 mcr 15, 0, r0, c1, c0, 0 // set bigendian
79#endif 77#endif
80 78
81 ldr r1, =0x3c800000 // disable watchdog 79 ldr r1, =0x3c800000 // disable watchdog
82 mov r0, #0xa5 80 mov r0, #0xa5
83 str r0, [r1] 81 str r0, [r1]