![]() |
|
|||
0001 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 0002 /* 0003 * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com) 0004 * 0005 * This program is free software; you can redistribute it and/or modify 0006 * it under the terms of the GNU General Public License version 2 as 0007 * published by the Free Software Foundation. 0008 * 0009 * Amit Bhor, Sameer Dhavale: Codito Technologies 2004 0010 */ 0011 0012 #ifndef _UAPI__ASM_ARC_PTRACE_H 0013 #define _UAPI__ASM_ARC_PTRACE_H 0014 0015 #define PTRACE_GET_THREAD_AREA 25 0016 0017 #ifndef __ASSEMBLY__ 0018 /* 0019 * Userspace ABI: Register state needed by 0020 * -ptrace (gdbserver) 0021 * -sigcontext (SA_SIGNINFO signal frame) 0022 * 0023 * This is to decouple pt_regs from user-space ABI, to be able to change it 0024 * w/o affecting the ABI. 0025 * 0026 * The intermediate pad,pad2 are relics of initial layout based on pt_regs 0027 * for optimizations when copying pt_regs to/from user_regs_struct. 0028 * We no longer need them, but can't be changed as they are part of ABI now. 0029 * 0030 * Also, sigcontext only care about the scratch regs as that is what we really 0031 * save/restore for signal handling. However gdb also uses the same struct 0032 * hence callee regs need to be in there too. 0033 */ 0034 struct user_regs_struct { 0035 0036 unsigned long pad; 0037 struct { 0038 unsigned long bta, lp_start, lp_end, lp_count; 0039 unsigned long status32, ret, blink, fp, gp; 0040 unsigned long r12, r11, r10, r9, r8, r7, r6, r5, r4, r3, r2, r1, r0; 0041 unsigned long sp; 0042 } scratch; 0043 unsigned long pad2; 0044 struct { 0045 unsigned long r25, r24, r23, r22, r21, r20; 0046 unsigned long r19, r18, r17, r16, r15, r14, r13; 0047 } callee; 0048 unsigned long efa; /* break pt addr, for break points in delay slots */ 0049 unsigned long stop_pc; /* give dbg stop_pc after ensuring brkpt trap */ 0050 }; 0051 0052 struct user_regs_arcv2 { 0053 unsigned long r30, r58, r59; 0054 }; 0055 0056 #endif /* !__ASSEMBLY__ */ 0057 0058 #endif /* _UAPI__ASM_ARC_PTRACE_H */
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.1.0 LXR engine. The LXR team |
![]() ![]() |