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 #include "arch_pt_regs64.h"
9
10 static void
11 decode_pt_regs64(struct tcb *const tcp, const kernel_ulong_t addr)
12 {
13 struct_pt_regs64 regs;
14
15 if (umove_or_printaddr(tcp, addr, ®s))
16 return;
17
18 tprint_struct_begin();
19 PRINT_FIELD_ARRAY(regs, gpr, tcp, print_xint_array_member);
20
21 tprint_struct_next();
22 PRINT_FIELD_X(regs, nip);
23
24 tprint_struct_next();
25 PRINT_FIELD_X(regs, msr);
26
27 tprint_struct_next();
28 PRINT_FIELD_X(regs, orig_gpr3);
29
30 tprint_struct_next();
31 PRINT_FIELD_X(regs, ctr);
32
33 tprint_struct_next();
34 PRINT_FIELD_X(regs, link);
35
36 tprint_struct_next();
37 PRINT_FIELD_X(regs, xer);
38
39 tprint_struct_next();
40 PRINT_FIELD_X(regs, ccr);
41
42 tprint_struct_next();
43 PRINT_FIELD_X(regs, softe);
44
45 tprint_struct_next();
46 PRINT_FIELD_X(regs, trap);
47
48 tprint_struct_next();
49 PRINT_FIELD_X(regs, dar);
50
51 tprint_struct_next();
52 PRINT_FIELD_X(regs, dsisr);
53
54 tprint_struct_next();
55 PRINT_FIELD_X(regs, result);
56
57 tprint_struct_end();
58 }