syscall_cp.s raw

   1  .text
   2  .global __cp_begin
   3  .hidden __cp_begin
   4  .global __cp_end
   5  .hidden __cp_end
   6  .global __cp_cancel
   7  .hidden __cp_cancel
   8  .hidden __cancel
   9  .global __syscall_cp_asm
  10  .hidden __syscall_cp_asm
  11  .type   __syscall_cp_asm,@function
  12  __syscall_cp_asm:
  13  	movem.l %d2-%d5,-(%sp)
  14  	movea.l 20(%sp),%a0
  15  __cp_begin:
  16  	move.l (%a0),%d0
  17  	bne __cp_cancel
  18  	movem.l 24(%sp),%d0-%d5/%a0
  19  	trap #0
  20  __cp_end:
  21  	movem.l (%sp)+,%d2-%d5
  22  	rts
  23  __cp_cancel:
  24  	movem.l (%sp)+,%d2-%d5
  25  	move.l __cancel-.-8,%a1
  26  	jmp (%pc,%a1)
  27