[PATCH 1/1] firmware: Minor optimization for relocate
Dongdong Zhang
zhangdongdong at eswincomputing.com
Mon Nov 28 19:54:07 PST 2022
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 at eswincomputing.com>
---
firmware/fw_base.S | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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
--
2.17.1
More information about the opensbi
mailing list