164672a6526f041b3c35bf1d801a8f3f5457eca51Dmitry V. Levin#define get_syscall_args arm_get_syscall_args 264672a6526f041b3c35bf1d801a8f3f5457eca51Dmitry V. Levin#include "arm/get_syscall_args.c" 364672a6526f041b3c35bf1d801a8f3f5457eca51Dmitry V. Levin#undef get_syscall_args 464672a6526f041b3c35bf1d801a8f3f5457eca51Dmitry V. Levin 564672a6526f041b3c35bf1d801a8f3f5457eca51Dmitry V. Levin/* Return -1 on error or 1 on success (never 0!). */ 664672a6526f041b3c35bf1d801a8f3f5457eca51Dmitry V. Levinstatic int 764672a6526f041b3c35bf1d801a8f3f5457eca51Dmitry V. Levinget_syscall_args(struct tcb *tcp) 864672a6526f041b3c35bf1d801a8f3f5457eca51Dmitry V. Levin{ 9c37173f76de6163d746266f78a8485f576ddb6a8Dmitry V. Levin if (tcp->currpers == 1) 1064672a6526f041b3c35bf1d801a8f3f5457eca51Dmitry V. Levin return arm_get_syscall_args(tcp); 11d70d1c4aa6b9b2f4713d79f442dbf66a3f702c9bDmitry V. Levin tcp->u_arg[0] = aarch64_regs.regs[0]; 12d70d1c4aa6b9b2f4713d79f442dbf66a3f702c9bDmitry V. Levin tcp->u_arg[1] = aarch64_regs.regs[1]; 13d70d1c4aa6b9b2f4713d79f442dbf66a3f702c9bDmitry V. Levin tcp->u_arg[2] = aarch64_regs.regs[2]; 14d70d1c4aa6b9b2f4713d79f442dbf66a3f702c9bDmitry V. Levin tcp->u_arg[3] = aarch64_regs.regs[3]; 15d70d1c4aa6b9b2f4713d79f442dbf66a3f702c9bDmitry V. Levin tcp->u_arg[4] = aarch64_regs.regs[4]; 16d70d1c4aa6b9b2f4713d79f442dbf66a3f702c9bDmitry V. Levin tcp->u_arg[5] = aarch64_regs.regs[5]; 1764672a6526f041b3c35bf1d801a8f3f5457eca51Dmitry V. Levin return 1; 18d70d1c4aa6b9b2f4713d79f442dbf66a3f702c9bDmitry V. Levin} 19