linux/arch/x86/include/uapi/asm/ptrace.h
<<
>>
Prefs
   1#ifndef _UAPI_ASM_X86_PTRACE_H
   2#define _UAPI_ASM_X86_PTRACE_H
   3
   4#include <linux/compiler.h>     /* For __user */
   5#include <asm/ptrace-abi.h>
   6#include <asm/processor-flags.h>
   7
   8
   9#ifndef __ASSEMBLY__
  10
  11#ifdef __i386__
  12/* this struct defines the way the registers are stored on the
  13   stack during a system call. */
  14
  15#ifndef __KERNEL__
  16
  17struct pt_regs {
  18        long ebx;
  19        long ecx;
  20        long edx;
  21        long esi;
  22        long edi;
  23        long ebp;
  24        long eax;
  25        int  xds;
  26        int  xes;
  27        int  xfs;
  28        int  xgs;
  29        long orig_eax;
  30        long eip;
  31        int  xcs;
  32        long eflags;
  33        long esp;
  34        int  xss;
  35};
  36
  37#endif /* __KERNEL__ */
  38
  39#else /* __i386__ */
  40
  41#ifndef __KERNEL__
  42
  43struct pt_regs {
  44        unsigned long r15;
  45        unsigned long r14;
  46        unsigned long r13;
  47        unsigned long r12;
  48        unsigned long rbp;
  49        unsigned long rbx;
  50/* arguments: non interrupts/non tracing syscalls only save up to here*/
  51        unsigned long r11;
  52        unsigned long r10;
  53        unsigned long r9;
  54        unsigned long r8;
  55        unsigned long rax;
  56        unsigned long rcx;
  57        unsigned long rdx;
  58        unsigned long rsi;
  59        unsigned long rdi;
  60        unsigned long orig_rax;
  61/* end of arguments */
  62/* cpu exception frame or undefined */
  63        unsigned long rip;
  64        unsigned long cs;
  65        unsigned long eflags;
  66        unsigned long rsp;
  67        unsigned long ss;
  68/* top of stack page */
  69};
  70
  71#endif /* __KERNEL__ */
  72#endif /* !__i386__ */
  73
  74
  75
  76#endif /* !__ASSEMBLY__ */
  77
  78#endif /* _UAPI_ASM_X86_PTRACE_H */
  79