1 /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
3 * Copyright 2004-2008 Analog Devices Inc.
5 * Licensed under the GPL-2 or later.
8 #ifndef _UAPI_BFIN_PTRACE_H
9 #define _UAPI_BFIN_PTRACE_H
12 * GCC defines register number like this:
13 * -----------------------------
14 * 0 - 7 are data registers R0-R7
15 * 8 - 15 are address registers P0-P7
16 * 16 - 31 dsp registers I/B/L0 -- I/B/L3 & M0--M3
17 * 32 - 33 A registers A0 & A1
18 * 34 - status register
19 * -----------------------------
21 * We follows above, except:
22 * 32-33 --- Low 32-bit of A0&1
23 * 34-35 --- High 8-bit of A0&1
30 /* this struct defines the way the registers are stored on the
31 stack during a system call. */
40 long pc
; /* PC == RETI */
42 long reserved
; /* Used as scratch during system calls */
91 /* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */
92 #define PTRACE_GETREGS 12
93 #define PTRACE_SETREGS 13 /* ptrace signal */
95 #define PTRACE_GETFDPIC 31 /* get the ELF fdpic loadmap address */
96 #define PTRACE_GETFDPIC_EXEC 0 /* [addr] request the executable loadmap */
97 #define PTRACE_GETFDPIC_INTERP 1 /* [addr] request the interpreter loadmap */
102 #endif /* __ASSEMBLY__ */
105 * Offsets used by 'ptrace' system call interface.
151 #define PT_RESERVED 32
160 #define PT_ORIG_R0 208
161 #define PT_ORIG_P0 212
162 #define PT_SYSCFG 216
163 #define PT_TEXT_ADDR 220
164 #define PT_TEXT_END_ADDR 224
165 #define PT_DATA_ADDR 228
166 #define PT_FDPIC_EXEC 232
167 #define PT_FDPIC_INTERP 236
169 #define PT_LAST_PSEUDO PT_FDPIC_INTERP
171 #endif /* _UAPI_BFIN_PTRACE_H */