18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 28c2ecf20Sopenharmony_ci#ifndef _UAPI__SPARC_PTRACE_H 38c2ecf20Sopenharmony_ci#define _UAPI__SPARC_PTRACE_H 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ci#if defined(__sparc__) && defined(__arch64__) 68c2ecf20Sopenharmony_ci/* 64 bit sparc */ 78c2ecf20Sopenharmony_ci#include <asm/pstate.h> 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ci/* This struct defines the way the registers are stored on the 108c2ecf20Sopenharmony_ci * stack during a system call and basically all traps. 118c2ecf20Sopenharmony_ci */ 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ci/* This magic value must have the low 9 bits clear, 148c2ecf20Sopenharmony_ci * as that is where we encode the %tt value, see below. 158c2ecf20Sopenharmony_ci */ 168c2ecf20Sopenharmony_ci#define PT_REGS_MAGIC 0x57ac6c00 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ci#ifndef __ASSEMBLY__ 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci#include <linux/types.h> 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_cistruct pt_regs { 238c2ecf20Sopenharmony_ci unsigned long u_regs[16]; /* globals and ins */ 248c2ecf20Sopenharmony_ci unsigned long tstate; 258c2ecf20Sopenharmony_ci unsigned long tpc; 268c2ecf20Sopenharmony_ci unsigned long tnpc; 278c2ecf20Sopenharmony_ci unsigned int y; 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ci /* We encode a magic number, PT_REGS_MAGIC, along 308c2ecf20Sopenharmony_ci * with the %tt (trap type) register value at trap 318c2ecf20Sopenharmony_ci * entry time. The magic number allows us to identify 328c2ecf20Sopenharmony_ci * accurately a trap stack frame in the stack 338c2ecf20Sopenharmony_ci * unwinder, and the %tt value allows us to test 348c2ecf20Sopenharmony_ci * things like "in a system call" etc. for an arbitray 358c2ecf20Sopenharmony_ci * process. 368c2ecf20Sopenharmony_ci * 378c2ecf20Sopenharmony_ci * The PT_REGS_MAGIC is chosen such that it can be 388c2ecf20Sopenharmony_ci * loaded completely using just a sethi instruction. 398c2ecf20Sopenharmony_ci */ 408c2ecf20Sopenharmony_ci unsigned int magic; 418c2ecf20Sopenharmony_ci}; 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_cistruct pt_regs32 { 448c2ecf20Sopenharmony_ci unsigned int psr; 458c2ecf20Sopenharmony_ci unsigned int pc; 468c2ecf20Sopenharmony_ci unsigned int npc; 478c2ecf20Sopenharmony_ci unsigned int y; 488c2ecf20Sopenharmony_ci unsigned int u_regs[16]; /* globals and ins */ 498c2ecf20Sopenharmony_ci}; 508c2ecf20Sopenharmony_ci 518c2ecf20Sopenharmony_ci/* A V9 register window */ 528c2ecf20Sopenharmony_cistruct reg_window { 538c2ecf20Sopenharmony_ci unsigned long locals[8]; 548c2ecf20Sopenharmony_ci unsigned long ins[8]; 558c2ecf20Sopenharmony_ci}; 568c2ecf20Sopenharmony_ci 578c2ecf20Sopenharmony_ci/* A 32-bit register window. */ 588c2ecf20Sopenharmony_cistruct reg_window32 { 598c2ecf20Sopenharmony_ci unsigned int locals[8]; 608c2ecf20Sopenharmony_ci unsigned int ins[8]; 618c2ecf20Sopenharmony_ci}; 628c2ecf20Sopenharmony_ci 638c2ecf20Sopenharmony_ci/* A V9 Sparc stack frame */ 648c2ecf20Sopenharmony_cistruct sparc_stackf { 658c2ecf20Sopenharmony_ci unsigned long locals[8]; 668c2ecf20Sopenharmony_ci unsigned long ins[6]; 678c2ecf20Sopenharmony_ci struct sparc_stackf *fp; 688c2ecf20Sopenharmony_ci unsigned long callers_pc; 698c2ecf20Sopenharmony_ci char *structptr; 708c2ecf20Sopenharmony_ci unsigned long xargs[6]; 718c2ecf20Sopenharmony_ci unsigned long xxargs[1]; 728c2ecf20Sopenharmony_ci}; 738c2ecf20Sopenharmony_ci 748c2ecf20Sopenharmony_ci/* A 32-bit Sparc stack frame */ 758c2ecf20Sopenharmony_cistruct sparc_stackf32 { 768c2ecf20Sopenharmony_ci unsigned int locals[8]; 778c2ecf20Sopenharmony_ci unsigned int ins[6]; 788c2ecf20Sopenharmony_ci unsigned int fp; 798c2ecf20Sopenharmony_ci unsigned int callers_pc; 808c2ecf20Sopenharmony_ci unsigned int structptr; 818c2ecf20Sopenharmony_ci unsigned int xargs[6]; 828c2ecf20Sopenharmony_ci unsigned int xxargs[1]; 838c2ecf20Sopenharmony_ci}; 848c2ecf20Sopenharmony_ci 858c2ecf20Sopenharmony_cistruct sparc_trapf { 868c2ecf20Sopenharmony_ci unsigned long locals[8]; 878c2ecf20Sopenharmony_ci unsigned long ins[8]; 888c2ecf20Sopenharmony_ci unsigned long _unused; 898c2ecf20Sopenharmony_ci struct pt_regs *regs; 908c2ecf20Sopenharmony_ci}; 918c2ecf20Sopenharmony_ci#endif /* (!__ASSEMBLY__) */ 928c2ecf20Sopenharmony_ci#else 938c2ecf20Sopenharmony_ci/* 32 bit sparc */ 948c2ecf20Sopenharmony_ci 958c2ecf20Sopenharmony_ci#include <asm/psr.h> 968c2ecf20Sopenharmony_ci 978c2ecf20Sopenharmony_ci/* This struct defines the way the registers are stored on the 988c2ecf20Sopenharmony_ci * stack during a system call and basically all traps. 998c2ecf20Sopenharmony_ci */ 1008c2ecf20Sopenharmony_ci#ifndef __ASSEMBLY__ 1018c2ecf20Sopenharmony_ci 1028c2ecf20Sopenharmony_ci#include <linux/types.h> 1038c2ecf20Sopenharmony_ci 1048c2ecf20Sopenharmony_cistruct pt_regs { 1058c2ecf20Sopenharmony_ci unsigned long psr; 1068c2ecf20Sopenharmony_ci unsigned long pc; 1078c2ecf20Sopenharmony_ci unsigned long npc; 1088c2ecf20Sopenharmony_ci unsigned long y; 1098c2ecf20Sopenharmony_ci unsigned long u_regs[16]; /* globals and ins */ 1108c2ecf20Sopenharmony_ci}; 1118c2ecf20Sopenharmony_ci 1128c2ecf20Sopenharmony_ci/* A 32-bit register window. */ 1138c2ecf20Sopenharmony_cistruct reg_window32 { 1148c2ecf20Sopenharmony_ci unsigned long locals[8]; 1158c2ecf20Sopenharmony_ci unsigned long ins[8]; 1168c2ecf20Sopenharmony_ci}; 1178c2ecf20Sopenharmony_ci 1188c2ecf20Sopenharmony_ci/* A Sparc stack frame */ 1198c2ecf20Sopenharmony_cistruct sparc_stackf { 1208c2ecf20Sopenharmony_ci unsigned long locals[8]; 1218c2ecf20Sopenharmony_ci unsigned long ins[6]; 1228c2ecf20Sopenharmony_ci struct sparc_stackf *fp; 1238c2ecf20Sopenharmony_ci unsigned long callers_pc; 1248c2ecf20Sopenharmony_ci char *structptr; 1258c2ecf20Sopenharmony_ci unsigned long xargs[6]; 1268c2ecf20Sopenharmony_ci unsigned long xxargs[1]; 1278c2ecf20Sopenharmony_ci}; 1288c2ecf20Sopenharmony_ci#endif /* (!__ASSEMBLY__) */ 1298c2ecf20Sopenharmony_ci 1308c2ecf20Sopenharmony_ci#endif /* (defined(__sparc__) && defined(__arch64__))*/ 1318c2ecf20Sopenharmony_ci 1328c2ecf20Sopenharmony_ci#ifndef __ASSEMBLY__ 1338c2ecf20Sopenharmony_ci 1348c2ecf20Sopenharmony_ci#define TRACEREG_SZ sizeof(struct pt_regs) 1358c2ecf20Sopenharmony_ci#define STACKFRAME_SZ sizeof(struct sparc_stackf) 1368c2ecf20Sopenharmony_ci 1378c2ecf20Sopenharmony_ci#define TRACEREG32_SZ sizeof(struct pt_regs32) 1388c2ecf20Sopenharmony_ci#define STACKFRAME32_SZ sizeof(struct sparc_stackf32) 1398c2ecf20Sopenharmony_ci 1408c2ecf20Sopenharmony_ci#endif /* (!__ASSEMBLY__) */ 1418c2ecf20Sopenharmony_ci 1428c2ecf20Sopenharmony_ci#define UREG_G0 0 1438c2ecf20Sopenharmony_ci#define UREG_G1 1 1448c2ecf20Sopenharmony_ci#define UREG_G2 2 1458c2ecf20Sopenharmony_ci#define UREG_G3 3 1468c2ecf20Sopenharmony_ci#define UREG_G4 4 1478c2ecf20Sopenharmony_ci#define UREG_G5 5 1488c2ecf20Sopenharmony_ci#define UREG_G6 6 1498c2ecf20Sopenharmony_ci#define UREG_G7 7 1508c2ecf20Sopenharmony_ci#define UREG_I0 8 1518c2ecf20Sopenharmony_ci#define UREG_I1 9 1528c2ecf20Sopenharmony_ci#define UREG_I2 10 1538c2ecf20Sopenharmony_ci#define UREG_I3 11 1548c2ecf20Sopenharmony_ci#define UREG_I4 12 1558c2ecf20Sopenharmony_ci#define UREG_I5 13 1568c2ecf20Sopenharmony_ci#define UREG_I6 14 1578c2ecf20Sopenharmony_ci#define UREG_I7 15 1588c2ecf20Sopenharmony_ci#define UREG_FP UREG_I6 1598c2ecf20Sopenharmony_ci#define UREG_RETPC UREG_I7 1608c2ecf20Sopenharmony_ci 1618c2ecf20Sopenharmony_ci#if defined(__sparc__) && defined(__arch64__) 1628c2ecf20Sopenharmony_ci/* 64 bit sparc */ 1638c2ecf20Sopenharmony_ci 1648c2ecf20Sopenharmony_ci#ifndef __ASSEMBLY__ 1658c2ecf20Sopenharmony_ci 1668c2ecf20Sopenharmony_ci 1678c2ecf20Sopenharmony_ci#else /* __ASSEMBLY__ */ 1688c2ecf20Sopenharmony_ci/* For assembly code. */ 1698c2ecf20Sopenharmony_ci#define TRACEREG_SZ 0xa0 1708c2ecf20Sopenharmony_ci#define STACKFRAME_SZ 0xc0 1718c2ecf20Sopenharmony_ci 1728c2ecf20Sopenharmony_ci#define TRACEREG32_SZ 0x50 1738c2ecf20Sopenharmony_ci#define STACKFRAME32_SZ 0x60 1748c2ecf20Sopenharmony_ci#endif /* __ASSEMBLY__ */ 1758c2ecf20Sopenharmony_ci 1768c2ecf20Sopenharmony_ci#else /* (defined(__sparc__) && defined(__arch64__)) */ 1778c2ecf20Sopenharmony_ci 1788c2ecf20Sopenharmony_ci/* 32 bit sparc */ 1798c2ecf20Sopenharmony_ci 1808c2ecf20Sopenharmony_ci#ifndef __ASSEMBLY__ 1818c2ecf20Sopenharmony_ci 1828c2ecf20Sopenharmony_ci 1838c2ecf20Sopenharmony_ci#else /* (!__ASSEMBLY__) */ 1848c2ecf20Sopenharmony_ci/* For assembly code. */ 1858c2ecf20Sopenharmony_ci#define TRACEREG_SZ 0x50 1868c2ecf20Sopenharmony_ci#define STACKFRAME_SZ 0x60 1878c2ecf20Sopenharmony_ci#endif /* (!__ASSEMBLY__) */ 1888c2ecf20Sopenharmony_ci 1898c2ecf20Sopenharmony_ci#endif /* (defined(__sparc__) && defined(__arch64__)) */ 1908c2ecf20Sopenharmony_ci 1918c2ecf20Sopenharmony_ci 1928c2ecf20Sopenharmony_ci/* These are for pt_regs. */ 1938c2ecf20Sopenharmony_ci#define PT_V9_G0 0x00 1948c2ecf20Sopenharmony_ci#define PT_V9_G1 0x08 1958c2ecf20Sopenharmony_ci#define PT_V9_G2 0x10 1968c2ecf20Sopenharmony_ci#define PT_V9_G3 0x18 1978c2ecf20Sopenharmony_ci#define PT_V9_G4 0x20 1988c2ecf20Sopenharmony_ci#define PT_V9_G5 0x28 1998c2ecf20Sopenharmony_ci#define PT_V9_G6 0x30 2008c2ecf20Sopenharmony_ci#define PT_V9_G7 0x38 2018c2ecf20Sopenharmony_ci#define PT_V9_I0 0x40 2028c2ecf20Sopenharmony_ci#define PT_V9_I1 0x48 2038c2ecf20Sopenharmony_ci#define PT_V9_I2 0x50 2048c2ecf20Sopenharmony_ci#define PT_V9_I3 0x58 2058c2ecf20Sopenharmony_ci#define PT_V9_I4 0x60 2068c2ecf20Sopenharmony_ci#define PT_V9_I5 0x68 2078c2ecf20Sopenharmony_ci#define PT_V9_I6 0x70 2088c2ecf20Sopenharmony_ci#define PT_V9_FP PT_V9_I6 2098c2ecf20Sopenharmony_ci#define PT_V9_I7 0x78 2108c2ecf20Sopenharmony_ci#define PT_V9_TSTATE 0x80 2118c2ecf20Sopenharmony_ci#define PT_V9_TPC 0x88 2128c2ecf20Sopenharmony_ci#define PT_V9_TNPC 0x90 2138c2ecf20Sopenharmony_ci#define PT_V9_Y 0x98 2148c2ecf20Sopenharmony_ci#define PT_V9_MAGIC 0x9c 2158c2ecf20Sopenharmony_ci#define PT_TSTATE PT_V9_TSTATE 2168c2ecf20Sopenharmony_ci#define PT_TPC PT_V9_TPC 2178c2ecf20Sopenharmony_ci#define PT_TNPC PT_V9_TNPC 2188c2ecf20Sopenharmony_ci 2198c2ecf20Sopenharmony_ci/* These for pt_regs32. */ 2208c2ecf20Sopenharmony_ci#define PT_PSR 0x0 2218c2ecf20Sopenharmony_ci#define PT_PC 0x4 2228c2ecf20Sopenharmony_ci#define PT_NPC 0x8 2238c2ecf20Sopenharmony_ci#define PT_Y 0xc 2248c2ecf20Sopenharmony_ci#define PT_G0 0x10 2258c2ecf20Sopenharmony_ci#define PT_WIM PT_G0 2268c2ecf20Sopenharmony_ci#define PT_G1 0x14 2278c2ecf20Sopenharmony_ci#define PT_G2 0x18 2288c2ecf20Sopenharmony_ci#define PT_G3 0x1c 2298c2ecf20Sopenharmony_ci#define PT_G4 0x20 2308c2ecf20Sopenharmony_ci#define PT_G5 0x24 2318c2ecf20Sopenharmony_ci#define PT_G6 0x28 2328c2ecf20Sopenharmony_ci#define PT_G7 0x2c 2338c2ecf20Sopenharmony_ci#define PT_I0 0x30 2348c2ecf20Sopenharmony_ci#define PT_I1 0x34 2358c2ecf20Sopenharmony_ci#define PT_I2 0x38 2368c2ecf20Sopenharmony_ci#define PT_I3 0x3c 2378c2ecf20Sopenharmony_ci#define PT_I4 0x40 2388c2ecf20Sopenharmony_ci#define PT_I5 0x44 2398c2ecf20Sopenharmony_ci#define PT_I6 0x48 2408c2ecf20Sopenharmony_ci#define PT_FP PT_I6 2418c2ecf20Sopenharmony_ci#define PT_I7 0x4c 2428c2ecf20Sopenharmony_ci 2438c2ecf20Sopenharmony_ci/* Reg_window offsets */ 2448c2ecf20Sopenharmony_ci#define RW_V9_L0 0x00 2458c2ecf20Sopenharmony_ci#define RW_V9_L1 0x08 2468c2ecf20Sopenharmony_ci#define RW_V9_L2 0x10 2478c2ecf20Sopenharmony_ci#define RW_V9_L3 0x18 2488c2ecf20Sopenharmony_ci#define RW_V9_L4 0x20 2498c2ecf20Sopenharmony_ci#define RW_V9_L5 0x28 2508c2ecf20Sopenharmony_ci#define RW_V9_L6 0x30 2518c2ecf20Sopenharmony_ci#define RW_V9_L7 0x38 2528c2ecf20Sopenharmony_ci#define RW_V9_I0 0x40 2538c2ecf20Sopenharmony_ci#define RW_V9_I1 0x48 2548c2ecf20Sopenharmony_ci#define RW_V9_I2 0x50 2558c2ecf20Sopenharmony_ci#define RW_V9_I3 0x58 2568c2ecf20Sopenharmony_ci#define RW_V9_I4 0x60 2578c2ecf20Sopenharmony_ci#define RW_V9_I5 0x68 2588c2ecf20Sopenharmony_ci#define RW_V9_I6 0x70 2598c2ecf20Sopenharmony_ci#define RW_V9_I7 0x78 2608c2ecf20Sopenharmony_ci 2618c2ecf20Sopenharmony_ci#define RW_L0 0x00 2628c2ecf20Sopenharmony_ci#define RW_L1 0x04 2638c2ecf20Sopenharmony_ci#define RW_L2 0x08 2648c2ecf20Sopenharmony_ci#define RW_L3 0x0c 2658c2ecf20Sopenharmony_ci#define RW_L4 0x10 2668c2ecf20Sopenharmony_ci#define RW_L5 0x14 2678c2ecf20Sopenharmony_ci#define RW_L6 0x18 2688c2ecf20Sopenharmony_ci#define RW_L7 0x1c 2698c2ecf20Sopenharmony_ci#define RW_I0 0x20 2708c2ecf20Sopenharmony_ci#define RW_I1 0x24 2718c2ecf20Sopenharmony_ci#define RW_I2 0x28 2728c2ecf20Sopenharmony_ci#define RW_I3 0x2c 2738c2ecf20Sopenharmony_ci#define RW_I4 0x30 2748c2ecf20Sopenharmony_ci#define RW_I5 0x34 2758c2ecf20Sopenharmony_ci#define RW_I6 0x38 2768c2ecf20Sopenharmony_ci#define RW_I7 0x3c 2778c2ecf20Sopenharmony_ci 2788c2ecf20Sopenharmony_ci/* Stack_frame offsets */ 2798c2ecf20Sopenharmony_ci#define SF_V9_L0 0x00 2808c2ecf20Sopenharmony_ci#define SF_V9_L1 0x08 2818c2ecf20Sopenharmony_ci#define SF_V9_L2 0x10 2828c2ecf20Sopenharmony_ci#define SF_V9_L3 0x18 2838c2ecf20Sopenharmony_ci#define SF_V9_L4 0x20 2848c2ecf20Sopenharmony_ci#define SF_V9_L5 0x28 2858c2ecf20Sopenharmony_ci#define SF_V9_L6 0x30 2868c2ecf20Sopenharmony_ci#define SF_V9_L7 0x38 2878c2ecf20Sopenharmony_ci#define SF_V9_I0 0x40 2888c2ecf20Sopenharmony_ci#define SF_V9_I1 0x48 2898c2ecf20Sopenharmony_ci#define SF_V9_I2 0x50 2908c2ecf20Sopenharmony_ci#define SF_V9_I3 0x58 2918c2ecf20Sopenharmony_ci#define SF_V9_I4 0x60 2928c2ecf20Sopenharmony_ci#define SF_V9_I5 0x68 2938c2ecf20Sopenharmony_ci#define SF_V9_FP 0x70 2948c2ecf20Sopenharmony_ci#define SF_V9_PC 0x78 2958c2ecf20Sopenharmony_ci#define SF_V9_RETP 0x80 2968c2ecf20Sopenharmony_ci#define SF_V9_XARG0 0x88 2978c2ecf20Sopenharmony_ci#define SF_V9_XARG1 0x90 2988c2ecf20Sopenharmony_ci#define SF_V9_XARG2 0x98 2998c2ecf20Sopenharmony_ci#define SF_V9_XARG3 0xa0 3008c2ecf20Sopenharmony_ci#define SF_V9_XARG4 0xa8 3018c2ecf20Sopenharmony_ci#define SF_V9_XARG5 0xb0 3028c2ecf20Sopenharmony_ci#define SF_V9_XXARG 0xb8 3038c2ecf20Sopenharmony_ci 3048c2ecf20Sopenharmony_ci#define SF_L0 0x00 3058c2ecf20Sopenharmony_ci#define SF_L1 0x04 3068c2ecf20Sopenharmony_ci#define SF_L2 0x08 3078c2ecf20Sopenharmony_ci#define SF_L3 0x0c 3088c2ecf20Sopenharmony_ci#define SF_L4 0x10 3098c2ecf20Sopenharmony_ci#define SF_L5 0x14 3108c2ecf20Sopenharmony_ci#define SF_L6 0x18 3118c2ecf20Sopenharmony_ci#define SF_L7 0x1c 3128c2ecf20Sopenharmony_ci#define SF_I0 0x20 3138c2ecf20Sopenharmony_ci#define SF_I1 0x24 3148c2ecf20Sopenharmony_ci#define SF_I2 0x28 3158c2ecf20Sopenharmony_ci#define SF_I3 0x2c 3168c2ecf20Sopenharmony_ci#define SF_I4 0x30 3178c2ecf20Sopenharmony_ci#define SF_I5 0x34 3188c2ecf20Sopenharmony_ci#define SF_FP 0x38 3198c2ecf20Sopenharmony_ci#define SF_PC 0x3c 3208c2ecf20Sopenharmony_ci#define SF_RETP 0x40 3218c2ecf20Sopenharmony_ci#define SF_XARG0 0x44 3228c2ecf20Sopenharmony_ci#define SF_XARG1 0x48 3238c2ecf20Sopenharmony_ci#define SF_XARG2 0x4c 3248c2ecf20Sopenharmony_ci#define SF_XARG3 0x50 3258c2ecf20Sopenharmony_ci#define SF_XARG4 0x54 3268c2ecf20Sopenharmony_ci#define SF_XARG5 0x58 3278c2ecf20Sopenharmony_ci#define SF_XXARG 0x5c 3288c2ecf20Sopenharmony_ci 3298c2ecf20Sopenharmony_ci 3308c2ecf20Sopenharmony_ci/* Stuff for the ptrace system call */ 3318c2ecf20Sopenharmony_ci#define PTRACE_SPARC_DETACH 11 3328c2ecf20Sopenharmony_ci#define PTRACE_GETREGS 12 3338c2ecf20Sopenharmony_ci#define PTRACE_SETREGS 13 3348c2ecf20Sopenharmony_ci#define PTRACE_GETFPREGS 14 3358c2ecf20Sopenharmony_ci#define PTRACE_SETFPREGS 15 3368c2ecf20Sopenharmony_ci#define PTRACE_READDATA 16 3378c2ecf20Sopenharmony_ci#define PTRACE_WRITEDATA 17 3388c2ecf20Sopenharmony_ci#define PTRACE_READTEXT 18 3398c2ecf20Sopenharmony_ci#define PTRACE_WRITETEXT 19 3408c2ecf20Sopenharmony_ci#define PTRACE_GETFPAREGS 20 3418c2ecf20Sopenharmony_ci#define PTRACE_SETFPAREGS 21 3428c2ecf20Sopenharmony_ci 3438c2ecf20Sopenharmony_ci/* There are for debugging 64-bit processes, either from a 32 or 64 bit 3448c2ecf20Sopenharmony_ci * parent. Thus their complements are for debugging 32-bit processes only. 3458c2ecf20Sopenharmony_ci */ 3468c2ecf20Sopenharmony_ci 3478c2ecf20Sopenharmony_ci#define PTRACE_GETREGS64 22 3488c2ecf20Sopenharmony_ci#define PTRACE_SETREGS64 23 3498c2ecf20Sopenharmony_ci/* PTRACE_SYSCALL is 24 */ 3508c2ecf20Sopenharmony_ci#define PTRACE_GETFPREGS64 25 3518c2ecf20Sopenharmony_ci#define PTRACE_SETFPREGS64 26 3528c2ecf20Sopenharmony_ci 3538c2ecf20Sopenharmony_ci#endif /* _UAPI__SPARC_PTRACE_H */ 354