diff options
Diffstat (limited to 'utils')
-rw-r--r-- | utils/hwstub/stub/stmp/crt0.S | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/utils/hwstub/stub/stmp/crt0.S b/utils/hwstub/stub/stmp/crt0.S index 8b2197823e..f4a0c28360 100644 --- a/utils/hwstub/stub/stmp/crt0.S +++ b/utils/hwstub/stub/stmp/crt0.S | |||
@@ -5,15 +5,12 @@ | |||
5 | start: | 5 | start: |
6 | sub r7, pc, #8 /* Copy running address */ | 6 | sub r7, pc, #8 /* Copy running address */ |
7 | msr cpsr_c, #0xd3 /* enter supervisor mode, disable IRQ/FIQ */ | 7 | msr cpsr_c, #0xd3 /* enter supervisor mode, disable IRQ/FIQ */ |
8 | #ifdef CONFIG_STMP | ||
9 | /* Disable MMU, disable caching and buffering; | 8 | /* Disable MMU, disable caching and buffering; |
10 | * use low exception range address */ | 9 | * use low exception range address */ |
11 | mrc p15, 0, r0, c1, c0, 0 | 10 | mrc p15, 0, r0, c1, c0, 0 |
12 | ldr r1, =0x3005 | 11 | ldr r1, =0x3005 |
13 | bic r0, r1 | 12 | bic r0, r1 |
14 | mcr p15, 0, r0, c1, c0, 0 | 13 | mcr p15, 0, r0, c1, c0, 0 |
15 | #endif | ||
16 | ldr sp, =oc_stackend | ||
17 | /* Relocate to right address */ | 14 | /* Relocate to right address */ |
18 | mov r2, r7 | 15 | mov r2, r7 |
19 | ldr r3, =_copystart | 16 | ldr r3, =_copystart |
@@ -23,7 +20,6 @@ start: | |||
23 | ldrhi r5, [r2], #4 | 20 | ldrhi r5, [r2], #4 |
24 | strhi r5, [r3], #4 | 21 | strhi r5, [r3], #4 |
25 | bhi 1b | 22 | bhi 1b |
26 | |||
27 | mov r2, #0 | 23 | mov r2, #0 |
28 | mcr p15, 0, r2, c7, c5, 0 @ Invalidate ICache | 24 | mcr p15, 0, r2, c7, c5, 0 @ Invalidate ICache |
29 | /* Jump to real location */ | 25 | /* Jump to real location */ |
@@ -38,4 +34,5 @@ remap: | |||
38 | strhi r4, [r2], #4 | 34 | strhi r4, [r2], #4 |
39 | bhi 1b | 35 | bhi 1b |
40 | /* jump to C code */ | 36 | /* jump to C code */ |
37 | ldr sp, =oc_stackend | ||
41 | b main | 38 | b main |