1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 /* 3 * include/asm-xtensa/ptrace.h 4 * 5 * This file is subject to the terms and conditions of the GNU General Public 6 * License. See the file "COPYING" in the main directory of this archive 7 * for more details. 8 * 9 * Copyright (C) 2001 - 2005 Tensilica Inc. 10 */ 11 12 #ifndef _UAPI_XTENSA_PTRACE_H 13 #define _UAPI_XTENSA_PTRACE_H 14 15 #include <linux/types.h> 16 17 /* Registers used by strace */ 18 19 #define REG_A_BASE 0x0000 20 #define REG_AR_BASE 0x0100 21 #define REG_PC 0x0020 22 #define REG_PS 0x02e6 23 #define REG_WB 0x0248 24 #define REG_WS 0x0249 25 #define REG_LBEG 0x0200 26 #define REG_LEND 0x0201 27 #define REG_LCOUNT 0x0202 28 #define REG_SAR 0x0203 29 30 #define SYSCALL_NR 0x00ff 31 32 /* Other PTRACE_ values defined in <linux/ptrace.h> using values 0-9,16,17,24 */ 33 34 #define PTRACE_GETREGS 12 35 #define PTRACE_SETREGS 13 36 #define PTRACE_GETXTREGS 18 37 #define PTRACE_SETXTREGS 19 38 #define PTRACE_GETHBPREGS 20 39 #define PTRACE_SETHBPREGS 21 40 41 #ifndef __ASSEMBLY__ 42 43 struct user_pt_regs { 44 __u32 pc; 45 __u32 ps; 46 __u32 lbeg; 47 __u32 lend; 48 __u32 lcount; 49 __u32 sar; 50 __u32 windowstart; 51 __u32 windowbase; 52 __u32 threadptr; 53 __u32 syscall; 54 __u32 reserved[6 + 48]; 55 __u32 a[64]; 56 }; 57 58 #endif 59 #endif /* _UAPI_XTENSA_PTRACE_H */ 60