diff options
author | Marcin Bukat <marcin.bukat@gmail.com> | 2014-01-03 08:45:57 +0100 |
---|---|---|
committer | Marcin Bukat <marcin.bukat@gmail.com> | 2014-01-03 09:00:11 +0100 |
commit | 062801e3ed560418264a0fc7954a2008102a4713 (patch) | |
tree | 4e65ed20244a6901aa6c14234ab0e19ac1ffd4d8 | |
parent | 9dbdec14f080456ff3eaeb619f321e4e34aa8a0e (diff) | |
download | rockbox-062801e3ed560418264a0fc7954a2008102a4713.tar.gz rockbox-062801e3ed560418264a0fc7954a2008102a4713.zip |
atj213x: obtain PC value in more elegant way
Change-Id: I2e6ffb3b58ddda0ea62ce5d4cd71ac5475b34495
-rw-r--r-- | utils/atj2137/adfuload/test_binary/backlight_c/crt0.S | 13 |
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 @@ | |||
11 | 11 | ||
12 | start: | 12 | start: |
13 | di # disable interrupts | 13 | di # disable interrupts |
14 | bal get_pc # v0 = PC + 8 actually | 14 | bltzal zero, load_addr # ra = PC + 8, branch not taken |
15 | nop | 15 | nop |
16 | addiu v0, -12 # calc real load address | 16 | |
17 | load_addr: | ||
18 | addiu v0, ra, -12 # calc real load address | ||
19 | # account for branch delay slot | ||
20 | # and very first 'di' instruction | ||
17 | la t0, relocstart | 21 | la t0, relocstart |
18 | la t1, relocend | 22 | la t1, relocend |
19 | beq t0, v0, entry_point # no relocation needed | 23 | beq t0, v0, entry_point # no relocation needed |
@@ -31,11 +35,6 @@ entry_point_jump: | |||
31 | jr t0 | 35 | jr t0 |
32 | nop | 36 | nop |
33 | 37 | ||
34 | get_pc: | ||
35 | move v0, ra | ||
36 | jr ra | ||
37 | nop | ||
38 | |||
39 | entry_point: | 38 | entry_point: |
40 | # setup caches | 39 | # setup caches |
41 | # 4-way, 256 sets, 16 bytes cacheline I/D | 40 | # 4-way, 256 sets, 16 bytes cacheline I/D |