[PATCH] firmware: fw_base.S: Improve loading u32

Xiang W wxjstz at 126.com
Mon Jan 15 07:23:55 PST 2024


在 2024-01-02星期二的 23:14 +0800,Xiang W写道:
> lwu exists under the current rv64 and should also exist under the rv128
> in the future, so I modified the conditions of conditional compilation
> so that it can adapt to the future situation
> 
New patch at https://lists.infradead.org/pipermail/opensbi/2024-January/006269.html

Regards,
Xiang W

> Signed-off-by: Xiang W <wxjstz at 126.com>
> ---
>  firmware/fw_base.S | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/firmware/fw_base.S b/firmware/fw_base.S
> index f7763f4..2f30d00 100644
> --- a/firmware/fw_base.S
> +++ b/firmware/fw_base.S
> @@ -358,7 +358,7 @@ _scratch_init:
>  	/* t0 = source FDT start address */
>  	add	t0, a1, zero
>  	/* t2 = source FDT size in big-endian */
> -#if __riscv_xlen == 64
> +#if __riscv_xlen > 32
>  	lwu	t2, 4(t0)
>  #else
>  	lw	t2, 4(t0)
> @@ -424,7 +424,7 @@ _start_warm:
>  
>  	/* Find HART count and HART stack size */
>  	lla	a4, platform
> -#if __riscv_xlen == 64
> +#if __riscv_xlen > 32
>  	lwu	s7, SBI_PLATFORM_HART_COUNT_OFFSET(a4)
>  	lwu	s8, SBI_PLATFORM_HART_STACK_SIZE_OFFSET(a4)
>  #else
> @@ -440,7 +440,7 @@ _start_warm:
>  	beqz	s9, 3f
>  	li	a4, 0
>  1:
> -#if __riscv_xlen == 64
> +#if __riscv_xlen > 32
>  	lwu	a5, (s9)
>  #else
>  	lw	a5, (s9)
> @@ -527,7 +527,7 @@ _hartid_to_scratch:
>  	 * t2 -> Temporary
>  	 */
>  	lla	t2, platform
> -#if __riscv_xlen == 64
> +#if __riscv_xlen > 32
>  	lwu	t0, SBI_PLATFORM_HART_STACK_SIZE_OFFSET(t2)
>  	lwu	t2, SBI_PLATFORM_HART_COUNT_OFFSET(t2)
>  #else
> -- 
> 2.43.0
> 
> 




More information about the opensbi mailing list