/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ #ifndef _UAPI_ASM_X86_PTRACE_H #define _UAPI_ASM_X86_PTRACE_H #include <linux/compiler.h> /* For __user */ #include <asm/ptrace-abi.h> #include <asm/processor-flags.h> #ifndef __ASSEMBLY__ #ifdef __i386__ /* this struct defines the way the registers are stored on the stack during a system call. */ #ifndef __KERNEL__ struct pt_regs { long ebx; long ecx; long edx; long esi; long edi; long ebp; long eax; int xds; int xes; int xfs; int xgs; long orig_eax; long eip; int xcs; long eflags; long esp; int xss; }; #endif /* __KERNEL__ */ #else /* __i386__ */ #ifndef __KERNEL__ struct pt_regs { /* * C ABI says these regs are callee-preserved. They aren't saved on kernel entry * unless syscall needs a complete, fully filled "struct pt_regs". */ unsigned long r15; unsigned long r14; unsigned long r13; unsigned long r12; unsigned long rbp; unsigned long rbx; /* These regs are callee-clobbered. Always saved on kernel entry. */ unsigned long r11; unsigned long r10; unsigned long r9; unsigned long r8; unsigned long rax; unsigned long rcx; unsigned long rdx; unsigned long rsi; unsigned long rdi; /* * On syscall entry, this is syscall#. On CPU exception, this is error code. * On hw interrupt, it's IRQ number: */ unsigned long orig_rax; /* Return frame for iretq */ unsigned long rip; unsigned long cs; unsigned long eflags; unsigned long rsp; unsigned long ss; /* top of stack page */ }; #endif /* __KERNEL__ */ #endif /* !__i386__ */ #endif /* !__ASSEMBLY__ */ #endif /* _UAPI_ASM_X86_PTRACE_H */Overall Contributors
Person | Tokens | Prop | Commits | CommitProp |
David Howells | 193 | 97.47% | 1 | 33.33% |
Denys Vlasenko | 4 | 2.02% | 1 | 33.33% |
Greg Kroah-Hartman | 1 | 0.51% | 1 | 33.33% |
Total | 198 | 100.00% | 3 | 100.00% |