blob: a712a94866dd9eaa8714f995c34a8eb2143a8407 [file] [log] [blame]
Dmitry V. Levin16510512015-11-30 01:46:52 +00001/* Return codes: 1 - ok, 0 - ignore, other - error. */
2static int
3arch_get_scno(struct tcb *tcp)
4{
5 long scno = 0;
6
7 switch (aarch64_io.iov_len) {
8 case sizeof(aarch64_regs):
9 /* We are in 64-bit mode */
10 scno = aarch64_regs.regs[8];
11 update_personality(tcp, 1);
12 break;
13 case sizeof(arm_regs):
14 /* We are in 32-bit mode */
15 /* Note: we don't support OABI, unlike 32-bit ARM build */
16 scno = arm_regs.ARM_r7;
17 scno = shuffle_scno(scno);
18 update_personality(tcp, 0);
19 break;
20 }
21
22 tcp->scno = scno;
23 return 1;
Dmitry V. Levind70d1c42015-03-22 22:13:55 +000024}