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