forked from Mirrors/opensbi
firmware: Minor optimization for relocate
The t3 register stores the address of _load_end. If relocation is not required, it is unnecessary to calculate the address of _load_end. This can reduce the operation time of two instructions. Signed-off-by: Dongdong Zhang <zhangdongdong@eswincomputing.com> Reviewed-by: Bin Meng <bmeng@tinylab.org> Reviewed-by: Anup Patel <anup@brainfault.org>
This commit is contained in:

committed by
Anup Patel

parent
ad2ac29263
commit
cfbabb9ec6
@@ -128,9 +128,9 @@ _relocate:
|
|||||||
REG_L t1, 0(t1)
|
REG_L t1, 0(t1)
|
||||||
lla t2, _load_start
|
lla t2, _load_start
|
||||||
REG_L t2, 0(t2)
|
REG_L t2, 0(t2)
|
||||||
|
beq t0, t2, _relocate_done
|
||||||
sub t3, t1, t0
|
sub t3, t1, t0
|
||||||
add t3, t3, t2
|
add t3, t3, t2
|
||||||
beq t0, t2, _relocate_done
|
|
||||||
lla t4, _relocate_done
|
lla t4, _relocate_done
|
||||||
sub t4, t4, t2
|
sub t4, t4, t2
|
||||||
add t4, t4, t0
|
add t4, t4, t0
|
||||||
|
Reference in New Issue
Block a user