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.  */
79struct user_pt_regs {
80	__u32		regs[49];
81};
82
83#endif /* __ASSEMBLY__ */
84#endif /* _UAPI_ASM_NIOS2_PTRACE_H */
85