xref: /openbmc/linux/arch/nios2/include/uapi/asm/ptrace.h (revision 498495dba268b20e8eadd7fe93c140c68b6cc9d2)
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 */
85