1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
/* *INDENT-OFF* */ /* THIS FILE IS GENERATED */
/* A register protocol for GDB, the GNU debugger.
Copyright 2001, 2002 Free Software Foundation, Inc.
This file is part of GDB.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
/* This file was created with the aid of ``regdat.sh'' and ``../../../../contrib/gdb/gdb/regformats/reg-x86-64.dat''. */
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
#include "regdef.h"
#include "regcache.h"
struct reg regs_x86_64[] = {
{ "rax", 0, 64 },
{ "rbx", 64, 64 },
{ "rcx", 128, 64 },
{ "rdx", 192, 64 },
{ "rsi", 256, 64 },
{ "rdi", 320, 64 },
{ "rbp", 384, 64 },
{ "rsp", 448, 64 },
{ "r8", 512, 64 },
{ "r9", 576, 64 },
{ "r10", 640, 64 },
{ "r11", 704, 64 },
{ "r12", 768, 64 },
{ "r13", 832, 64 },
{ "r14", 896, 64 },
{ "r15", 960, 64 },
{ "rip", 1024, 64 },
{ "eflags", 1088, 32 },
{ "cs", 1120, 32 },
{ "ss", 1152, 32 },
{ "ds", 1184, 32 },
{ "es", 1216, 32 },
{ "fs", 1248, 32 },
{ "gs", 1280, 32 },
{ "st0", 1312, 80 },
{ "st1", 1392, 80 },
{ "st2", 1472, 80 },
{ "st3", 1552, 80 },
{ "st4", 1632, 80 },
{ "st5", 1712, 80 },
{ "st6", 1792, 80 },
{ "st7", 1872, 80 },
{ "fctrl", 1952, 32 },
{ "fstat", 1984, 32 },
{ "ftag", 2016, 32 },
{ "fiseg", 2048, 32 },
{ "fioff", 2080, 32 },
{ "foseg", 2112, 32 },
{ "fooff", 2144, 32 },
{ "fop", 2176, 32 },
{ "xmm0", 2208, 128 },
{ "xmm1", 2336, 128 },
{ "xmm2", 2464, 128 },
{ "xmm3", 2592, 128 },
{ "xmm4", 2720, 128 },
{ "xmm5", 2848, 128 },
{ "xmm6", 2976, 128 },
{ "xmm7", 3104, 128 },
{ "xmm8", 3232, 128 },
{ "xmm9", 3360, 128 },
{ "xmm10", 3488, 128 },
{ "xmm11", 3616, 128 },
{ "xmm12", 3744, 128 },
{ "xmm13", 3872, 128 },
{ "xmm14", 4000, 128 },
{ "xmm15", 4128, 128 },
{ "mxcsr", 4256, 32 },
};
const char *expedite_regs_x86_64[] = { "rbp", "rsp", "rip", 0 };
void
init_registers ()
{
set_register_cache (regs_x86_64,
sizeof (regs_x86_64) / sizeof (regs_x86_64[0]));
gdbserver_expedite_regs = expedite_regs_x86_64;
}
|