Home | History | Annotate | Download | only in asm
      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 
     17 struct 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 
     43 struct 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