OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [include/] [asm-x86_64/] [ptrace.h] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
#ifndef _X86_64_PTRACE_H
2
#define _X86_64_PTRACE_H
3
 
4
#if defined(__ASSEMBLY__) || defined(__FRAME_OFFSETS) 
5
#define R15 0
6
#define R14 8
7
#define R13 16
8
#define R12 24
9
#define RBP 32
10
#define RBX 40
11
/* arguments: interrupts/non tracing syscalls only save upto here*/
12
#define R11 48
13
#define R10 56  
14
#define R9 64
15
#define R8 72
16
#define RAX 80
17
#define RCX 88
18
#define RDX 96
19
#define RSI 104
20
#define RDI 112
21
#define ORIG_RAX 120       /* = ERROR */ 
22
/* end of arguments */
23
/* cpu exception frame or undefined in case of fast syscall. */
24
#define RIP 128
25
#define CS 136
26
#define EFLAGS 144
27
#define RSP 152
28
#define SS 160
29
#define ARGOFFSET R11
30
#endif /* __ASSEMBLY__ */
31
 
32
/* top of stack page */
33
#define FRAME_SIZE 168
34
 
35
#define PTRACE_SETOPTIONS         21
36
 
37
/* options set using PTRACE_SETOPTIONS */
38
#define PTRACE_O_TRACESYSGOOD     0x00000001
39
 
40
#ifndef __ASSEMBLY__ 
41
 
42
struct pt_regs {
43
        unsigned long r15;
44
        unsigned long r14;
45
        unsigned long r13;
46
        unsigned long r12;
47
        unsigned long rbp;
48
        unsigned long rbx;
49
/* arguments: non interrupts/non tracing syscalls only save upto here*/
50
        unsigned long r11;
51
        unsigned long r10;
52
        unsigned long r9;
53
        unsigned long r8;
54
        unsigned long rax;
55
        unsigned long rcx;
56
        unsigned long rdx;
57
        unsigned long rsi;
58
        unsigned long rdi;
59
        unsigned long orig_rax;
60
/* end of arguments */
61
/* cpu exception frame or undefined */
62
        unsigned long rip;
63
        unsigned long cs;
64
        unsigned long eflags;
65
        unsigned long rsp;
66
        unsigned long ss;
67
/* top of stack page */
68
};
69
 
70
#endif
71
 
72
/* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */
73
#define PTRACE_GETREGS            12
74
#define PTRACE_SETREGS            13
75
#define PTRACE_GETFPREGS          14
76
#define PTRACE_SETFPREGS          15
77
#define PTRACE_GETFPXREGS         18
78
#define PTRACE_SETFPXREGS         19
79
 
80
#if defined(__KERNEL__) && !defined(__ASSEMBLY__) 
81
#define user_mode(regs) (!!((regs)->cs & 3))
82
#define instruction_pointer(regs) ((regs)->rip)
83
extern void show_regs(struct pt_regs *);
84
 
85
enum {
86
        EF_CF   = 0x00000001,
87
        EF_PF   = 0x00000004,
88
        EF_AF   = 0x00000010,
89
        EF_ZF   = 0x00000040,
90
        EF_SF   = 0x00000080,
91
        EF_TF   = 0x00000100,
92
        EF_IE   = 0x00000200,
93
        EF_DF   = 0x00000400,
94
        EF_OF   = 0x00000800,
95
        EF_IOPL = 0x00003000,
96
        EF_IOPL_RING0 = 0x00000000,
97
        EF_IOPL_RING1 = 0x00001000,
98
        EF_IOPL_RING2 = 0x00002000,
99
        EF_NT   = 0x00004000,   /* nested task */
100
        EF_RF   = 0x00010000,   /* resume */
101
        EF_VM   = 0x00020000,   /* virtual mode */
102
        EF_AC   = 0x00040000,   /* alignment */
103
        EF_VIF  = 0x00080000,   /* virtual interrupt */
104
        EF_VIP  = 0x00100000,   /* virtual interrupt pending */
105
        EF_ID   = 0x00200000,   /* id */
106
};
107
 
108
#endif
109
 
110
#endif

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.