Files
kernels/runtime/startup/vx_start.s
2019-11-01 21:53:37 -04:00

67 lines
1.4 KiB
ArmAsm

.type _start, @function
.global _start
_start:
# li a0, 4
# .word 0x0005006b # tmc a0
# csrr a1,0x20
# slli a1, a1, 2
# la a2, 0x20000000
# add a2, a2, a1
# sw a1, 0(a2)
# la a2, 0x40000000
# add a2, a2, a1
# li a3, 5
# sw a3, 0(a2)
# la a2, 0x80000000
# add a2, a2, a1
# li a3, 7
# sw a3, 0(a2)
# la a2, 0x60000000
# add a2, a2, a1
# li a3, 7
# sw a3, 0(a2)
# la a2, 0x20000000
# add a2, a2, a1
# lw a4, 0(a2)
# li a0, 0
# .word 0x0005006b # tmc a0
##########################
# li a0, 4
# .word 0x0005006b # tmc 4
# csrr a1,0x20 # get tid
# slli a1, a1, 10 # multiply tid by 1024
# lui sp, 0x6ffff # load base sp
# sub sp, sp, a1 # sub sp - (1024*tid)
# la a2, 0x20000000
# csrr a3,0x20 # get tid
# slli a3, a3, 2
# add a2, a2, a3
# sw a3, 0(a2)
# lw a4, 0(a2)
# li a0, 0
# .word 0x0005006b # tmc a0
##########################
li a0, 4
.word 0x0005006b # tmc 4
csrr a1,0x20 # get tid
slli a1, a1, 10 # multiply tid by 1024
lui sp, 0x6ffff # load base sp
sub sp, sp, a1 # sub sp - (1024*tid)
li a0, 4
.word 0x0005006b # tmc 4
jal main
li a0, 0
.word 0x0005006b # tmc a0