Skip to content

Commit 6c588cf

Browse files
committed
Improve thread CONTEXT defitions + ARM64_CONTEXT
1 parent 8eb3384 commit 6c588cf

File tree

9 files changed

+1864
-1545
lines changed

9 files changed

+1864
-1545
lines changed
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
// Atrget architecture description
2+
3+
#define CONTEXT_I386 0x00010000 // An old PFW error in case ?
4+
#define CONTEXT_AMD64 0x00100000
5+
#define CONTEXT_ARM 0x00200000
6+
#define CONTEXT_ARM64 0x00400000
7+
#define CONTEXT_i386 0x00010000L // this assumes that i386 and
8+
#define CONTEXT_i486 0x00010000L // i486 have identical context records
9+
#define WOW64_CONTEXT_i386 0x00010000 // this assumes that i386 and
10+
#define WOW64_CONTEXT_i486 0x00010000 // i486 have identical context records
11+
12+
// Not perfect, should be explicitly for an architecture
13+
14+
#define CONTEXT_CONTROL 0x00000001L
15+
#define CONTEXT_INTEGER 0x00000002L
16+
#define CONTEXT_SEGMENTS 0x00000004L
17+
#define CONTEXT_FLOATING_POINT 0x00000008L
18+
#define CONTEXT_DEBUG_REGISTERS 0x00000010L
19+
#define CONTEXT_EXTENDED_REGISTERS 0x00000020L
20+
#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS)
21+
#define CONTEXT_ALL (CONTEXT_FULL | CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS | CONTEXT_EXTENDED_REGISTERS)
22+
23+
#define CONTEXT_XSTATE (CONTEXT_I386 | 0x00000040L)
24+
25+
// WOW64
26+
27+
28+
29+
#define WOW64_CONTEXT_CONTROL (WOW64_CONTEXT_i386 | 0x00000001L) // SS:SP, CS:IP, FLAGS, BP
30+
#define WOW64_CONTEXT_INTEGER (WOW64_CONTEXT_i386 | 0x00000002L) // AX, BX, CX, DX, SI, DI
31+
#define WOW64_CONTEXT_SEGMENTS (WOW64_CONTEXT_i386 | 0x00000004L) // DS, ES, FS, GS
32+
#define WOW64_CONTEXT_FLOATING_POINT (WOW64_CONTEXT_i386 | 0x00000008L) // 387 state
33+
#define WOW64_CONTEXT_DEBUG_REGISTERS (WOW64_CONTEXT_i386 | 0x00000010L) // DB 0-3,6,7
34+
#define WOW64_CONTEXT_EXTENDED_REGISTERS (WOW64_CONTEXT_i386 | 0x00000020L) // cpu specific extensions
35+
36+
#define WOW64_CONTEXT_FULL (WOW64_CONTEXT_CONTROL | WOW64_CONTEXT_INTEGER | WOW64_CONTEXT_SEGMENTS)
37+
38+
#define WOW64_CONTEXT_ALL (WOW64_CONTEXT_CONTROL | WOW64_CONTEXT_INTEGER | WOW64_CONTEXT_SEGMENTS | \
39+
WOW64_CONTEXT_FLOATING_POINT | WOW64_CONTEXT_DEBUG_REGISTERS | \
40+
WOW64_CONTEXT_EXTENDED_REGISTERS)
41+
42+
#define WOW64_CONTEXT_XSTATE (WOW64_CONTEXT_i386 | 0x00000040L)
43+
44+
#define WOW64_CONTEXT_EXCEPTION_ACTIVE 0x08000000
45+
#define WOW64_CONTEXT_SERVICE_ACTIVE 0x10000000
46+
#define WOW64_CONTEXT_EXCEPTION_REQUEST 0x40000000
47+
#define WOW64_CONTEXT_EXCEPTION_REPORTING 0x80000000
48+
49+
// ARM64
50+
51+
#define CONTEXT_ARM64_CONTROL (CONTEXT_ARM64 | 0x1L)
52+
#define CONTEXT_ARM64_INTEGER (CONTEXT_ARM64 | 0x2L)
53+
#define CONTEXT_ARM64_FLOATING_POINT (CONTEXT_ARM64 | 0x4L)
54+
#define CONTEXT_ARM64_DEBUG_REGISTERS (CONTEXT_ARM64 | 0x8L)
55+
#define CONTEXT_ARM64_X18 (CONTEXT_ARM64 | 0x10L)
56+
57+
#define CONTEXT_UNWOUND_TO_CALL 0x20000000
58+
#define CONTEXT_RET_TO_GUEST 0x04000000
59+
60+
#define ARM64_MAX_BREAKPOINTS 8
61+
#define ARM64_MAX_WATCHPOINTS 2

ctypes_generation/definitions/defines/windef.txt

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -130,22 +130,6 @@
130130
#define TH32CS_SNAPALL (TH32CS_SNAPHEAPLIST | TH32CS_SNAPPROCESS | TH32CS_SNAPTHREAD | TH32CS_SNAPMODULE)
131131
#define TH32CS_INHERIT 0x80000000
132132

133-
#define CONTEXT_I386 0x00010000
134-
#define CONTEXT_AMD64 0x00100000
135-
#define CONTEXT_ARM 0x00200000
136-
#define CONTEXT_ARM64 0x00400000
137-
138-
#define CONTEXT_CONTROL 0x00000001L
139-
#define CONTEXT_INTEGER 0x00000002L
140-
#define CONTEXT_SEGMENTS 0x00000004L
141-
#define CONTEXT_FLOATING_POINT 0x00000008L
142-
#define CONTEXT_DEBUG_REGISTERS 0x00000010L
143-
#define CONTEXT_EXTENDED_REGISTERS 0x00000020L
144-
#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS)
145-
#define CONTEXT_ALL (CONTEXT_FULL | CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS | CONTEXT_EXTENDED_REGISTERS)
146-
147-
#define CONTEXT_XSTATE (CONTEXT_I386 | 0x00000040L)
148-
149133

150134
#define PAGE_NOACCESS 0x01
151135
#define PAGE_READONLY 0x02

0 commit comments

Comments
 (0)