162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (C) 2010 Tobias Klauser <tklauser@distanz.ch> 462306a36Sopenharmony_ci * Copyright (C) 2004 Microtronix Datacom Ltd 562306a36Sopenharmony_ci * 662306a36Sopenharmony_ci * based on m68k asm/processor.h 762306a36Sopenharmony_ci * 862306a36Sopenharmony_ci * This file is subject to the terms and conditions of the GNU General Public 962306a36Sopenharmony_ci * License. See the file "COPYING" in the main directory of this archive 1062306a36Sopenharmony_ci * for more details. 1162306a36Sopenharmony_ci */ 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci#ifndef _UAPI_ASM_NIOS2_PTRACE_H 1462306a36Sopenharmony_ci#define _UAPI_ASM_NIOS2_PTRACE_H 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci#ifndef __ASSEMBLY__ 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci#include <linux/types.h> 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci/* 2162306a36Sopenharmony_ci * Register numbers used by 'ptrace' system call interface. 2262306a36Sopenharmony_ci */ 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci/* GP registers */ 2562306a36Sopenharmony_ci#define PTR_R0 0 2662306a36Sopenharmony_ci#define PTR_R1 1 2762306a36Sopenharmony_ci#define PTR_R2 2 2862306a36Sopenharmony_ci#define PTR_R3 3 2962306a36Sopenharmony_ci#define PTR_R4 4 3062306a36Sopenharmony_ci#define PTR_R5 5 3162306a36Sopenharmony_ci#define PTR_R6 6 3262306a36Sopenharmony_ci#define PTR_R7 7 3362306a36Sopenharmony_ci#define PTR_R8 8 3462306a36Sopenharmony_ci#define PTR_R9 9 3562306a36Sopenharmony_ci#define PTR_R10 10 3662306a36Sopenharmony_ci#define PTR_R11 11 3762306a36Sopenharmony_ci#define PTR_R12 12 3862306a36Sopenharmony_ci#define PTR_R13 13 3962306a36Sopenharmony_ci#define PTR_R14 14 4062306a36Sopenharmony_ci#define PTR_R15 15 4162306a36Sopenharmony_ci#define PTR_R16 16 4262306a36Sopenharmony_ci#define PTR_R17 17 4362306a36Sopenharmony_ci#define PTR_R18 18 4462306a36Sopenharmony_ci#define PTR_R19 19 4562306a36Sopenharmony_ci#define PTR_R20 20 4662306a36Sopenharmony_ci#define PTR_R21 21 4762306a36Sopenharmony_ci#define PTR_R22 22 4862306a36Sopenharmony_ci#define PTR_R23 23 4962306a36Sopenharmony_ci#define PTR_R24 24 5062306a36Sopenharmony_ci#define PTR_R25 25 5162306a36Sopenharmony_ci#define PTR_GP 26 5262306a36Sopenharmony_ci#define PTR_SP 27 5362306a36Sopenharmony_ci#define PTR_FP 28 5462306a36Sopenharmony_ci#define PTR_EA 29 5562306a36Sopenharmony_ci#define PTR_BA 30 5662306a36Sopenharmony_ci#define PTR_RA 31 5762306a36Sopenharmony_ci/* Control registers */ 5862306a36Sopenharmony_ci#define PTR_PC 32 5962306a36Sopenharmony_ci#define PTR_STATUS 33 6062306a36Sopenharmony_ci#define PTR_ESTATUS 34 6162306a36Sopenharmony_ci#define PTR_BSTATUS 35 6262306a36Sopenharmony_ci#define PTR_IENABLE 36 6362306a36Sopenharmony_ci#define PTR_IPENDING 37 6462306a36Sopenharmony_ci#define PTR_CPUID 38 6562306a36Sopenharmony_ci#define PTR_CTL6 39 6662306a36Sopenharmony_ci#define PTR_EXCEPTION 40 6762306a36Sopenharmony_ci#define PTR_PTEADDR 41 6862306a36Sopenharmony_ci#define PTR_TLBACC 42 6962306a36Sopenharmony_ci#define PTR_TLBMISC 43 7062306a36Sopenharmony_ci#define PTR_ECCINJ 44 7162306a36Sopenharmony_ci#define PTR_BADADDR 45 7262306a36Sopenharmony_ci#define PTR_CONFIG 46 7362306a36Sopenharmony_ci#define PTR_MPUBASE 47 7462306a36Sopenharmony_ci#define PTR_MPUACC 48 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_ci#define NUM_PTRACE_REG (PTR_MPUACC + 1) 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_ci/* User structures for general purpose registers. */ 7962306a36Sopenharmony_cistruct user_pt_regs { 8062306a36Sopenharmony_ci __u32 regs[49]; 8162306a36Sopenharmony_ci}; 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ci#endif /* __ASSEMBLY__ */ 8462306a36Sopenharmony_ci#endif /* _UAPI_ASM_NIOS2_PTRACE_H */ 85