.global __cp_begin | |
.hidden __cp_begin | |
.global __cp_end | |
.hidden __cp_end | |
.global __cp_cancel | |
.hidden __cp_cancel | |
.hidden __cancel | |
.global __syscall_cp_asm | |
.hidden __syscall_cp_asm | |
.type __syscall_cp_asm, %function | |
__syscall_cp_asm: | |
__cp_begin: | |
lw t0, 0(a0) | |
bnez t0, __cp_cancel | |
mv t0, a1 | |
mv a0, a2 | |
mv a1, a3 | |
mv a2, a4 | |
mv a3, a5 | |
mv a4, a6 | |
mv a5, a7 | |
ld a6, 0(sp) | |
mv a7, t0 | |
ecall | |
__cp_end: | |
ret | |
__cp_cancel: | |
tail __cancel |