xref: /openbmc/linux/arch/nios2/include/uapi/asm/ptrace.h (revision 2009337e)
1106174d0SLey Foon Tan /*
2106174d0SLey Foon Tan  * Copyright (C) 2010 Tobias Klauser <tklauser@distanz.ch>
3106174d0SLey Foon Tan  * Copyright (C) 2004 Microtronix Datacom Ltd
4106174d0SLey Foon Tan  *
5106174d0SLey Foon Tan  * based on m68k asm/processor.h
6106174d0SLey Foon Tan  *
7106174d0SLey Foon Tan  * This file is subject to the terms and conditions of the GNU General Public
8106174d0SLey Foon Tan  * License.  See the file "COPYING" in the main directory of this archive
9106174d0SLey Foon Tan  * for more details.
10106174d0SLey Foon Tan  */
11106174d0SLey Foon Tan 
12106174d0SLey Foon Tan #ifndef _UAPI_ASM_NIOS2_PTRACE_H
13106174d0SLey Foon Tan #define _UAPI_ASM_NIOS2_PTRACE_H
14106174d0SLey Foon Tan 
15106174d0SLey Foon Tan #ifndef __ASSEMBLY__
16106174d0SLey Foon Tan 
172009337eSEzequiel Garcia #include <linux/types.h>
182009337eSEzequiel Garcia 
19106174d0SLey Foon Tan /*
20106174d0SLey Foon Tan  * Register numbers used by 'ptrace' system call interface.
21106174d0SLey Foon Tan  */
22106174d0SLey Foon Tan 
23106174d0SLey Foon Tan /* GP registers */
24106174d0SLey Foon Tan #define PTR_R0		0
25106174d0SLey Foon Tan #define PTR_R1		1
26106174d0SLey Foon Tan #define PTR_R2		2
27106174d0SLey Foon Tan #define PTR_R3		3
28106174d0SLey Foon Tan #define PTR_R4		4
29106174d0SLey Foon Tan #define PTR_R5		5
30106174d0SLey Foon Tan #define PTR_R6		6
31106174d0SLey Foon Tan #define PTR_R7		7
32106174d0SLey Foon Tan #define PTR_R8		8
33106174d0SLey Foon Tan #define PTR_R9		9
34106174d0SLey Foon Tan #define PTR_R10		10
35106174d0SLey Foon Tan #define PTR_R11		11
36106174d0SLey Foon Tan #define PTR_R12		12
37106174d0SLey Foon Tan #define PTR_R13		13
38106174d0SLey Foon Tan #define PTR_R14		14
39106174d0SLey Foon Tan #define PTR_R15		15
40106174d0SLey Foon Tan #define PTR_R16		16
41106174d0SLey Foon Tan #define PTR_R17		17
42106174d0SLey Foon Tan #define PTR_R18		18
43106174d0SLey Foon Tan #define PTR_R19		19
44106174d0SLey Foon Tan #define PTR_R20		20
45106174d0SLey Foon Tan #define PTR_R21		21
46106174d0SLey Foon Tan #define PTR_R22		22
47106174d0SLey Foon Tan #define PTR_R23		23
48106174d0SLey Foon Tan #define PTR_R24		24
49106174d0SLey Foon Tan #define PTR_R25		25
50106174d0SLey Foon Tan #define PTR_GP		26
51106174d0SLey Foon Tan #define PTR_SP		27
52106174d0SLey Foon Tan #define PTR_FP		28
53106174d0SLey Foon Tan #define PTR_EA		29
54106174d0SLey Foon Tan #define PTR_BA		30
55106174d0SLey Foon Tan #define PTR_RA		31
56106174d0SLey Foon Tan /* Control registers */
57106174d0SLey Foon Tan #define PTR_PC		32
58106174d0SLey Foon Tan #define PTR_STATUS	33
59106174d0SLey Foon Tan #define PTR_ESTATUS	34
60106174d0SLey Foon Tan #define PTR_BSTATUS	35
61106174d0SLey Foon Tan #define PTR_IENABLE	36
62106174d0SLey Foon Tan #define PTR_IPENDING	37
63106174d0SLey Foon Tan #define PTR_CPUID	38
64106174d0SLey Foon Tan #define PTR_CTL6	39
65e3e29f99SLey Foon Tan #define PTR_EXCEPTION	40
66106174d0SLey Foon Tan #define PTR_PTEADDR	41
67106174d0SLey Foon Tan #define PTR_TLBACC	42
68106174d0SLey Foon Tan #define PTR_TLBMISC	43
69e3e29f99SLey Foon Tan #define PTR_ECCINJ	44
70e3e29f99SLey Foon Tan #define PTR_BADADDR	45
71e3e29f99SLey Foon Tan #define PTR_CONFIG	46
72e3e29f99SLey Foon Tan #define PTR_MPUBASE	47
73e3e29f99SLey Foon Tan #define PTR_MPUACC	48
74106174d0SLey Foon Tan 
75e3e29f99SLey Foon Tan #define NUM_PTRACE_REG (PTR_MPUACC + 1)
76106174d0SLey Foon Tan 
7792d5dd8cSChung-Ling Tang /* User structures for general purpose registers.  */
7892d5dd8cSChung-Ling Tang struct user_pt_regs {
7992d5dd8cSChung-Ling Tang 	__u32		regs[49];
80106174d0SLey Foon Tan };
81106174d0SLey Foon Tan 
82106174d0SLey Foon Tan #endif /* __ASSEMBLY__ */
83106174d0SLey Foon Tan #endif /* _UAPI_ASM_NIOS2_PTRACE_H */
84