1*c9945492SAndroid Build Coastguard Worker.set noreorder 2*c9945492SAndroid Build Coastguard Worker.global __cp_begin 3*c9945492SAndroid Build Coastguard Worker.hidden __cp_begin 4*c9945492SAndroid Build Coastguard Worker.type __cp_begin,@function 5*c9945492SAndroid Build Coastguard Worker.global __cp_end 6*c9945492SAndroid Build Coastguard Worker.hidden __cp_end 7*c9945492SAndroid Build Coastguard Worker.type __cp_end,@function 8*c9945492SAndroid Build Coastguard Worker.global __cp_cancel 9*c9945492SAndroid Build Coastguard Worker.hidden __cp_cancel 10*c9945492SAndroid Build Coastguard Worker.type __cp_cancel,@function 11*c9945492SAndroid Build Coastguard Worker.global __cp_cancel_data 12*c9945492SAndroid Build Coastguard Worker.hidden __cp_cancel_data 13*c9945492SAndroid Build Coastguard Worker.type __cp_cancel_data,@function 14*c9945492SAndroid Build Coastguard Worker.hidden __cancel 15*c9945492SAndroid Build Coastguard Worker.global __syscall_cp_asm 16*c9945492SAndroid Build Coastguard Worker.hidden __syscall_cp_asm 17*c9945492SAndroid Build Coastguard Worker.type __syscall_cp_asm,@function 18*c9945492SAndroid Build Coastguard Worker__syscall_cp_asm: 19*c9945492SAndroid Build Coastguard Worker__cp_begin: 20*c9945492SAndroid Build Coastguard Worker lw $4, 0($4) 21*c9945492SAndroid Build Coastguard Worker bne $4, $0, __cp_cancel 22*c9945492SAndroid Build Coastguard Worker move $2, $5 23*c9945492SAndroid Build Coastguard Worker move $4, $6 24*c9945492SAndroid Build Coastguard Worker move $5, $7 25*c9945492SAndroid Build Coastguard Worker move $6, $8 26*c9945492SAndroid Build Coastguard Worker move $7, $9 27*c9945492SAndroid Build Coastguard Worker move $8, $10 28*c9945492SAndroid Build Coastguard Worker move $9, $11 29*c9945492SAndroid Build Coastguard Worker ld $10, 0($sp) 30*c9945492SAndroid Build Coastguard Worker syscall 31*c9945492SAndroid Build Coastguard Worker__cp_end: 32*c9945492SAndroid Build Coastguard Worker beq $7, $0, 1f 33*c9945492SAndroid Build Coastguard Worker nop 34*c9945492SAndroid Build Coastguard Worker dsubu $2, $0, $2 35*c9945492SAndroid Build Coastguard Worker1: jr $ra 36*c9945492SAndroid Build Coastguard Worker nop 37*c9945492SAndroid Build Coastguard Worker 38*c9945492SAndroid Build Coastguard Worker # if cancellation flag is 1 then call __cancel 39*c9945492SAndroid Build Coastguard Worker__cp_cancel: 40*c9945492SAndroid Build Coastguard Worker move $2, $ra 41*c9945492SAndroid Build Coastguard Worker.align 8 42*c9945492SAndroid Build Coastguard Worker bal 1f 43*c9945492SAndroid Build Coastguard Worker nop 44*c9945492SAndroid Build Coastguard Worker__cp_cancel_data: 45*c9945492SAndroid Build Coastguard Worker .gpdword __cp_cancel_data 46*c9945492SAndroid Build Coastguard Worker .gpdword __cancel 47*c9945492SAndroid Build Coastguard Worker1: ld $3, ($ra) 48*c9945492SAndroid Build Coastguard Worker dsubu $3, $ra, $3 49*c9945492SAndroid Build Coastguard Worker ld $25, 8($ra) 50*c9945492SAndroid Build Coastguard Worker daddu $25, $25, $3 51*c9945492SAndroid Build Coastguard Worker jr $25 52*c9945492SAndroid Build Coastguard Worker move $ra, $2 53