1 /*
2 * Copyright (c) 2021 The strace developers.
3 * All rights reserved.
4 *
5 * SPDX-License-Identifier: LGPL-2.1-or-later
6 */
7
8 static void
9 arch_decode_pt_regs(struct tcb *const tcp, const kernel_ulong_t addr)
10 {
11 struct {
12 unsigned int psr;
13 unsigned int pc;
14 unsigned int npc;
15 unsigned int y;
16 unsigned int u_regs[15];
17 } regs;
18
19 if (umove_or_printaddr(tcp, addr, ®s))
20 return;
21
22 tprint_struct_begin();
23 PRINT_FIELD_X(regs, psr);
24
25 tprint_struct_next();
26 PRINT_FIELD_X(regs, pc);
27
28 tprint_struct_next();
29 PRINT_FIELD_X(regs, npc);
30
31 tprint_struct_next();
32 PRINT_FIELD_X(regs, y);
33
34 tprint_struct_next();
35 PRINT_FIELD_ARRAY(regs, u_regs, tcp, print_xint_array_member);
36
37 tprint_struct_end();
38 }