syscall_cp.s raw

   1  .global __cp_begin
   2  .hidden __cp_begin
   3  .global __cp_end
   4  .hidden __cp_end
   5  .global __cp_cancel
   6  .hidden __cp_cancel
   7  .hidden __cancel
   8  .global __syscall_cp_asm
   9  .hidden __syscall_cp_asm
  10  .type __syscall_cp_asm, %function
  11  __syscall_cp_asm:
  12  __cp_begin:
  13  	lw t0, 0(a0)
  14  	bnez t0, __cp_cancel
  15  
  16  	mv t0, a1
  17  	mv a0, a2
  18  	mv a1, a3
  19  	mv a2, a4
  20  	mv a3, a5
  21  	mv a4, a6
  22  	mv a5, a7
  23  	ld a6, 0(sp)
  24  	mv a7, t0
  25  	ecall
  26  __cp_end:
  27  	ret
  28  __cp_cancel:
  29  	tail __cancel
  30