1 /*
2 * Copyright (c) 2015-2021 The strace developers.
3 * All rights reserved.
4 *
5 * SPDX-License-Identifier: LGPL-2.1-or-later
6 */
7
8 /* Return codes: 1 - ok, 0 - ignore, other - error. */
9 static int
10 arch_get_scno(struct tcb *tcp)
11 {
12 kernel_ulong_t scno = 0;
13
14 switch (aarch64_io.iov_len) {
15 case sizeof(aarch64_regs):
16 /* We are in 64-bit mode */
17 scno = aarch64_regs.regs[8];
18 break;
19 case sizeof(arm_regs):
20 /* We are in 32-bit mode */
21 /* Note: we don't support OABI, unlike 32-bit ARM build */
22 scno = arm_regs.ARM_r7;
23 break;
24 }
25
26 tcp->scno = scno;
27 return 1;
28 }