1 /*
2 * Copyright (c) 2021 The strace developers.
3 *
4 * All rights reserved.
5 *
6 * SPDX-License-Identifier: LGPL-2.1-or-later
7 */
8
9 #include "defs.h"
10 #include "ptrace.h"
11 #include "arch_prstatus_regset.h"
12 #include "arch_fpregset.h"
13
14 #if HAVE_ARCH_PRSTATUS_REGSET
15 # include DEF_MPERS_TYPE(struct_prstatus_regset)
16 #endif
17
18 #if HAVE_ARCH_FPREGSET
19 # include DEF_MPERS_TYPE(struct_fpregset)
20 #endif
21
22 #include MPERS_DEFS
23
24 #include "arch_prstatus_regset.c"
25 #include "arch_fpregset.c"
26 #include "arch_pt_regs.c"
27 #include "arch_pt_fpregs.c"
28
29 MPERS_PRINTER_DECL(void, decode_prstatus_regset,
30 struct tcb *const tcp,
31 const kernel_ulong_t addr,
32 const kernel_ulong_t size)
33 {
34 arch_decode_prstatus_regset(tcp, addr, size);
35 }
36
37 MPERS_PRINTER_DECL(void, decode_fpregset,
38 struct tcb *const tcp,
39 const kernel_ulong_t addr,
40 const kernel_ulong_t size)
41 {
42 arch_decode_fpregset(tcp, addr, size);
43 }
44
45 MPERS_PRINTER_DECL(void, decode_pt_regs,
46 struct tcb *const tcp,
47 const kernel_ulong_t addr)
48 {
49 arch_decode_pt_regs(tcp, addr);
50 }
51
52 MPERS_PRINTER_DECL(void, decode_pt_fpregs,
53 struct tcb *const tcp,
54 const kernel_ulong_t addr)
55 {
56 arch_decode_pt_fpregs(tcp, addr);
57 }