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 tcp->scno = ppc_regs.gpr[0];
13 /*
14 * Check for 64/32 bit mode.
15 * Embedded implementations covered by Book E extension of PPC use
16 * bit 0 (CM) of 32-bit Machine state register (MSR).
17 * Other implementations use bit 0 (SF) of 64-bit MSR.
18 */
19 unsigned int currpers = (ppc_regs.msr & 0x8000000080000000) ? 0 : 1;
20 update_personality(tcp, currpers);
21 return 1;
22 }