diff options
author | Dongdong Zhang <zhangdongdong@eswincomputing.com> | 2022-11-29 06:54:07 +0300 |
---|---|---|
committer | Anup Patel <anup@brainfault.org> | 2022-12-05 08:17:38 +0300 |
commit | cfbabb9ec6ba4979411ff8050638ac2628806beb (patch) | |
tree | 91d2ca508f4c6742a8705ff614531845e1b7322f /firmware | |
parent | ad2ac292635ec48fece67ce62bd7e967d9538616 (diff) | |
download | opensbi-cfbabb9ec6ba4979411ff8050638ac2628806beb.tar.xz |
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>
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/fw_base.S | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/firmware/fw_base.S b/firmware/fw_base.S index 07be4c4..3f622b3 100644 --- a/firmware/fw_base.S +++ b/firmware/fw_base.S @@ -128,9 +128,9 @@ _relocate: REG_L t1, 0(t1) lla t2, _load_start REG_L t2, 0(t2) + beq t0, t2, _relocate_done sub t3, t1, t0 add t3, t3, t2 - beq t0, t2, _relocate_done lla t4, _relocate_done sub t4, t4, t2 add t4, t4, t0 |