18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * Copyright (C) 2010 Tobias Klauser <tklauser@distanz.ch>
48c2ecf20Sopenharmony_ci * Copyright (C) 2004 Microtronix Datacom Ltd
58c2ecf20Sopenharmony_ci *
68c2ecf20Sopenharmony_ci * based on m68k asm/processor.h
78c2ecf20Sopenharmony_ci *
88c2ecf20Sopenharmony_ci * This file is subject to the terms and conditions of the GNU General Public
98c2ecf20Sopenharmony_ci * License.  See the file "COPYING" in the main directory of this archive
108c2ecf20Sopenharmony_ci * for more details.
118c2ecf20Sopenharmony_ci */
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ci#ifndef _UAPI_ASM_NIOS2_PTRACE_H
148c2ecf20Sopenharmony_ci#define _UAPI_ASM_NIOS2_PTRACE_H
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ci#ifndef __ASSEMBLY__
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ci#include <linux/types.h>
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ci/*
218c2ecf20Sopenharmony_ci * Register numbers used by 'ptrace' system call interface.
228c2ecf20Sopenharmony_ci */
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ci/* GP registers */
258c2ecf20Sopenharmony_ci#define PTR_R0		0
268c2ecf20Sopenharmony_ci#define PTR_R1		1
278c2ecf20Sopenharmony_ci#define PTR_R2		2
288c2ecf20Sopenharmony_ci#define PTR_R3		3
298c2ecf20Sopenharmony_ci#define PTR_R4		4
308c2ecf20Sopenharmony_ci#define PTR_R5		5
318c2ecf20Sopenharmony_ci#define PTR_R6		6
328c2ecf20Sopenharmony_ci#define PTR_R7		7
338c2ecf20Sopenharmony_ci#define PTR_R8		8
348c2ecf20Sopenharmony_ci#define PTR_R9		9
358c2ecf20Sopenharmony_ci#define PTR_R10		10
368c2ecf20Sopenharmony_ci#define PTR_R11		11
378c2ecf20Sopenharmony_ci#define PTR_R12		12
388c2ecf20Sopenharmony_ci#define PTR_R13		13
398c2ecf20Sopenharmony_ci#define PTR_R14		14
408c2ecf20Sopenharmony_ci#define PTR_R15		15
418c2ecf20Sopenharmony_ci#define PTR_R16		16
428c2ecf20Sopenharmony_ci#define PTR_R17		17
438c2ecf20Sopenharmony_ci#define PTR_R18		18
448c2ecf20Sopenharmony_ci#define PTR_R19		19
458c2ecf20Sopenharmony_ci#define PTR_R20		20
468c2ecf20Sopenharmony_ci#define PTR_R21		21
478c2ecf20Sopenharmony_ci#define PTR_R22		22
488c2ecf20Sopenharmony_ci#define PTR_R23		23
498c2ecf20Sopenharmony_ci#define PTR_R24		24
508c2ecf20Sopenharmony_ci#define PTR_R25		25
518c2ecf20Sopenharmony_ci#define PTR_GP		26
528c2ecf20Sopenharmony_ci#define PTR_SP		27
538c2ecf20Sopenharmony_ci#define PTR_FP		28
548c2ecf20Sopenharmony_ci#define PTR_EA		29
558c2ecf20Sopenharmony_ci#define PTR_BA		30
568c2ecf20Sopenharmony_ci#define PTR_RA		31
578c2ecf20Sopenharmony_ci/* Control registers */
588c2ecf20Sopenharmony_ci#define PTR_PC		32
598c2ecf20Sopenharmony_ci#define PTR_STATUS	33
608c2ecf20Sopenharmony_ci#define PTR_ESTATUS	34
618c2ecf20Sopenharmony_ci#define PTR_BSTATUS	35
628c2ecf20Sopenharmony_ci#define PTR_IENABLE	36
638c2ecf20Sopenharmony_ci#define PTR_IPENDING	37
648c2ecf20Sopenharmony_ci#define PTR_CPUID	38
658c2ecf20Sopenharmony_ci#define PTR_CTL6	39
668c2ecf20Sopenharmony_ci#define PTR_EXCEPTION	40
678c2ecf20Sopenharmony_ci#define PTR_PTEADDR	41
688c2ecf20Sopenharmony_ci#define PTR_TLBACC	42
698c2ecf20Sopenharmony_ci#define PTR_TLBMISC	43
708c2ecf20Sopenharmony_ci#define PTR_ECCINJ	44
718c2ecf20Sopenharmony_ci#define PTR_BADADDR	45
728c2ecf20Sopenharmony_ci#define PTR_CONFIG	46
738c2ecf20Sopenharmony_ci#define PTR_MPUBASE	47
748c2ecf20Sopenharmony_ci#define PTR_MPUACC	48
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_ci#define NUM_PTRACE_REG (PTR_MPUACC + 1)
778c2ecf20Sopenharmony_ci
788c2ecf20Sopenharmony_ci/* User structures for general purpose registers.  */
798c2ecf20Sopenharmony_cistruct user_pt_regs {
808c2ecf20Sopenharmony_ci	__u32		regs[49];
818c2ecf20Sopenharmony_ci};
828c2ecf20Sopenharmony_ci
838c2ecf20Sopenharmony_ci#endif /* __ASSEMBLY__ */
848c2ecf20Sopenharmony_ci#endif /* _UAPI_ASM_NIOS2_PTRACE_H */
85