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 decode_pt_regs64(struct tcb *const tcp, const kernel_ulong_t addr)
10 {
11 struct {
12 unsigned long u_regs[16];
13 unsigned long tstate;
14 unsigned long tpc;
15 unsigned long tnpc;
16 } regs;
17
18 if (umove_or_printaddr(tcp, addr, ®s))
19 return;
20
21 tprint_struct_begin();
22 PRINT_FIELD_ARRAY(regs, u_regs, tcp, print_xint_array_member);
23
24 tprint_struct_next();
25 PRINT_FIELD_X(regs, tstate);
26
27 tprint_struct_next();
28 PRINT_FIELD_X(regs, tpc);
29
30 tprint_struct_next();
31 PRINT_FIELD_X(regs, tnpc);
32
33 tprint_struct_end();
34 }