diff options
Diffstat (limited to 'firmware/target/arm/s5l8700/crt0.S')
-rw-r--r-- | firmware/target/arm/s5l8700/crt0.S | 8 |
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 */ |
51 | start: | 51 | start: |
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 |
71 | newstart2: | 68 | newstart2: |
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] |