[PATCH 1/8] riscv: Optimize source end address calculation in start.S
Bin Meng
bmeng.cn at gmail.com
Fri Apr 7 05:00:35 CEST 2023
On Thu, Mar 30, 2023 at 8:36 PM Bin Meng <bmeng at tinylab.org> wrote:
>
> 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>
> ---
>
> 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)
> --
Ping for this series?
More information about the U-Boot
mailing list