2011-01-07 Michael Snyder <msnyder@vmware.com>
[deliverable/binutils-gdb.git] / gdb / amd64-linux-tdep.h
CommitLineData
8695c747
DJ
1/* Target-dependent code for GNU/Linux AMD64.
2
7b6bb8da
JB
3 Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
4 Free Software Foundation, Inc.
8695c747
DJ
5
6 This file is part of GDB.
7
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
a9762ec7 10 the Free Software Foundation; either version 3 of the License, or
8695c747
DJ
11 (at your option) any later version.
12
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
a9762ec7 19 along with this program. If not, see <http://www.gnu.org/licenses/>. */
8695c747
DJ
20
21#ifndef AMD64_LINUX_TDEP_H
22#define AMD64_LINUX_TDEP_H
23
24/* Like for i386 GNU/Linux, there is an extra "register"
25 used to control syscall restarting. */
26
27/* Register number for the "orig_rax" register. If this register
28 contains a value >= 0 it is interpreted as the system call number
29 that the kernel is supposed to restart. */
a055a187 30#define AMD64_LINUX_ORIG_RAX_REGNUM (AMD64_YMM15H_REGNUM + 1)
8695c747
DJ
31
32/* Total number of registers for GNU/Linux. */
33#define AMD64_LINUX_NUM_REGS (AMD64_LINUX_ORIG_RAX_REGNUM + 1)
34
90884b2b
L
35/* Linux target description. */
36extern struct target_desc *tdesc_amd64_linux;
a055a187 37extern struct target_desc *tdesc_amd64_avx_linux;
90884b2b 38
13b6d1d4
MS
39/* Enum that defines the syscall identifiers for amd64 linux.
40 Used for process record/replay, these will be translated into
41 a gdb-canonical set of syscall ids in linux-record.c. */
42
43enum amd64_syscall {
44 amd64_sys_read = 0,
45 amd64_sys_write = 1,
46 amd64_sys_open = 2,
47 amd64_sys_close = 3,
48 amd64_sys_newstat = 4,
49 amd64_sys_newfstat = 5,
50 amd64_sys_newlstat = 6,
51 amd64_sys_poll = 7,
52 amd64_sys_lseek = 8,
53 amd64_sys_mmap = 9,
54 amd64_sys_mprotect = 10,
55 amd64_sys_munmap = 11,
56 amd64_sys_brk = 12,
57 amd64_sys_rt_sigaction = 13,
58 amd64_sys_rt_sigprocmask = 14,
59 amd64_sys_rt_sigreturn = 15,
60 amd64_sys_ioctl = 16,
61 amd64_sys_pread64 = 17,
62 amd64_sys_pwrite64 = 18,
63 amd64_sys_readv = 19,
64 amd64_sys_writev = 20,
65 amd64_sys_access = 21,
66 amd64_sys_pipe = 22,
67 amd64_sys_select = 23,
68 amd64_sys_sched_yield = 24,
69 amd64_sys_mremap = 25,
70 amd64_sys_msync = 26,
71 amd64_sys_mincore = 27,
72 amd64_sys_madvise = 28,
73 amd64_sys_shmget = 29,
74 amd64_sys_shmat = 30,
75 amd64_sys_shmctl = 31,
76 amd64_sys_dup = 32,
77 amd64_sys_dup2 = 33,
78 amd64_sys_pause = 34,
79 amd64_sys_nanosleep = 35,
80 amd64_sys_getitimer = 36,
81 amd64_sys_alarm = 37,
82 amd64_sys_setitimer = 38,
83 amd64_sys_getpid = 39,
84 amd64_sys_sendfile64 = 40,
85 amd64_sys_socket = 41,
86 amd64_sys_connect = 42,
87 amd64_sys_accept = 43,
88 amd64_sys_sendto = 44,
89 amd64_sys_recvfrom = 45,
90 amd64_sys_sendmsg = 46,
91 amd64_sys_recvmsg = 47,
92 amd64_sys_shutdown = 48,
93 amd64_sys_bind = 49,
94 amd64_sys_listen = 50,
95 amd64_sys_getsockname = 51,
96 amd64_sys_getpeername = 52,
97 amd64_sys_socketpair = 53,
98 amd64_sys_setsockopt = 54,
99 amd64_sys_getsockopt = 55,
100 amd64_sys_clone = 56,
101 amd64_sys_fork = 57,
102 amd64_sys_vfork = 58,
103 amd64_sys_execve = 59,
104 amd64_sys_exit = 60,
105 amd64_sys_wait4 = 61,
106 amd64_sys_kill = 62,
107 amd64_sys_uname = 63,
108 amd64_sys_semget = 64,
109 amd64_sys_semop = 65,
110 amd64_sys_semctl = 66,
111 amd64_sys_shmdt = 67,
112 amd64_sys_msgget = 68,
113 amd64_sys_msgsnd = 69,
114 amd64_sys_msgrcv = 70,
115 amd64_sys_msgctl = 71,
116 amd64_sys_fcntl = 72,
117 amd64_sys_flock = 73,
118 amd64_sys_fsync = 74,
119 amd64_sys_fdatasync = 75,
120 amd64_sys_truncate = 76,
121 amd64_sys_ftruncate = 77,
122 amd64_sys_getdents = 78,
123 amd64_sys_getcwd = 79,
124 amd64_sys_chdir = 80,
125 amd64_sys_fchdir = 81,
126 amd64_sys_rename = 82,
127 amd64_sys_mkdir = 83,
128 amd64_sys_rmdir = 84,
129 amd64_sys_creat = 85,
130 amd64_sys_link = 86,
131 amd64_sys_unlink = 87,
132 amd64_sys_symlink = 88,
133 amd64_sys_readlink = 89,
134 amd64_sys_chmod = 90,
135 amd64_sys_fchmod = 91,
136 amd64_sys_chown = 92,
137 amd64_sys_fchown = 93,
138 amd64_sys_lchown = 94,
139 amd64_sys_umask = 95,
140 amd64_sys_gettimeofday = 96,
141 amd64_sys_getrlimit = 97,
142 amd64_sys_getrusage = 98,
143 amd64_sys_sysinfo = 99,
144 amd64_sys_times = 100,
145 amd64_sys_ptrace = 101,
146 amd64_sys_getuid = 102,
147 amd64_sys_syslog = 103,
148 amd64_sys_getgid = 104,
149 amd64_sys_setuid = 105,
150 amd64_sys_setgid = 106,
151 amd64_sys_geteuid = 107,
152 amd64_sys_getegid = 108,
153 amd64_sys_setpgid = 109,
154 amd64_sys_getppid = 110,
155 amd64_sys_getpgrp = 111,
156 amd64_sys_setsid = 112,
157 amd64_sys_setreuid = 113,
158 amd64_sys_setregid = 114,
159 amd64_sys_getgroups = 115,
160 amd64_sys_setgroups = 116,
161 amd64_sys_setresuid = 117,
162 amd64_sys_getresuid = 118,
163 amd64_sys_setresgid = 119,
164 amd64_sys_getresgid = 120,
165 amd64_sys_getpgid = 121,
166 amd64_sys_setfsuid = 122,
167 amd64_sys_setfsgid = 123,
168 amd64_sys_getsid = 124,
169 amd64_sys_capget = 125,
170 amd64_sys_capset = 126,
171 amd64_sys_rt_sigpending = 127,
172 amd64_sys_rt_sigtimedwait = 128,
173 amd64_sys_rt_sigqueueinfo = 129,
174 amd64_sys_rt_sigsuspend = 130,
175 amd64_sys_sigaltstack = 131,
176 amd64_sys_utime = 132,
177 amd64_sys_mknod = 133,
178 amd64_sys_personality = 135,
179 amd64_sys_ustat = 136,
180 amd64_sys_statfs = 137,
181 amd64_sys_fstatfs = 138,
182 amd64_sys_sysfs = 139,
183 amd64_sys_getpriority = 140,
184 amd64_sys_setpriority = 141,
185 amd64_sys_sched_setparam = 142,
186 amd64_sys_sched_getparam = 143,
187 amd64_sys_sched_setscheduler = 144,
188 amd64_sys_sched_getscheduler = 145,
189 amd64_sys_sched_get_priority_max = 146,
190 amd64_sys_sched_get_priority_min = 147,
191 amd64_sys_sched_rr_get_interval = 148,
192 amd64_sys_mlock = 149,
193 amd64_sys_munlock = 150,
194 amd64_sys_mlockall = 151,
195 amd64_sys_munlockall = 152,
196 amd64_sys_vhangup = 153,
197 amd64_sys_modify_ldt = 154,
198 amd64_sys_pivot_root = 155,
199 amd64_sys_sysctl = 156,
200 amd64_sys_prctl = 157,
201 amd64_sys_arch_prctl = 158,
202 amd64_sys_adjtimex = 159,
203 amd64_sys_setrlimit = 160,
204 amd64_sys_chroot = 161,
205 amd64_sys_sync = 162,
206 amd64_sys_acct = 163,
207 amd64_sys_settimeofday = 164,
208 amd64_sys_mount = 165,
209 amd64_sys_umount = 166,
210 amd64_sys_swapon = 167,
211 amd64_sys_swapoff = 168,
212 amd64_sys_reboot = 169,
213 amd64_sys_sethostname = 170,
214 amd64_sys_setdomainname = 171,
215 amd64_sys_iopl = 172,
216 amd64_sys_ioperm = 173,
217 amd64_sys_init_module = 175,
218 amd64_sys_delete_module = 176,
219 amd64_sys_quotactl = 179,
220 amd64_sys_nfsservctl = 180,
221 amd64_sys_gettid = 186,
222 amd64_sys_readahead = 187,
223 amd64_sys_setxattr = 188,
224 amd64_sys_lsetxattr = 189,
225 amd64_sys_fsetxattr = 190,
226 amd64_sys_getxattr = 191,
227 amd64_sys_lgetxattr = 192,
228 amd64_sys_fgetxattr = 193,
229 amd64_sys_listxattr = 194,
230 amd64_sys_llistxattr = 195,
231 amd64_sys_flistxattr = 196,
232 amd64_sys_removexattr = 197,
233 amd64_sys_lremovexattr = 198,
234 amd64_sys_fremovexattr = 199,
235 amd64_sys_tkill = 200,
236 amd64_sys_time = 201,
237 amd64_sys_futex = 202,
238 amd64_sys_sched_setaffinity = 203,
239 amd64_sys_sched_getaffinity = 204,
240 amd64_sys_io_setup = 206,
241 amd64_sys_io_destroy = 207,
242 amd64_sys_io_getevents = 208,
243 amd64_sys_io_submit = 209,
244 amd64_sys_io_cancel = 210,
245 amd64_sys_lookup_dcookie = 212,
246 amd64_sys_epoll_create = 213,
247 amd64_sys_remap_file_pages = 216,
248 amd64_sys_getdents64 = 217,
249 amd64_sys_set_tid_address = 218,
250 amd64_sys_restart_syscall = 219,
251 amd64_sys_semtimedop = 220,
252 amd64_sys_fadvise64 = 221,
253 amd64_sys_timer_create = 222,
254 amd64_sys_timer_settime = 223,
255 amd64_sys_timer_gettime = 224,
256 amd64_sys_timer_getoverrun = 225,
257 amd64_sys_timer_delete = 226,
258 amd64_sys_clock_settime = 227,
259 amd64_sys_clock_gettime = 228,
260 amd64_sys_clock_getres = 229,
261 amd64_sys_clock_nanosleep = 230,
262 amd64_sys_exit_group = 231,
263 amd64_sys_epoll_wait = 232,
264 amd64_sys_epoll_ctl = 233,
265 amd64_sys_tgkill = 234,
266 amd64_sys_utimes = 235,
267 amd64_sys_mbind = 237,
268 amd64_sys_set_mempolicy = 238,
269 amd64_sys_get_mempolicy = 239,
270 amd64_sys_mq_open = 240,
271 amd64_sys_mq_unlink = 241,
272 amd64_sys_mq_timedsend = 242,
273 amd64_sys_mq_timedreceive = 243,
274 amd64_sys_mq_notify = 244,
275 amd64_sys_mq_getsetattr = 245,
276 amd64_sys_kexec_load = 246,
277 amd64_sys_waitid = 247,
278 amd64_sys_add_key = 248,
279 amd64_sys_request_key = 249,
280 amd64_sys_keyctl = 250,
281 amd64_sys_ioprio_set = 251,
282 amd64_sys_ioprio_get = 252,
283 amd64_sys_inotify_init = 253,
284 amd64_sys_inotify_add_watch = 254,
285 amd64_sys_inotify_rm_watch = 255,
286 amd64_sys_migrate_pages = 256,
287 amd64_sys_openat = 257,
288 amd64_sys_mkdirat = 258,
289 amd64_sys_mknodat = 259,
290 amd64_sys_fchownat = 260,
291 amd64_sys_futimesat = 261,
292 amd64_sys_newfstatat = 262,
293 amd64_sys_unlinkat = 263,
294 amd64_sys_renameat = 264,
295 amd64_sys_linkat = 265,
296 amd64_sys_symlinkat = 266,
297 amd64_sys_readlinkat = 267,
298 amd64_sys_fchmodat = 268,
299 amd64_sys_faccessat = 269,
300 amd64_sys_pselect6 = 270,
301 amd64_sys_ppoll = 271,
302 amd64_sys_unshare = 272,
303 amd64_sys_set_robust_list = 273,
304 amd64_sys_get_robust_list = 274,
305 amd64_sys_splice = 275,
306 amd64_sys_tee = 276,
307 amd64_sys_sync_file_range = 277,
308 amd64_sys_vmsplice = 278,
309 amd64_sys_move_pages = 279,
310};
311
8695c747 312#endif /* amd64-linux-tdep.h */
This page took 0.273131 seconds and 4 git commands to generate.