summaryrefslogtreecommitdiffstats
path: root/utils/atj2137/adfuload
diff options
context:
space:
mode:
Diffstat (limited to 'utils/atj2137/adfuload')
-rw-r--r--utils/atj2137/adfuload/test_binary/backlight_c/crt0.S13
1 files changed, 6 insertions, 7 deletions
diff --git a/utils/atj2137/adfuload/test_binary/backlight_c/crt0.S b/utils/atj2137/adfuload/test_binary/backlight_c/crt0.S
index e3817fcfb7..e03b8b5439 100644
--- a/utils/atj2137/adfuload/test_binary/backlight_c/crt0.S
+++ b/utils/atj2137/adfuload/test_binary/backlight_c/crt0.S
@@ -11,9 +11,13 @@
start:
di # disable interrupts
- bal get_pc # v0 = PC + 8 actually
+ bltzal zero, load_addr # ra = PC + 8, branch not taken
nop
- addiu v0, -12 # calc real load address
+
+load_addr:
+ addiu v0, ra, -12 # calc real load address
+ # account for branch delay slot
+ # and very first 'di' instruction
la t0, relocstart
la t1, relocend
beq t0, v0, entry_point # no relocation needed
@@ -31,11 +35,6 @@ entry_point_jump:
jr t0
nop
-get_pc:
- move v0, ra
- jr ra
- nop
-
entry_point:
# setup caches
# 4-way, 256 sets, 16 bytes cacheline I/D