Release 941122
[wine/hacks.git] / debugger / regpos.h
blob01d2e00b6aff7d8cf299305d8547237d387ece78
2 #ifdef linux
3 /* Register numbers */
4 #define RN_GS 0
5 #define RN_FS 1
6 #define RN_ES 2
7 #define RN_DS 3
8 #define RN_EDI 4
9 #define RN_ESI 5
10 #define RN_EBP 6
11 #define RN_ESP 7
12 #define RN_EBX 8
13 #define RN_EDX 9
14 #define RN_ECX 10
15 #define RN_EAX 11
16 #define RN_TRAPNO 12
17 #define RN_ERR 13
18 #define RN_EIP 14
19 #define RN_CS 15
20 #define RN_EFLAGS 16
21 #define RN_ESP_AT_SIGNAL 17
22 #define RN_SS 18
23 #define RN_I387 19
24 #define RN_OLDMASK 20
25 #define RN_CR2 21
26 #endif
28 #if defined(__NetBSD__) || defined(__FreeBSD__)
29 #define RN_OLDMASK 1
30 /* Register numbers */
31 #define RN_ESP 2
32 #define RN_EBP 3
33 #define RN_ESP_AT_SIGNAL 4
34 #define RN_EIP 5
35 #define RN_EFLAGS 6
36 #define RN_ES 7
37 #define RN_DS 8
38 #define RN_CS 9
39 #define RN_SS 10
40 #define RN_EDI 11
41 #define RN_ESI 12
42 #define RN_EBX 13
43 #define RN_EDX 14
44 #define RN_ECX 15
45 #define RN_EAX 16
46 /* NetBSD doesn't context switch gs or fs */
47 #define SC_GS 0x27
48 #define SC_FS 0x27
49 #endif
51 #ifdef linux
52 #define SC_GS regval[RN_GS]
53 #define SC_FS regval[RN_FS]
54 #define I387 regval[RN_I387]
55 #define CR2 regval[RN_CR2]
56 #endif
57 #define SC_ES regval[RN_ES]
58 #define SC_DS regval[RN_DS]
59 #define SC_EDI(dbg_mask) (regval[RN_EDI] & dbg_mask)
60 #define SC_ESI(dbg_mask) (regval[RN_ESI] & dbg_mask)
61 #define SC_EBP(dbg_mask) (regval[RN_EBP] & dbg_mask)
62 #define SC_ESP(dbg_mask) (regval[RN_ESP] & dbg_mask)
63 #define SC_EBX(dbg_mask) (regval[RN_EBX] & dbg_mask)
64 #define SC_EDX(dbg_mask) (regval[RN_EDX] & dbg_mask)
65 #define SC_ECX(dbg_mask) (regval[RN_ECX] & dbg_mask)
66 #define SC_EAX(dbg_mask) (regval[RN_EAX] & dbg_mask)
67 #define SC_TRAPNO regval[RN_TRAPNO]
68 #define SC_ERR regval[RN_ERR]
69 #define SC_EIP(dbg_mask) (regval[RN_EIP] & dbg_mask)
70 #define SC_CS regval[RN_CS]
71 #define SC_EFLAGS regval[RN_EFLAGS]
72 #define ESP_AT_SIGNAL regval[RN_ESP_AT_SIGNAL]
73 #define SC_SS regval[RN_SS]
74 #define OLDMASK regval[RN_OLDMASK]