From 062801e3ed560418264a0fc7954a2008102a4713 Mon Sep 17 00:00:00 2001 From: Marcin Bukat Date: Fri, 3 Jan 2014 08:45:57 +0100 Subject: atj213x: obtain PC value in more elegant way Change-Id: I2e6ffb3b58ddda0ea62ce5d4cd71ac5475b34495 --- utils/atj2137/adfuload/test_binary/backlight_c/crt0.S | 13 ++++++------- 1 file 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 -- cgit v1.2.3