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 /* Registers used by SH5 Linux system calls for parameters */ 6*cf84ac9aSAndroid Build Coastguard Worker static const int syscall_regs[MAX_ARGS] = { 2, 3, 4, 5, 6, 7 }; 7*cf84ac9aSAndroid Build Coastguard Worker unsigned int i; 8*cf84ac9aSAndroid Build Coastguard Worker 9*cf84ac9aSAndroid Build Coastguard Worker for (i = 0; i < tcp->s_ent->nargs; ++i) 10*cf84ac9aSAndroid Build Coastguard Worker if (upeek(tcp, REG_GENERAL(syscall_regs[i]), 11*cf84ac9aSAndroid Build Coastguard Worker &tcp->u_arg[i]) < 0) 12*cf84ac9aSAndroid Build Coastguard Worker return -1; 13*cf84ac9aSAndroid Build Coastguard Worker return 1; 14*cf84ac9aSAndroid Build Coastguard Worker } 15