xref: /openbmc/linux/arch/m68k/include/uapi/asm/ptrace.h (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
1  /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2  #ifndef _UAPI_M68K_PTRACE_H
3  #define _UAPI_M68K_PTRACE_H
4  
5  #define PT_D1	   0
6  #define PT_D2	   1
7  #define PT_D3	   2
8  #define PT_D4	   3
9  #define PT_D5	   4
10  #define PT_D6	   5
11  #define PT_D7	   6
12  #define PT_A0	   7
13  #define PT_A1	   8
14  #define PT_A2	   9
15  #define PT_A3	   10
16  #define PT_A4	   11
17  #define PT_A5	   12
18  #define PT_A6	   13
19  #define PT_D0	   14
20  #define PT_USP	   15
21  #define PT_ORIG_D0 16
22  #define PT_SR	   17
23  #define PT_PC	   18
24  
25  #ifndef __ASSEMBLY__
26  
27  /* this struct defines the way the registers are stored on the
28     stack during a system call. */
29  
30  struct pt_regs {
31    long     d1;
32    long     d2;
33    long     d3;
34    long     d4;
35    long     d5;
36    long     a0;
37    long     a1;
38    long     a2;
39    long     d0;
40    long     orig_d0;
41    long     stkadj;
42  #ifdef CONFIG_COLDFIRE
43    unsigned format :  4; /* frame format specifier */
44    unsigned vector : 12; /* vector offset */
45    unsigned short sr;
46    unsigned long  pc;
47  #else
48    unsigned short sr;
49    unsigned long  pc;
50    unsigned format :  4; /* frame format specifier */
51    unsigned vector : 12; /* vector offset */
52  #endif
53  };
54  
55  /*
56   * This is the extended stack used by signal handlers and the context
57   * switcher: it's pushed after the normal "struct pt_regs".
58   */
59  struct switch_stack {
60  	unsigned long  d6;
61  	unsigned long  d7;
62  	unsigned long  a3;
63  	unsigned long  a4;
64  	unsigned long  a5;
65  	unsigned long  a6;
66  	unsigned long  retpc;
67  };
68  
69  /* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */
70  #define PTRACE_GETREGS            12
71  #define PTRACE_SETREGS            13
72  #define PTRACE_GETFPREGS          14
73  #define PTRACE_SETFPREGS          15
74  
75  #define PTRACE_GET_THREAD_AREA    25
76  
77  #define PTRACE_GETFDPIC	31
78  
79  #define PTRACE_SINGLEBLOCK	33	/* resume execution until next branch */
80  
81  #define PTRACE_GETFDPIC_EXEC	0
82  #define PTRACE_GETFDPIC_INTERP	1
83  
84  #endif /* __ASSEMBLY__ */
85  #endif /* _UAPI_M68K_PTRACE_H */
86