1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 #ifndef _ASM_X86_PTRACE_ABI_H
3 #define _ASM_X86_PTRACE_ABI_H
28 #if defined(__ASSEMBLY__) || defined(__FRAME_OFFSETS)
30 * C ABI says these regs are callee-preserved. They aren't saved on kernel entry
31 * unless syscall needs a complete, fully filled "struct pt_regs".
39 /* These regs are callee-clobbered. Always saved on kernel entry. */
50 * On syscall entry, this is syscall#. On CPU exception, this is error code.
51 * On hw interrupt, it's IRQ number:
54 /* Return frame for iretq */
60 #endif /* __ASSEMBLY__ */
62 /* top of stack page */
63 #define FRAME_SIZE 168
65 #endif /* !__i386__ */
67 /* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */
68 #define PTRACE_GETREGS 12
69 #define PTRACE_SETREGS 13
70 #define PTRACE_GETFPREGS 14
71 #define PTRACE_SETFPREGS 15
72 #define PTRACE_GETFPXREGS 18
73 #define PTRACE_SETFPXREGS 19
75 #define PTRACE_OLDSETOPTIONS 21
77 /* only useful for access 32bit programs / kernels */
78 #define PTRACE_GET_THREAD_AREA 25
79 #define PTRACE_SET_THREAD_AREA 26
82 # define PTRACE_ARCH_PRCTL 30
85 #define PTRACE_SYSEMU 31
86 #define PTRACE_SYSEMU_SINGLESTEP 32
88 #define PTRACE_SINGLEBLOCK 33 /* resume execution until next branch */
91 #include <linux/types.h>
94 #endif /* _ASM_X86_PTRACE_ABI_H */