Subversion Repositories Kolibri OS

Rev

Rev 5270 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
6082 serge 1
#ifndef _UAPI_ASM_X86_PTRACE_H
2
#define _UAPI_ASM_X86_PTRACE_H
5270 serge 3
 
6082 serge 4
#include 	/* For __user */
5
#include 
6
#include 
5270 serge 7
 
6082 serge 8
 
5270 serge 9
#ifndef __ASSEMBLY__
6082 serge 10
 
5270 serge 11
#ifdef __i386__
6082 serge 12
/* this struct defines the way the registers are stored on the
13
   stack during a system call. */
5270 serge 14
 
6082 serge 15
#ifndef __KERNEL__
16
 
5270 serge 17
struct pt_regs {
6082 serge 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;
5270 serge 35
};
36
 
6082 serge 37
#endif /* __KERNEL__ */
38
 
5270 serge 39
#else /* __i386__ */
40
 
6082 serge 41
#ifndef __KERNEL__
42
 
5270 serge 43
struct pt_regs {
6082 serge 44
/*
45
 * C ABI says these regs are callee-preserved. They aren't saved on kernel entry
46
 * unless syscall needs a complete, fully filled "struct pt_regs".
47
 */
5270 serge 48
	unsigned long r15;
49
	unsigned long r14;
50
	unsigned long r13;
51
	unsigned long r12;
6082 serge 52
	unsigned long rbp;
53
	unsigned long rbx;
54
/* These regs are callee-clobbered. Always saved on kernel entry. */
5270 serge 55
	unsigned long r11;
56
	unsigned long r10;
57
	unsigned long r9;
58
	unsigned long r8;
6082 serge 59
	unsigned long rax;
60
	unsigned long rcx;
61
	unsigned long rdx;
62
	unsigned long rsi;
63
	unsigned long rdi;
64
/*
65
 * On syscall entry, this is syscall#. On CPU exception, this is error code.
66
 * On hw interrupt, it's IRQ number:
67
 */
68
	unsigned long orig_rax;
69
/* Return frame for iretq */
70
	unsigned long rip;
5270 serge 71
	unsigned long cs;
6082 serge 72
	unsigned long eflags;
73
	unsigned long rsp;
5270 serge 74
	unsigned long ss;
75
/* top of stack page */
76
};
77
 
6082 serge 78
#endif /* __KERNEL__ */
5270 serge 79
#endif /* !__i386__ */
80
 
81
 
82
 
6082 serge 83
#endif /* !__ASSEMBLY__ */
5270 serge 84
 
6082 serge 85
#endif /* _UAPI_ASM_X86_PTRACE_H */