runtime tests
This commit is contained in:
@@ -3,64 +3,39 @@
|
||||
.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
|
||||
# la a1, vx_set_sp
|
||||
# li a0, 8
|
||||
# .word 0x00b5106b # wspawn a0(numWarps), a1(PC SPAWN)
|
||||
jal vx_set_sp
|
||||
jal main
|
||||
li a0, 0
|
||||
.word 0x0005006b # tmc a0
|
||||
|
||||
|
||||
.type vx_set_sp, @function
|
||||
.global vx_set_sp
|
||||
vx_set_sp:
|
||||
li a0, 4
|
||||
.word 0x0005006b # tmc 4
|
||||
|
||||
csrr a3, 0x21 # get wid
|
||||
slli a3, a3, 15 # shift by wid
|
||||
csrr a2, 0x20 # get tid
|
||||
slli a1, a2, 10 # multiply tid by 1024
|
||||
slli a2, a2, 2 # multiply tid by 4
|
||||
lui sp, 0x6ffff # load base sp
|
||||
sub sp, sp, a1 # sub sp - (1024*tid)
|
||||
sub sp, sp, a3 # shoft per warp
|
||||
add sp, sp, a2 # shift sp for better performance
|
||||
|
||||
csrr a3, 0x21 # get wid
|
||||
beqz a3, RETURN
|
||||
li a0, 0
|
||||
.word 0x0005006b # tmc 0
|
||||
RETURN:
|
||||
li a0, 1
|
||||
.word 0x0005006b # tmc 1
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user