-
Notifications
You must be signed in to change notification settings - Fork 4
/
crt0.S
54 lines (47 loc) · 876 Bytes
/
crt0.S
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# distributed under the mit license
# https://opensource.org/licenses/mit-license.php
.section .text.init
.global _start
_start:
# First init all the registers to 0
li x1, 0
li x2, 0
li x3, 0
li x4, 0
li x5, 0
li x6, 0
li x7, 0
li x8, 0
li x8, 0
li x9, 0
li x10, 0
li x11, 0
li x12, 0
li x13, 0
li x14, 0
li x15, 0
li x16, 0
li x17, 0
li x19, 0
li x20, 0
li x21, 0
li x22, 0
li x23, 0
li x24, 0
li x25, 0
li x26, 0
li x27, 0
li x28, 0
li x29, 0
li x30, 0
li x31, 0
# Setup system call function address
la t0, trap_entry
csrw mtvec,t0
# Init the max boundary of the stack section
# _estack will be linked later with the linker file symbols
la sp, _estack
# Jump to the main
call main
trap_entry:
ebreak