File: /Users/paulross/dev/linux/linux-3.13/arch/x86/include/uapi/asm/ptrace-abi.h

Green shading in the line number column means the source is part of the translation unit, red means it is conditionally excluded. Highlighted line numbers link to the translation unit page. Highlighted macros link to the macro page.

       1: #ifndef _ASM_X86_PTRACE_ABI_H
       2: #define _ASM_X86_PTRACE_ABI_H
       3: 
       4: #ifdef __i386__
       5: 
       6: #define EBX 0
       7: #define ECX 1
       8: #define EDX 2
       9: #define ESI 3
      10: #define EDI 4
      11: #define EBP 5
      12: #define EAX 6
      13: #define DS 7
      14: #define ES 8
      15: #define FS 9
      16: #define GS 10
      17: #define ORIG_EAX 11
      18: #define EIP 12
      19: #define CS  13
      20: #define EFL 14
      21: #define UESP 15
      22: #define SS   16
      23: #define FRAME_SIZE 17
      24: 
      25: #else /* __i386__ */
      26: 
      27: #if defined(__ASSEMBLY__) || defined(__FRAME_OFFSETS)
      28: #define R15 0
      29: #define R14 8
      30: #define R13 16
      31: #define R12 24
      32: #define RBP 32
      33: #define RBX 40
      34: /* arguments: interrupts/non tracing syscalls only save up to here*/
      35: #define R11 48
      36: #define R10 56
      37: #define R9 64
      38: #define R8 72
      39: #define RAX 80
      40: #define RCX 88
      41: #define RDX 96
      42: #define RSI 104
      43: #define RDI 112
      44: #define ORIG_RAX 120       /* = ERROR */
      45: /* end of arguments */
      46: /* cpu exception frame or undefined in case of fast syscall. */
      47: #define RIP 128
      48: #define CS 136
      49: #define EFLAGS 144
      50: #define RSP 152
      51: #define SS 160
      52: #define ARGOFFSET R11
      53: #endif /* __ASSEMBLY__ */
      54: 
      55: /* top of stack page */
      56: #define FRAME_SIZE 168
      57: 
      58: #endif /* !__i386__ */
      59: 
      60: /* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */
      61: #define PTRACE_GETREGS            12
      62: #define PTRACE_SETREGS            13
      63: #define PTRACE_GETFPREGS          14
      64: #define PTRACE_SETFPREGS          15
      65: #define PTRACE_GETFPXREGS         18
      66: #define PTRACE_SETFPXREGS         19
      67: 
      68: #define PTRACE_OLDSETOPTIONS      21
      69: 
      70: /* only useful for access 32bit programs / kernels */
      71: #define PTRACE_GET_THREAD_AREA    25
      72: #define PTRACE_SET_THREAD_AREA    26
      73: 
      74: #ifdef __x86_64__
      75: # define PTRACE_ARCH_PRCTL      30
      76: #endif
      77: 
      78: #define PTRACE_SYSEMU          31
      79: #define PTRACE_SYSEMU_SINGLESTEP  32
      80: 
      81: #define PTRACE_SINGLEBLOCK    33    /* resume execution until next branch */
      82: 
      83: #ifndef __ASSEMBLY__
      84: #include <linux/types.h>
      85: #endif
      86: 
      87: #endif /* _ASM_X86_PTRACE_ABI_H */
      88: