1*cf84ac9aSAndroid Build Coastguard Worker /* Return -1 on error or 1 on success (never 0!). */ 2*cf84ac9aSAndroid Build Coastguard Worker static int get_syscall_args(struct tcb * tcp)3*cf84ac9aSAndroid Build Coastguard Workerget_syscall_args(struct tcb *tcp) 4*cf84ac9aSAndroid Build Coastguard Worker { 5*cf84ac9aSAndroid Build Coastguard Worker static const int syscall_regs[MAX_ARGS] = { 6*cf84ac9aSAndroid Build Coastguard Worker 4 * (REG_REG0+4), 7*cf84ac9aSAndroid Build Coastguard Worker 4 * (REG_REG0+5), 8*cf84ac9aSAndroid Build Coastguard Worker 4 * (REG_REG0+6), 9*cf84ac9aSAndroid Build Coastguard Worker 4 * (REG_REG0+7), 10*cf84ac9aSAndroid Build Coastguard Worker 4 * (REG_REG0 ), 11*cf84ac9aSAndroid Build Coastguard Worker 4 * (REG_REG0+1) 12*cf84ac9aSAndroid Build Coastguard Worker }; 13*cf84ac9aSAndroid Build Coastguard Worker unsigned int i; 14*cf84ac9aSAndroid Build Coastguard Worker 15*cf84ac9aSAndroid Build Coastguard Worker for (i = 0; i < tcp->s_ent->nargs; ++i) 16*cf84ac9aSAndroid Build Coastguard Worker if (upeek(tcp, syscall_regs[i], &tcp->u_arg[i]) < 0) 17*cf84ac9aSAndroid Build Coastguard Worker return -1; 18*cf84ac9aSAndroid Build Coastguard Worker return 1; 19*cf84ac9aSAndroid Build Coastguard Worker } 20