GNU Linux-libre 4.14.259-gnu1
[releases.git] / arch / nios2 / include / uapi / asm / ptrace.h
1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 /*
3  * Copyright (C) 2010 Tobias Klauser <tklauser@distanz.ch>
4  * Copyright (C) 2004 Microtronix Datacom Ltd
5  *
6  * based on m68k asm/processor.h
7  *
8  * This file is subject to the terms and conditions of the GNU General Public
9  * License.  See the file "COPYING" in the main directory of this archive
10  * for more details.
11  */
12
13 #ifndef _UAPI_ASM_NIOS2_PTRACE_H
14 #define _UAPI_ASM_NIOS2_PTRACE_H
15
16 #ifndef __ASSEMBLY__
17
18 #include <linux/types.h>
19
20 /*
21  * Register numbers used by 'ptrace' system call interface.
22  */
23
24 /* GP registers */
25 #define PTR_R0          0
26 #define PTR_R1          1
27 #define PTR_R2          2
28 #define PTR_R3          3
29 #define PTR_R4          4
30 #define PTR_R5          5
31 #define PTR_R6          6
32 #define PTR_R7          7
33 #define PTR_R8          8
34 #define PTR_R9          9
35 #define PTR_R10         10
36 #define PTR_R11         11
37 #define PTR_R12         12
38 #define PTR_R13         13
39 #define PTR_R14         14
40 #define PTR_R15         15
41 #define PTR_R16         16
42 #define PTR_R17         17
43 #define PTR_R18         18
44 #define PTR_R19         19
45 #define PTR_R20         20
46 #define PTR_R21         21
47 #define PTR_R22         22
48 #define PTR_R23         23
49 #define PTR_R24         24
50 #define PTR_R25         25
51 #define PTR_GP          26
52 #define PTR_SP          27
53 #define PTR_FP          28
54 #define PTR_EA          29
55 #define PTR_BA          30
56 #define PTR_RA          31
57 /* Control registers */
58 #define PTR_PC          32
59 #define PTR_STATUS      33
60 #define PTR_ESTATUS     34
61 #define PTR_BSTATUS     35
62 #define PTR_IENABLE     36
63 #define PTR_IPENDING    37
64 #define PTR_CPUID       38
65 #define PTR_CTL6        39
66 #define PTR_EXCEPTION   40
67 #define PTR_PTEADDR     41
68 #define PTR_TLBACC      42
69 #define PTR_TLBMISC     43
70 #define PTR_ECCINJ      44
71 #define PTR_BADADDR     45
72 #define PTR_CONFIG      46
73 #define PTR_MPUBASE     47
74 #define PTR_MPUACC      48
75
76 #define NUM_PTRACE_REG (PTR_MPUACC + 1)
77
78 /* User structures for general purpose registers.  */
79 struct user_pt_regs {
80         __u32           regs[49];
81 };
82
83 #endif /* __ASSEMBLY__ */
84 #endif /* _UAPI_ASM_NIOS2_PTRACE_H */