[PATCH v2 1/9] riscv: Optimize source end address calculation in start.S
Bin Meng
bmeng at tinylab.org
Thu Apr 13 08:20:00 CEST 2023
The __bss_start is the source end address hence load its address
directly into register 't2' for optimization.
Signed-off-by: Bin Meng <bmeng at tinylab.org>
Reviewed-by: Rick Chen <rick at andestech.com>
---
(no changes since v1)
arch/riscv/cpu/start.S | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/arch/riscv/cpu/start.S b/arch/riscv/cpu/start.S
index 4687bca3c9..3c8344c345 100644
--- a/arch/riscv/cpu/start.S
+++ b/arch/riscv/cpu/start.S
@@ -283,9 +283,7 @@ stack_setup:
beq t0, s4, clear_bss /* skip relocation */
mv t1, s4 /* t1 <- scratch for copy_loop */
- la t3, __bss_start
- sub t3, t3, t0 /* t3 <- __bss_start_ofs */
- add t2, t0, t3 /* t2 <- source end address */
+ la t2, __bss_start /* t2 <- source end address */
copy_loop:
LREG t5, 0(t0)
--
2.34.1
More information about the U-Boot
mailing list