[PATCH 11/17] bsp/riscv: Use memset() to clear .bss
Sebastian Huber
sebastian.huber at embedded-brains.de
Fri Jun 22 11:59:08 UTC 2018
Update #3433.
---
bsps/riscv/riscv/start/start.S | 15 +++++----------
1 file changed, 5 insertions(+), 10 deletions(-)
diff --git a/bsps/riscv/riscv/start/start.S b/bsps/riscv/riscv/start/start.S
index 62aa3b063a..ae45de4876 100644
--- a/bsps/riscv/riscv/start/start.S
+++ b/bsps/riscv/riscv/start/start.S
@@ -52,16 +52,11 @@ SYM(_start):
/* load stack and frame pointers */
la sp, _Configuration_Interrupt_stack_area_end
- /* Clearing .bss */
- la t0, bsp_section_bss_begin
- la t1, bsp_section_bss_end
-
-.Lclear_bss_loop:
- bge t0, t1, .Lclear_bss_end
- SREG x0, 0(t0)
- addi t0, t0, CPU_SIZEOF_POINTER
- j .Lclear_bss_loop
-.Lclear_bss_end:
+ /* Clear .bss */
+ la a0, bsp_section_bss_begin
+ li a1, 0
+ la a2, bsp_section_bss_size
+ call memset
/* Init FPU unit if it's there */
li t0, MSTATUS_FS
--
2.13.7
More information about the devel
mailing list