Stackdb
Stackdb is a stackable, multi-target and -level source debugger and memory forensics library.
Main Page
Related Pages
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
include
arch_x86.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2014 The University of Utah
3
*
4
* This program is free software; you can redistribute it and/or
5
* modify it under the terms of the GNU General Public License as
6
* published by the Free Software Foundation; either version 2 of
7
* the License, or (at your option) any later version.
8
*
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
13
*
14
* You should have received a copy of the GNU General Public License
15
* along with this program; if not, write to the Free Software
16
* Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
17
*/
18
19
#ifndef __ARCH_X86_H__
20
#define __ARCH_X86_H__
21
22
#include "
arch.h
"
23
24
extern
struct
arch
arch_x86
;
25
26
#define X86_EF_TF (0x00000100)
27
#define X86_EF_IF (0x00000200)
28
#define X86_EF_RF (0x00010000)
29
30
/*
31
* This is the SVR4 DWARF map from gdb/gdb/i386-tdep.c .
32
*/
33
34
#define ARCH_X86_REG_COUNT 60
35
36
/* 32-bit GP regs. */
37
#define REG_X86_EAX 0
38
#define REG_X86_ECX 1
39
#define REG_X86_EDX 2
40
#define REG_X86_EBX 3
41
#define REG_X86_ESP 4
42
#define REG_X86_EBP 5
43
#define REG_X86_ESI 6
44
#define REG_X86_EDI 7
45
#define REG_X86_EIP 8
46
#define REG_X86_EFLAGS 9
47
48
/* FP regs. */
49
#define REG_X86_ST0 11
50
#define REG_X86_ST1 12
51
#define REG_X86_ST2 13
52
#define REG_X86_ST3 14
53
#define REG_X86_ST4 15
54
#define REG_X86_ST5 16
55
#define REG_X86_ST6 17
56
#define REG_X86_ST7 18
57
58
#define REG_X86_XMM0 21
59
#define REG_X86_XMM1 22
60
#define REG_X86_XMM2 23
61
#define REG_X86_XMM3 24
62
#define REG_X86_XMM4 25
63
#define REG_X86_XMM5 26
64
#define REG_X86_XMM6 27
65
#define REG_X86_XMM7 28
66
67
#define REG_X86_MM0 29
68
#define REG_X86_MM1 30
69
#define REG_X86_MM2 31
70
#define REG_X86_MM3 32
71
#define REG_X86_MM4 33
72
#define REG_X86_MM5 34
73
#define REG_X86_MM6 35
74
#define REG_X86_MM7 36
75
76
#define REG_X86_X87CW 37
77
#define REG_X86_FCTRL REG_X86_X87CW
78
#define REG_X86_X87SW 38
79
#define REG_X86_FSTAT REG_X86_X87SW
80
#define REG_X86_MXCSR 39
81
82
/* These are technically 32-bit, but who cares. */
83
#define REG_X86_ES 40
84
#define REG_X86_CS 41
85
#define REG_X86_SS 42
86
#define REG_X86_DS 43
87
#define REG_X86_FS 44
88
#define REG_X86_GS 45
89
90
/*
91
* DWARF cannot address the rest of these.
92
*/
93
94
/*
95
* These registers are not "official" registers DWARF debuggers should
96
* ask for, but we want to map them somewhere!
97
*/
98
99
#define REG_X86_CR0 46
100
#define REG_X86_CR1 47
101
#define REG_X86_CR2 48
102
#define REG_X86_CR3 49
103
#define REG_X86_CR4 50
104
105
#define REG_X86_DR0 51
106
#define REG_X86_DR1 52
107
#define REG_X86_DR2 53
108
#define REG_X86_DR3 54
109
#define REG_X86_DR4 55
110
111
#define REG_X86_DR6 57
112
#define REG_X86_DR7 58
113
114
#define REG_X86_MSR_EFER 59
115
116
#endif
/* __ARCH_X86_H__ */
arch_x86
struct arch arch_x86
Definition:
arch_x86.c:79
arch
Definition:
arch.h:116
arch.h
Generated on Thu Jul 27 2017 20:47:30 for Stackdb by
1.8.8