summaryrefslogtreecommitdiff
path: root/firmware/target/mips/ingenic_jz47xx/crt0.S
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/mips/ingenic_jz47xx/crt0.S')
-rw-r--r--firmware/target/mips/ingenic_jz47xx/crt0.S27
1 files changed, 14 insertions, 13 deletions
diff --git a/firmware/target/mips/ingenic_jz47xx/crt0.S b/firmware/target/mips/ingenic_jz47xx/crt0.S
index 7035c5ab0b..16751ba0f6 100644
--- a/firmware/target/mips/ingenic_jz47xx/crt0.S
+++ b/firmware/target/mips/ingenic_jz47xx/crt0.S
@@ -60,10 +60,10 @@
60 la t2, _bootend 60 la t2, _bootend
61_relocate_loop: 61_relocate_loop:
62 lw t3, 0(t0) 62 lw t3, 0(t0)
63 sw t3, 0(t1)
64 addiu t1, 4 63 addiu t1, 4
65 bne t1, t2, _relocate_loop
66 addiu t0, 4 64 addiu t0, 4
65 bne t1, t2, _relocate_loop
66 sw t3, 0(t1)
67#endif 67#endif
68 68
69_start: 69_start:
@@ -104,8 +104,8 @@ _start:
104_cache_loop: 104_cache_loop:
105 cache 0x8, 0(t0) # index store icache tag 105 cache 0x8, 0(t0) # index store icache tag
106 cache 0x9, 0(t0) # index store dcache tag 106 cache 0x9, 0(t0) # index store dcache tag
107 bne t0, t1, _cache_loop
108 addiu t0, t0, 0x20 # 32 bytes per cache line 107 addiu t0, t0, 0x20 # 32 bytes per cache line
108 bne t0, t1, _cache_loop
109 nop 109 nop
110 110
111 /* 111 /*
@@ -131,11 +131,11 @@ _cache_loop:
131 la t2, _iramend 131 la t2, _iramend
132_iram_loop: 132_iram_loop:
133 lw t3, 0(t0) 133 lw t3, 0(t0)
134 sw t3, 0(t1)
135 addiu t1, 4 134 addiu t1, 4
136 bne t1, t2, _iram_loop
137 addiu t0, 4 135 addiu t0, 4
138 136 bne t1, t2, _iram_loop
137 sw t3, 0(t1)
138
139 /* 139 /*
140 ---------------------------------------------------- 140 ----------------------------------------------------
141 Clear BSS section 141 Clear BSS section
@@ -144,9 +144,9 @@ _iram_loop:
144 la t0, _edata 144 la t0, _edata
145 la t1, _end 145 la t1, _end
146_bss_loop: 146_bss_loop:
147 sw zero, 0(t0) 147 addiu t1, -4
148 bne t0, t1, _bss_loop 148 bne t0, t1, _bss_loop
149 addiu t0, 4 149 sw zero, 0(t1)
150 150
151 /* 151 /*
152 ---------------------------------------------------- 152 ----------------------------------------------------
@@ -155,12 +155,13 @@ _bss_loop:
155 */ 155 */
156 la sp, stackend 156 la sp, stackend
157 la t0, stackbegin 157 la t0, stackbegin
158 li t1, 0xDEADBEEF 158 move t1, sp
159 li t2, 0xDEADBEEF
159 160
160_stack_loop: 161_stack_loop:
161 sw t1, 0(t0) 162 addiu t1, -4
162 bne t0, sp, _stack_loop 163 bne t0, t1, _stack_loop
163 addiu t0, t0, 4 164 sw t2, 0(t1)
164 165
165 /* 166 /*
166 ---------------------------------------------------- 167 ----------------------------------------------------