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