diff options
| author | Nathan Lee <me@nwlee.tech> | 2026-08-30 20:15:31 -0500 |
|---|---|---|
| committer | Nathan Lee <me@nwlee.tech> | 2026-08-30 20:15:31 -0500 |
| commit | b62815bfb6b05e90eef04d2021305b6f5b335f53 (patch) | |
| tree | 3a8c0437677b9cd290d64a58651455ba2095787c /kernel/riscv/start.S | |
| parent | 7f4c833ced046f88160a50e7adb1f55343e7e759 (diff) | |
fix typos + .data section issues
Diffstat (limited to 'kernel/riscv/start.S')
| -rw-r--r-- | kernel/riscv/start.S | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/kernel/riscv/start.S b/kernel/riscv/start.S index ecec47b..aa35916 100644 --- a/kernel/riscv/start.S +++ b/kernel/riscv/start.S @@ -12,17 +12,31 @@ _start: la t0, _syscall_start csrw stvec, t0 - + la sp, __stack_top + # Copy .data + la t0, __data_load + la t1, __data_start + la t2, __data_end + +1: + beq t1, t2, 2f + lw t3, 0(t0) + sw t3, 0(t1) + addi t0, t0, 4 + addi t1, t1, 4 + j 1b +2: + # Zero .bss la t0, __bss_start la t1, __bss_end - beq t0, t1, 2f -1: +3: + beq t0, t1, 4f sw zero, 0(t0) addi t0, t0, 4 - bltu t0, t1, 1b -2: + j 3b +4: call kernel_main wfi |
