1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 #ifndef _UAPI_ASMAXP_PTRACE_H
3 #define _UAPI_ASMAXP_PTRACE_H
7 * This struct defines the way the registers are stored on the
8 * kernel stack during a system call or other kernel entry
10 * NOTE! I want to minimize the overhead of system calls, so this
11 * struct has as little information as possible. It does not have
13 * - floating point regs: the kernel doesn't change those
14 * - r9-15: saved by the C compiler
16 * This makes "fork()" and "exec()" a bit more complex, but should
17 * give us low system call latency.
41 /* JRP - These are the values provided to a0-a2 by PALcode */
42 unsigned long trap_a0
;
43 unsigned long trap_a1
;
44 unsigned long trap_a2
;
45 /* These are saved by PAL-code: */
55 * This is the extended stack used by signal handlers and the context
56 * switcher: it's pushed after the normal "struct pt_regs".
67 unsigned long fp
[32]; /* fp[31] is fpcr */
71 #endif /* _UAPI_ASMAXP_PTRACE_H */