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