blob: 1d35de90a977b513982d9e71a907c041033a786c [file] [log] [blame]
Kyle Swenson8d8f6542021-03-15 11:02:55 -06001/*
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 */