diff options
Diffstat (limited to 'website-kernel/arch/start.S')
| -rw-r--r-- | website-kernel/arch/start.S | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/website-kernel/arch/start.S b/website-kernel/arch/start.S new file mode 100644 index 0000000..8248ab9 --- /dev/null +++ b/website-kernel/arch/start.S @@ -0,0 +1,23 @@ +.section .text._start +.global _start +.type _start, @function + +.extern user_regs + +_start: + csrw sstatus, zero + csrw sie, zero + + la sp, __stack_top + + la t0, __bss_start + la t1, __bss_end + beq t0, t1, 2f +1: + sw zero, 0(t0) + addi t0, t0, 4 + bltu t0, t1, 1b +2: + call kernel_main + wfi + |
