ReactOS 0.4.17-dev-650-gd0e71de
ketypes.h
Go to the documentation of this file.
1/*++ NDK Version: 0098
2
3Copyright (c) Alex Ionescu. All rights reserved.
4
5Header Name:
6
7 ketypes.h (AMD64)
8
9Abstract:
10
11 amd64 Type definitions for the Kernel services.
12
13Author:
14
15 Alex Ionescu (alexi@tinykrnl.org) - Updated - 27-Feb-2006
16 Timo Kreuzer (timo.kreuzer@reactos.org) - Updated - 14-Aug-2008
17
18--*/
19
20#ifndef _AMD64_KETYPES_H
21#define _AMD64_KETYPES_H
22
23//
24// Dependencies
25//
26
27//
28// Kernel Feature Bits
29// See https://www.geoffchappell.com/studies/windows/km/ntoskrnl/structs/kprcb/featurebits.htm?tx=61&ts=0,1400
30//
31#define KF_SMEP 0x00000001 // Win 6.2
32#define KF_RDTSC 0x00000002 // From ks386.inc, ksamd64.inc
33#define KF_CR4 0x00000004 // From ks386.inc, ksamd64.inc
34#define KF_CMOV 0x00000008
35#define KF_GLOBAL_PAGE 0x00000010 // From ks386.inc, ksamd64.inc
36#define KF_LARGE_PAGE 0x00000020 // From ks386.inc, ksamd64.inc
37#define KF_MTRR 0x00000040
38#define KF_CMPXCHG8B 0x00000080 // From ks386.inc, ksamd64.inc
39#define KF_MMX 0x00000100
40#define KF_DTS 0x00000200 // Win 5.2-6.2
41#define KF_PAT 0x00000400
42#define KF_FXSR 0x00000800
43#define KF_FAST_SYSCALL 0x00001000 // From ks386.inc, ksamd64.inc
44#define KF_XMMI 0x00002000 // SSE
45#define KF_3DNOW 0x00004000
46#define KF_AMDK6MTRR 0x00008000 // Win 5.0-6.1
47#define KF_XSAVEOPT 0x00008000 // From KF_XSAVEOPT_BIT
48#define KF_XMMI64 0x00010000 // SSE2
49#define KF_BRANCH 0x00020000 // From ksamd64.inc, Win 6.1-6.2
50#define KF_00040000 0x00040000 // Unclear
51#define KF_SSE3 0x00080000 // Win 6.0+
52#define KF_CMPXCHG16B 0x00100000 // Win 6.0-6.2
53#define KF_AUTHENTICAMD 0x00200000 // Win 6.1+
54#define KF_ACNT2 0x00400000 // Win 6.1+
55#define KF_XSTATE 0x00800000 // From ksamd64.inc, Win 6.1+
56#define KF_GENUINE_INTEL 0x01000000 // Win 6.1+
57#define KF_02000000 0x02000000 // Unclear
58#define KF_SLAT 0x04000000 // Win 6.2+, Intel: EPT supported
59#define KF_VIRT_FIRMWARE_ENABLED 0x08000000 // Win 6.2+
60#define KF_RDWRFSGSBASE 0x10000000 // From ksamd64.inc KF_RDWRFSGSBASE_BIT (0x1C)
61#define KF_NX_BIT 0x20000000
62#define KF_NX_DISABLED 0x40000000
63#define KF_NX_ENABLED 0x80000000
64#define KF_RDRAND 0x0000000100000000ULL // Win 10.0+
65#define KF_SMAP 0x0000000200000000ULL // From ksamd64.inc
66#define KF_RDTSCP 0x0000000400000000ULL // Win 10.0+
67#define KF_HUGEPAGE 0x0000002000000000ULL // Win 10.0 1607+
68#define KF_XSAVES 0x0000004000000000ULL // From ksamd64.inc KF_XSAVES_BIT (0x26)
69#define KF_FPU_LEAKAGE 0x0000020000000000ULL // From ksamd64.inc KF_FPU_LEAKAGE_BIT (0x29)
70#define KF_CAT 0x0000100000000000ULL // From ksamd64.inc KF_CAT_BIT (0x02C)
71#define KF_CET_SS 0x0000400000000000ULL // From ksamd64.inc
72#define KF_SSSE3 0x0000800000000000ULL
73#define KF_SSE4_1 0x0001000000000000ULL
74#define KF_SSE4_2 0x0002000000000000ULL
75
76// ReactOS specific
77#define KF_AVX 0x1000000000000000ULL
78#define KF_AVX2 0x2000000000000000ULL
79#define KF_AVX512F 0x4000000000000000ULL
80
81#define KF_XSAVEOPT_BIT 15 // From ksamd64.inc (0x0F -> 0x8000)
82#define KF_XSTATE_BIT 23 // From ksamd64.inc (0x17 -> 0x800000)
83#define KF_RDWRFSGSBASE_BIT 28 // From ksamd64.inc (0x1C -> 0x10000000)
84#define KF_XSAVES_BIT 38 // From ksamd64.inc (0x26 -> 0x4000000000)
85#define KF_FPU_LEAKAGE_BIT 41 // From ksamd64.inc (0x29 -> 0x20000000000)
86#define KF_CAT_BIT 44 // From ksamd64.inc (0x2C -> 0x100000000000)
87
88//
89// Double fault stack size
90//
91#define DOUBLE_FAULT_STACK_SIZE 0x2000
92
93//
94// CPU Vendors
95//
96typedef enum
97{
103
104//
105// Machine Types
106//
107#define MACHINE_TYPE_ISA 0x0000
108#define MACHINE_TYPE_EISA 0x0001
109#define MACHINE_TYPE_MCA 0x0002
110
111//
112// X86 80386 Segment Types
113//
114#define I386_TASK_GATE 0x5
115#define I386_TSS 0x9
116#define I386_ACTIVE_TSS 0xB
117#define I386_CALL_GATE 0xC
118#define I386_INTERRUPT_GATE 0xE
119#define I386_TRAP_GATE 0xF
120
121//
122// Selector Names
123//
124#define RPL_MASK 0x0003
125#define MODE_MASK 0x0001
126#define KGDT64_NULL 0x0000
127#define KGDT64_R0_CODE 0x0010
128#define KGDT64_R0_DATA 0x0018
129#define KGDT64_R3_CMCODE 0x0020
130#define KGDT64_R3_DATA 0x0028
131#define KGDT64_R3_CODE 0x0030
132#define KGDT64_SYS_TSS 0x0040
133#define KGDT64_R3_CMTEB 0x0050
134#define KGDT64_R0_LDT 0x0060
135
136//
137// CR0
138//
139#define CR0_PE 0x00000001
140#define CR0_MP 0x00000002
141#define CR0_EM 0x00000004
142#define CR0_TS 0x00000008
143#define CR0_ET 0x00000010
144#define CR0_NE 0x00000020
145#define CR0_WP 0x00010000
146#define CR0_AM 0x00040000
147#define CR0_NW 0x20000000
148#define CR0_CD 0x40000000
149#define CR0_PG 0x80000000
150
151//
152// CR4
153//
154#define CR4_VME 0x1
155#define CR4_PVI 0x2
156#define CR4_TSD 0x4
157#define CR4_DE 0x8
158#define CR4_PSE 0x10
159#define CR4_PAE 0x20
160#define CR4_MCE 0x40
161#define CR4_PGE 0x80
162#define CR4_FXSR 0x200
163#define CR4_XMMEXCPT 0x400
164#define CR4_CHANNELS 0x800
165#define CR4_XSAVE 0x40000
166
167//
168// DR7
169//
170#define DR7_LEGAL 0xFFFF0355
171#define DR7_ACTIVE 0x00000355
172#define DR7_TRACE_BRANCH 0x00000200
173#define DR7_LAST_BRANCH 0x00000100
174
175//
176// Debug flags
177//
178#define DEBUG_ACTIVE_DR7 0x0001
179#define DEBUG_ACTIVE_INSTRUMENTED 0x0002
180#define DEBUG_ACTIVE_DBG_INSTRUMENTED 0x0003
181#define DEBUG_ACTIVE_MINIMAL_THREAD 0x0004
182#define DEBUG_ACTIVE_PRIMARY_THREAD 0x0080
183#define DEBUG_ACTIVE_PRIMARY_THREAD_BIT 0x0007
184#define DEBUG_ACTIVE_PRIMARY_THREAD_LOCK_BIT 0x001F
185#define DEBUG_ACTIVE_SCHEDULED_THREAD 0x0040
186#define DEBUG_ACTIVE_SCHEDULED_THREAD_BIT 0x0006
187#define DEBUG_ACTIVE_SCHEDULED_THREAD_LOCK_BIT 0x001E
188#define DEBUG_ACTIVE_SCHEDULED_THREAD_LOCK 0x40000000
189
190//
191// EFlags
192//
193#define EFLAGS_CF 0x01L
194#define EFLAGS_RESERVED1 0x02L
195#define EFLAGS_PF 0x04L
196#define EFLAGS_AF 0x10L
197#define EFLAGS_ZF 0x40L
198#define EFLAGS_SF 0x80L
199#define EFLAGS_TF 0x100L
200#define EFLAGS_INTERRUPT_MASK 0x200L
201#define EFLAGS_DF 0x400L
202#define EFLAGS_OF 0x800L
203#define EFLAGS_IOPL 0x3000L
204#define EFLAGS_NESTED_TASK 0x4000L
205//#define EFLAGS_NF 0x4000
206#define EFLAGS_RF 0x10000
207#define EFLAGS_V86_MASK 0x20000
208#define EFLAGS_ALIGN_CHECK 0x40000
209#define EFLAGS_VIF 0x80000
210#define EFLAGS_VIP 0x100000
211#define EFLAGS_ID 0x200000
212#define EFLAGS_USER_SANITIZE 0x3F4DD7
213#define EFLAG_SIGN 0x8000
214#define EFLAG_ZERO 0x4000
215#define EFLAGS_TF_MASK 0x0100
216#define EFLAGS_TF_SHIFT 0x0008
217#define EFLAGS_ID_MASK 0x200000
218#define EFLAGS_IF_MASK 0x0200
219#define EFLAGS_IF_SHIFT 0x0009
220#define EFLAGS_USER_THREAD_SANITIZE 0x200FD5 /* Allowed flags: ID|OF|DF|IF|TF|SF|ZF|AF|PF|CF */
221
222//
223// MXCSR Floating Control/Status Bit Masks
224//
225#define XSW_INVALID_OPERATION 0x0001
226#define XSW_DENORMAL 0x0002
227#define XSW_ZERO_DIVIDE 0x0004
228#define XSW_OVERFLOW 0x0008
229#define XSW_UNDERFLOW 0x0010
230#define XSW_PRECISION 0x0020
231#define XCW_INVALID_OPERATION 0x0080
232#define XCW_DENORMAL 0x0100
233#define XCW_ZERO_DIVIDE 0x0200
234#define XCW_OVERFLOW 0x0400
235#define XCW_UNDERFLOW 0x0800
236#define XCW_PRECISION 0x1000
237#define XCW_ROUND_CONTROL 0x6000
238#define XCW_FLUSH_ZERO 0x8000
239#define XSW_ERROR_MASK 0x003F
240#define XSW_ERROR_SHIFT 7
241
242//
243// Legacy floating status word bit masks.
244//
245#define FSW_INVALID_OPERATION 0x0001
246#define FSW_DENORMAL 0x0002
247#define FSW_ZERO_DIVIDE 0x0004
248#define FSW_OVERFLOW 0x0008
249#define FSW_UNDERFLOW 0x0010
250#define FSW_PRECISION 0x0020
251#define FSW_STACK_FAULT 0x0040
252#define FSW_ERROR_SUMMARY 0x0080
253#define FSW_CONDITION_CODE_0 0x0100
254#define FSW_CONDITION_CODE_1 0x0200
255#define FSW_CONDITION_CODE_2 0x0400
256#define FSW_CONDITION_CODE_3 0x4000
257#define FSW_ERROR_MASK 0x003F
258
259//
260// Machine Specific Registers
261//
262#define MSR_EFER 0xC0000080
263#define MSR_STAR 0xC0000081
264#define MSR_LSTAR 0xC0000082
265#define MSR_CSTAR 0xC0000083
266#define MSR_SYSCALL_MASK 0xC0000084
267#define MSR_FS_BASE 0xC0000100
268#define MSR_GS_BASE 0xC0000101
269#define MSR_GS_SWAP 0xC0000102
270#define MSR_MCG_STATUS 0x017A
271#define MSR_AMD_ACCESS 0x9C5A203A
272#define MSR_IA32_MISC_ENABLE 0x000001A0
273#define MSR_LAST_BRANCH_FROM 0x01DB
274#define MSR_LAST_BRANCH_TO 0x01DC
275#define MSR_LAST_EXCEPTION_FROM 0x01DD
276#define MSR_LAST_EXCEPTION_TO 0x01DE
277
278//
279// Caching values for the PAT MSR
280//
281#define PAT_UC 0ULL
282#define PAT_WC 1ULL
283#define PAT_WT 4ULL
284#define PAT_WP 5ULL
285#define PAT_WB 6ULL
286#define PAT_UCM 7ULL
287
288//
289// Flags in MSR_EFER
290//
291#define MSR_SCE 0x0001
292#define MSR_LME 0x0100
293#define MSR_LMA 0x0400
294#define MSR_NXE 0x0800
295#define MSR_PAT 0x0277
296#define MSR_DEBUG_CTL 0x01D9
297
298//
299// Flags in MSR_IA32_MISC_ENABLE
300//
301#define MSR_XD_ENABLE_MASK 0xFFFFFFFB
302
303//
304// Flags in MSR_DEBUG_CTL
305//
306#define MSR_DEBUG_CTL_LBR 0x0001
307#define MSR_DEBUG_CTL_BTF 0x0002
308
309//
310// IPI Types
311//
312#define IPI_APC 1
313#define IPI_DPC 2
314#define IPI_FREEZE 4
315#define IPI_PACKET_READY 8
316#define IPI_SYNCH_REQUEST 16
317
318//
319// Flags for KPRCB::IpiFrozen
320//
321// Values shown with !ipi extension in WinDbg:
322// 0 = [Running], 1 = [Unknown], 2 = [Frozen], 3 = [Thaw], 4 = [Freeze Owner]
323// 5 = [Target Freeze], 6-15 = [Unknown]
324// 0x20 = [Active] (flag)
325//
326#define IPI_FROZEN_STATE_RUNNING 0
327#define IPI_FROZEN_STATE_FROZEN 2
328#define IPI_FROZEN_STATE_THAW 3
329#define IPI_FROZEN_STATE_OWNER 4
330#define IPI_FROZEN_STATE_TARGET_FREEZE 5
331#define IPI_FROZEN_FLAG_ACTIVE 0x20
332
333//
334// PRCB Flags
335//
336#define PRCB_MINOR_VERSION 1
337#define PRCB_MAJOR_VERSION 1
338#define PRCB_BUILD_DEBUG 1
339#define PRCB_BUILD_UNIPROCESSOR 2
340
341//
342// Exception active flags
343//
344#define KEXCEPTION_ACTIVE_INTERRUPT_FRAME 0x0000
345#define KEXCEPTION_ACTIVE_EXCEPTION_FRAME 0x0001
346#define KEXCEPTION_ACTIVE_SERVICE_FRAME 0x0002
347
348//
349// HAL Variables
350//
351#define PRIMARY_VECTOR_BASE 0x30
352#define MAXIMUM_IDTVECTOR 0xFF
353#define INITIAL_STALL_COUNT 100
354#define MM_HAL_VA_START 0xFFFFFFFFFFC00000ULL /* This is Vista+ */
355#define MM_HAL_VA_END 0xFFFFFFFFFFFFFFFFULL
356#define APIC_BASE 0xFFFFFFFFFFFE0000ULL
357
358//
359// IOPM Definitions
360//
361#define IO_ACCESS_MAP_NONE 0
362#define IOPM_OFFSET FIELD_OFFSET(KTSS, IoMaps[0].IoMap)
363#define KiComputeIopmOffset(MapNumber) \
364 (MapNumber == IO_ACCESS_MAP_NONE) ? \
365 (USHORT)(sizeof(KTSS)) : \
366 (USHORT)(FIELD_OFFSET(KTSS, IoMaps[MapNumber-1].IoMap))
367
368//
369// Static Kernel-Mode Address start (use MM_KSEG0_BASE for actual)
370//
371#define KSEG0_BASE 0xfffff80000000000ULL
372
373#define NMI_STACK_SIZE 0x2000
374#define ISR_STACK_SIZE 0x6000
375
376/* Number of bytes reserved for syscall parameters */
377#define MAX_SYSCALL_PARAM_SIZE (16 * 8)
378
379//
380// Synchronization-level IRQL
381//
382#ifndef CONFIG_SMP
383#define SYNCH_LEVEL DISPATCH_LEVEL
384#else
385#define SYNCH_LEVEL (IPI_LEVEL - 2)
386#endif
387
388//
389// Number of pool lookaside lists per pool in the PRCB
390//
391#define NUMBER_POOL_LOOKASIDE_LISTS 32
392
393//
394// Structure for CPUID
395//
396typedef union _CPU_INFO
397{
399 struct
400 {
405 };
407
408//
409// Trap Frame Definition
410//
411typedef struct _KTRAP_FRAME
412{
430 union
431 {
434 };
441 union
442 {
446 };
453 union
454 {
455 struct
456 {
462 };
463 struct
464 {
467 };
468 };
478 union
479 {
483 };
496
497//
498// Dummy LDT_ENTRY
499//
500#ifndef _LDT_ENTRY_DEFINED
501#define _LDT_ENTRY_DEFINED
503#endif
504
505//
506// GDT Entry Definition
507//
508typedef union _KGDTENTRY64
509{
510 struct
511 {
514 union
515 {
516 struct
517 {
523 struct
524 {
536 };
539 };
542#define KGDTENTRY KGDTENTRY64
543#define PKGDTENTRY PKGDTENTRY64
544
545//
546// IDT Entry Access Definition
547//
548typedef struct _KIDT_ACCESS
549{
550 union
551 {
552 struct
553 {
559 };
561 };
563
564//
565// IDT Entry Definition
566//
567typedef union _KIDTENTRY64
568{
569 struct
570 {
581 };
584#define KIDTENTRY KIDTENTRY64
585#define PKIDTENTRY PKIDTENTRY64
586
587typedef struct _KDESCRIPTOR
588{
593
594#ifndef NTOS_MODE_USER
595
596//
597// Special Registers Structure (outside of CONTEXT)
598//
600{
629
630//
631// Processor State Data
632//
633typedef struct _KPROCESSOR_STATE
634{
638
639#if (NTDDI_VERSION < NTDDI_LONGHORN)
640#define GENERAL_LOOKASIDE_POOL PP_LOOKASIDE_LIST
641#endif
642
643typedef struct _KREQUEST_PACKET
644{
648
649typedef struct _REQUEST_MAILBOX
650{
655
656//
657// Processor Region Control Block
658//
659typedef struct _KPRCB
660{
662#if (NTDDI_VERSION >= NTDDI_LONGHORN)
664#else
667#endif
673#if (NTDDI_VERSION >= NTDDI_LONGHORN)
677#else
678 UINT64 UserRsp;
679#endif
686#if (NTDDI_VERSION >= NTDDI_LONGHORN)
687 union
688 {
690 struct
691 {
694 };
695 };
696#else
698#endif
705#if (NTDDI_VERSION >= NTDDI_LONGHORN)
708#else
711#endif
713#if (NTDDI_VERSION >= NTDDI_LONGHORN)
715#else
717 UCHAR PrcbPad0x[3];
718#endif
720#if (NTDDI_VERSION >= NTDDI_LONGHORN)
724#else
725 UINT64 PrcbPad00[4];
726#endif
736#if (NTDDI_VERSION < NTDDI_LONGHORN)
738#endif
742#if (NTDDI_VERSION < NTDDI_LONGHORN)
745#endif
750#if (NTDDI_VERSION >= NTDDI_LONGHORN)
760#else
763#endif
770#if (NTDDI_VERSION < NTDDI_LONGHORN)
772 UCHAR PrcbPad2[12];
773#endif
782#if (NTDDI_VERSION >= NTDDI_LONGHORN)
784#else
785 PVOID SavedRsp;
786#endif
804#if (NTDDI_VERSION >= NTDDI_LONGHORN)
806#else
807 LONG PrcbPad40;
809#endif
811#if (NTDDI_VERSION >= NTDDI_LONGHORN)
813#endif
815#if (NTDDI_VERSION >= NTDDI_LONGHORN)
823#else
824 UINT64 PrcbPad7[4];
825#endif
827#if (NTDDI_VERSION >= NTDDI_LONGHORN)
829#endif
832#if (NTDDI_VERSION >= NTDDI_LONGHORN)
834#endif
845#if (NTDDI_VERSION >= NTDDI_LONGHORN)
852#else
853 UCHAR PrcbPad8[13];
854#endif
858#if (NTDDI_VERSION >= NTDDI_LONGHORN)
865#endif
867#if (NTDDI_VERSION >= NTDDI_LONGHORN)
923#else
924 ULONG PrcbPad90[1];
930 UCHAR PrcbPad9[12];
940 ULONG KeFirstLevelTbFills;
941 ULONG KeFloatingEmulationCount;
943 ULONG KeSecondLevelTbFills;
945 UCHAR PrcbPad10[2];
951#endif
952#ifdef __REACTOS__
953#if (NTDDI_VERSION < NTDDI_LONGHORN)
956#endif
957#if (NTDDI_VERSION < NTDDI_WINBLUE)
958 // On Win 8.1+ the FeatureBits field is extended to 64 bits
959 ULONG FeatureBitsHigh;
960#endif
961#endif
963
964//
965// Processor Control Region
966//
967typedef struct _KIPCR
968{
969 union
970 {
972 struct
973 {
977 struct _KPCR *Self;
981 };
982 };
1002 ULONG Fill2[2]; // 0x178
1003 KPRCB Prcb; // 0x180
1004
1005 // hack:
1007
1009
1010//
1011// TSS Definition
1012//
1013typedef struct _KiIoAccessMap
1014{
1018
1019
1020#pragma pack(push,4)
1021typedef struct _KTSS64
1022{
1023 /* 000 */ ULONG Reserved0;
1024 /* 004 */ UINT64 Rsp0;
1025 /* 00c */ UINT64 Rsp1;
1026 /* 014 */ UINT64 Rsp2;
1027 /* 01c */ UINT64 Ist[8];
1032#pragma pack(pop)
1033#define KTSS KTSS64
1034#define PKTSS PKTSS64
1035
1036//
1037// KEXCEPTION_FRAME
1038//
1039typedef struct _KEXCEPTION_FRAME
1040{
1046#if (NTDDI_VERSION >= NTDDI_WIN8)
1048#else
1049 ULONG64 InitialStack;
1050#endif
1062#if (NTDDI_VERSION < NTDDI_WIN8)
1063 ULONG64 CallbackStack;
1064#endif
1067#if (NTDDI_VERSION >= NTDDI_WIN8)
1069#endif
1081
1082typedef struct _MACHINE_FRAME
1083{
1093
1094//
1095// Defines the Callback Stack Layout for User Mode Callbacks
1096//
1098
1099//
1100// User side callout frame
1101//
1102typedef struct _UCALLOUT_FRAME
1103{
1112} UCALLOUT_FRAME, *PUCALLOUT_FRAME; // size = 0x0058
1113
1114//
1115// User side APC dispatcher frame
1116//
1117typedef struct _UAPC_FRAME
1118{
1122
1123//
1124// Stack frame layout for KiUserExceptionDispatcher
1125// The name is totally made up
1126//
1128{
1134
1136{
1139 struct _RUNTIME_FUNCTION *FunctionEntry;
1149
1150typedef struct _KSTART_FRAME
1151{
1159
1160typedef struct _KSWITCH_FRAME
1161{
1172
1173#define PROCESSOR_START_FLAG_FORCE_ENABLE_NX 0x0001
1175{
1177 ULONG Flags; // 0x0008
1178 ULONG Gdt32; // 0x000C
1179 ULONG Idt32; // 0x0012
1180 PVOID Gdt; // 0x0018
1181 // ???
1183 UCHAR PmTarget[6]; // 0x0060
1187 ULONG64 MsrPat; // 0x0080
1188 ULONG64 MsrEFER; // 0x0088
1191
1192//
1193// Inline function to get current KPRCB
1194//
1196struct _KPRCB *
1198{
1199 return (struct _KPRCB *)__readgsqword(FIELD_OFFSET(KIPCR, CurrentPrcb));
1200}
1201
1202#endif
1203#endif
COMPILER_DEPENDENT_INT64 INT64
Definition: actypes.h:132
COMPILER_DEPENDENT_UINT64 UINT64
Definition: actypes.h:131
EXCEPTION_ROUTINE * PEXCEPTION_ROUTINE
Definition: compat.h:709
UCHAR KIRQL
Definition: env_spec_w32.h:591
unsigned __int64 ULONG64
Definition: imports.h:198
struct _KSPECIAL_REGISTERS * PKSPECIAL_REGISTERS
struct _KIDT_ACCESS KIDT_ACCESS
struct _KTSS64 * PKTSS64
struct _KTRAP_FRAME KTRAP_FRAME
struct _KREQUEST_PACKET * PKREQUEST_PACKET
struct _KDESCRIPTOR * PKDESCRIPTOR
struct _KPROCESSOR_STATE * PKPROCESSOR_STATE
union _KGDTENTRY64 * PKGDTENTRY64
struct _KREQUEST_PACKET KREQUEST_PACKET
struct _KUSER_EXCEPTION_STACK * PKUSER_EXCEPTION_STACK
struct _KSTART_FRAME KSTART_FRAME
struct _REQUEST_MAILBOX * PREQUEST_MAILBOX
struct _KPROCESSOR_START_BLOCK * PKPROCESSOR_START_BLOCK
struct _KSWITCH_FRAME KSWITCH_FRAME
struct _DISPATCHER_CONTEXT * PDISPATCHER_CONTEXT
struct _KIPCR KIPCR
struct _REQUEST_MAILBOX REQUEST_MAILBOX
KEXCEPTION_FRAME KCALLOUT_FRAME
Definition: ketypes.h:1097
struct _KUSER_EXCEPTION_STACK KUSER_EXCEPTION_STACK
struct _KPRCB * PKPRCB
struct _KEXCEPTION_FRAME * PKEXCEPTION_FRAME
FORCEINLINE struct _KPRCB * KeGetCurrentPrcb(VOID)
Definition: ketypes.h:1197
struct _UAPC_FRAME UAPC_FRAME
struct _DISPATCHER_CONTEXT DISPATCHER_CONTEXT
struct _KiIoAccessMap KIIO_ACCESS_MAP
struct _KDESCRIPTOR KDESCRIPTOR
struct _MACHINE_FRAME MACHINE_FRAME
struct _KSWITCH_FRAME * PKSWITCH_FRAME
struct _UCALLOUT_FRAME * PUCALLOUT_FRAME
struct _KIPCR * PKIPCR
KEXCEPTION_FRAME * PKCALLOUT_FRAME
Definition: ketypes.h:1097
union _KIDTENTRY64 * PKIDTENTRY64
CPU_VENDORS
Definition: ketypes.h:97
@ CPU_VIA
Definition: ketypes.h:101
@ CPU_INTEL
Definition: ketypes.h:100
@ CPU_UNKNOWN
Definition: ketypes.h:98
@ CPU_AMD
Definition: ketypes.h:99
union _KGDTENTRY64 KGDTENTRY64
union _KIDTENTRY64 KIDTENTRY64
struct _UAPC_FRAME * PUAPC_FRAME
union _CPU_INFO CPU_INFO
ULONG LDT_ENTRY
Definition: ketypes.h:502
struct _MACHINE_FRAME * PMACHINE_FRAME
struct _KSTART_FRAME * PKSTART_FRAME
struct _KPRCB KPRCB
struct _KEXCEPTION_FRAME KEXCEPTION_FRAME
struct _KTRAP_FRAME * PKTRAP_FRAME
struct _KPROCESSOR_START_BLOCK KPROCESSOR_START_BLOCK
struct _KSPECIAL_REGISTERS KSPECIAL_REGISTERS
union _CPU_INFO * PCPU_INFO
struct _KIDT_ACCESS * PKIDT_ACCESS
struct _KPROCESSOR_STATE KPROCESSOR_STATE
struct _UCALLOUT_FRAME UCALLOUT_FRAME
struct _KTSS64 KTSS64
#define NUMBER_POOL_LOOKASIDE_LISTS
Definition: ketypes.h:273
ULONG KeDcacheFlushCount
Definition: cpu.c:20
ULONG KeIcacheFlushCount
Definition: cpu.c:19
long LONG
Definition: pedump.c:60
unsigned short USHORT
Definition: pedump.c:61
char CHAR
Definition: pedump.c:57
PCONTEXT ContextRecord
Definition: ketypes.h:1142
struct _RUNTIME_FUNCTION * FunctionEntry
Definition: ketypes.h:1139
struct _UNWIND_HISTORY_TABLE * HistoryTable
Definition: ketypes.h:1145
PEXCEPTION_ROUTINE LanguageHandler
Definition: ketypes.h:1143
ULONG64 EstablisherFrame
Definition: ketypes.h:1140
PVOID Base
Definition: ketypes.h:591
USHORT Pad[3]
Definition: ketypes.h:589
USHORT Limit
Definition: ketypes.h:590
Definition: ketypes.h:767
ULONG64 Return
Definition: ketypes.h:1079
ULONG64 OutputBuffer
Definition: ketypes.h:1065
ULONG64 P3Home
Definition: ketypes.h:1043
ULONG64 P1Home
Definition: ketypes.h:1041
ULONG64 P4Home
Definition: ketypes.h:1044
ULONG64 Spare2
Definition: ketypes.h:1068
ULONG64 P2Home
Definition: ketypes.h:1042
ULONG64 OutputLength
Definition: ketypes.h:1066
ULONG64 TrapFrame
Definition: ketypes.h:1061
ULONG64 Spare1
Definition: ketypes.h:1047
UCHAR SystemSegmentFlag
Definition: ketypes.h:556
UCHAR Dpl
Definition: ketypes.h:557
UCHAR Reserved
Definition: ketypes.h:554
USHORT Value
Definition: ketypes.h:560
UCHAR SegmentType
Definition: ketypes.h:555
UCHAR Present
Definition: ketypes.h:558
ULONG ContextSwitches
Definition: ketypes.h:1006
KPRCB Prcb
Definition: ketypes.h:1003
USHORT MinorVersion
Definition: ketypes.h:991
ULONG SecondLevelCacheSize
Definition: ketypes.h:995
USHORT MajorVersion
Definition: ketypes.h:990
UCHAR SecondLevelCacheAssociativity
Definition: ketypes.h:986
KIRQL Irql
Definition: ketypes.h:985
UCHAR Fill0
Definition: ketypes.h:988
struct _KPRCB * CurrentPrcb
Definition: ketypes.h:978
union _KGDTENTRY64 * GdtBase
Definition: ketypes.h:974
ULONG Unused0[3]
Definition: ketypes.h:989
ULONG Fill1
Definition: ketypes.h:998
ULONG Fill2[2]
Definition: ketypes.h:1002
ULONG HalReserved[16]
Definition: ketypes.h:996
PKSPIN_LOCK_QUEUE LockArray
Definition: ketypes.h:979
struct _KTSS64 * TssBase
Definition: ketypes.h:975
PVOID Unused1[3]
Definition: ketypes.h:993
UCHAR ObsoleteNumber
Definition: ketypes.h:987
NT_TIB NtTib
Definition: ketypes.h:971
PVOID Unused3
Definition: ketypes.h:1000
ULONG Unused2
Definition: ketypes.h:997
ULONG KernelReserved[15]
Definition: ketypes.h:994
union _KIDTENTRY64 * IdtBase
Definition: ketypes.h:983
ULONG PcrAlign1[24]
Definition: ketypes.h:1001
struct _KPCR * Self
Definition: ketypes.h:977
ULONG StallScaleFactor
Definition: ketypes.h:992
ULONG64 UserRsp
Definition: ketypes.h:976
PVOID KdVersionBlock
Definition: ketypes.h:999
PVOID Used_Self
Definition: ketypes.h:980
ULONG64 Unused[2]
Definition: ketypes.h:984
Definition: ke.h:294
ULONG CcMdlReadNoWait
Definition: ketypes.h:877
UCHAR CoresPerPhysicalProcessor
Definition: ketypes.h:706
UCHAR BuildType
Definition: ketypes.h:703
UINT64 TimerHand
Definition: ketypes.h:794
UINT64 TimerRequest
Definition: ketypes.h:795
ULONG DpcTimeLimit
Definition: ketypes.h:848
ULONG CcCopyReadNoWaitMiss
Definition: ketypes.h:758
ULONG CcLostDelayedWrites
Definition: ketypes.h:884
PVOID HyperPte
Definition: ketypes.h:911
UINT64 HalReserved[8]
Definition: ketypes.h:700
UCHAR PrcbPad10[3]
Definition: ketypes.h:902
KSPIN_LOCK_QUEUE LockQueue[LockQueueMaximumLock]
Definition: ketypes.h:727
UCHAR IdleHalt
Definition: ketypes.h:669
PROCESSOR_POWER_STATE PowerState
Definition: ketypes.h:899
UCHAR PrcbPad3[116]
Definition: ketypes.h:776
CHAR CpuType
Definition: ketypes.h:684
ULONG IpiFrozen
Definition: ketypes.h:775
ULONG InterruptTime
Definition: ketypes.h:840
UCHAR PrcbPad9[3]
Definition: ketypes.h:753
LONG DpcWatchdogPeriod
Definition: ketypes.h:820
struct _KTHREAD * IdleThread
Definition: ketypes.h:672
ULONG Stride
Definition: ketypes.h:722
ULONG UserTime
Definition: ketypes.h:838
ULONG CcReadAheadIos
Definition: ketypes.h:894
ULONG CacheCount
Definition: ketypes.h:908
PVOID SparePtr0
Definition: ketypes.h:783
ULONG CcMapDataWaitMiss
Definition: ketypes.h:889
UINT64 PrcbLock
Definition: ketypes.h:681
GENERAL_LOOKASIDE_POOL PPPagedLookasideList[NUMBER_POOL_LOOKASIDE_LISTS]
Definition: ketypes.h:730
USHORT MinorVersion
Definition: ketypes.h:701
struct _KPRCB * MultiThreadSetMaster
Definition: ketypes.h:857
LONG MmPageReadCount
Definition: ketypes.h:740
UCHAR NestingLevel
Definition: ketypes.h:674
UCHAR PrcbPad8[3]
Definition: ketypes.h:780
PVOID RateControl
Definition: ketypes.h:919
LONG ClockKeepAlive
Definition: ketypes.h:816
LONG MmDemandZeroCount
Definition: ketypes.h:739
UCHAR InterruptRequest
Definition: ketypes.h:668
ULONG QueueIndex
Definition: ketypes.h:831
UINT64 WaitLock
Definition: ketypes.h:828
PVOID WheaInfo
Definition: ketypes.h:912
LONG MmCacheReadCount
Definition: ketypes.h:896
LONG Sleeping
Definition: ketypes.h:866
ULONG InterruptCount
Definition: ketypes.h:836
ULONG ApicMask
Definition: ketypes.h:712
LIST_ENTRY WaitListHead
Definition: ketypes.h:826
ULONG CcMdlReadWait
Definition: ketypes.h:878
LONG MaximumDpcQueueDepth
Definition: ketypes.h:787
ULONG KeContextSwitches
Definition: ketypes.h:752
ULONG CcPinReadNoWaitMiss
Definition: ketypes.h:890
ULONG CcPinReadWait
Definition: ketypes.h:876
PVOID AcpiReserved
Definition: ketypes.h:719
UCHAR PrcbPad2[52]
Definition: ketypes.h:667
ULONG DpcLastCount
Definition: ketypes.h:798
UINT64 PrcbPad81[2]
Definition: ketypes.h:851
UCHAR SkipTick
Definition: ketypes.h:842
PVOID EtwSupport
Definition: ketypes.h:913
ULONG PeriodicCount
Definition: ketypes.h:849
UINT64 RspBase
Definition: ketypes.h:680
ULONG MxCsr
Definition: ketypes.h:661
UCHAR CpuModel
Definition: ketypes.h:693
USHORT Number
Definition: ketypes.h:663
ULONG DebugDpcTime
Definition: ketypes.h:572
ULONG CcMapDataNoWait
Definition: ketypes.h:872
ULONG CachedCommit
Definition: ketypes.h:909
ULONG CcMdlReadWaitMiss
Definition: ketypes.h:893
LONG TickOffset
Definition: ketypes.h:796
ULONG CachedResidentAvailable
Definition: ketypes.h:910
USHORT MajorVersion
Definition: ketypes.h:702
CACHE_DESCRIPTOR Cache[5]
Definition: ketypes.h:907
ULONG PageColor
Definition: ketypes.h:861
LONG MmCacheIoCount
Definition: ketypes.h:897
ULONG CcPinReadNoWait
Definition: ketypes.h:875
UINT64 CycleTime
Definition: ketypes.h:868
KDPC DpcWatchdogDpc
Definition: ketypes.h:905
UCHAR ClockPollCycle
Definition: ketypes.h:818
USHORT CpuStep
Definition: ketypes.h:689
ULONG PrcbPad91[3]
Definition: ketypes.h:898
CHAR CpuID
Definition: ketypes.h:685
KDPC_DATA DpcData[2]
Definition: ketypes.h:780
ULONG CcCopyReadWait
Definition: ketypes.h:757
LONG MmPageFaultCount
Definition: ketypes.h:733
ULONG CcPinMappedDataCount
Definition: ketypes.h:874
ULONG CcMdlReadNoWaitMiss
Definition: ketypes.h:892
UINT64 * StatisticsPage
Definition: ketypes.h:918
PVOID VirtualApicAssist
Definition: ketypes.h:917
UCHAR CpuVendor
Definition: ketypes.h:704
LONG MmCopyOnWriteCount
Definition: ketypes.h:734
UCHAR QuantumEnd
Definition: ketypes.h:800
UCHAR VendorString[13]
Definition: ketypes.h:901
UCHAR Group
Definition: ketypes.h:675
ULONG DpcTime
Definition: ketypes.h:839
PVOID PrcbPad51
Definition: ketypes.h:812
UCHAR LogicalProcessorsPerPhysicalProcessor
Definition: ketypes.h:759
UCHAR ClockCheckSlot
Definition: ketypes.h:817
ULONG InitialApicId
Definition: ketypes.h:721
ULONG CcFastMdlReadWait
Definition: ketypes.h:870
GENERAL_LOOKASIDE_POOL PPNPagedLookasideList[NUMBER_POOL_LOOKASIDE_LISTS]
Definition: ketypes.h:729
ULONG PeriodicBias
Definition: ketypes.h:850
UCHAR PrcbPad00[6]
Definition: ketypes.h:676
ULONG MinimumDpcRate
Definition: ketypes.h:789
PP_LOOKASIDE_LIST PPLookasideList[16]
Definition: ketypes.h:728
ULONG CcMapDataNoWaitMiss
Definition: ketypes.h:888
ULONG CcFastReadWait
Definition: ketypes.h:754
LONG MmTransitionCount
Definition: ketypes.h:735
LONG LookasideIrpFloat
Definition: ketypes.h:759
ULONG CcMapDataWait
Definition: ketypes.h:873
LONG MmMappedWriteIoCount
Definition: ketypes.h:749
ULONG CcPinReadWaitMiss
Definition: ketypes.h:891
ULONG KeExceptionDispatchCount
Definition: ketypes.h:805
ULONG DpcTimeCount
Definition: ketypes.h:847
LONG DpcWatchdogCount
Definition: ketypes.h:821
ULONG AdjustDpcThreshold
Definition: ketypes.h:841
ULONG CcFastMdlReadNoWait
Definition: ketypes.h:869
UCHAR ThreadDpcEnable
Definition: ketypes.h:799
UINT64 PrcbPad70[2]
Definition: ketypes.h:822
struct _KTHREAD * CurrentThread
Definition: ketypes.h:670
LARGE_INTEGER IoReadTransferCount
Definition: ketypes.h:767
ULONG FeatureBits
Definition: ketypes.h:903
struct _KTHREAD * NextThread
Definition: ketypes.h:671
REQUEST_MAILBOX RequestMailbox[64]
Definition: ketypes.h:777
ULONG CcDataPages
Definition: ketypes.h:883
LONG MmMappedPagesWriteCount
Definition: ketypes.h:748
LONG DpcSetEventRequest
Definition: ketypes.h:803
UCHAR PrcbPad80[5]
Definition: ketypes.h:846
ULONG CcFastReadNoWait
Definition: ketypes.h:753
LONG MmCacheTransitionCount
Definition: ketypes.h:895
LONG MmSpinLockOrdering
Definition: ketypes.h:860
LONG MmPageReadIoCount
Definition: ketypes.h:741
ULONG CcFastReadResourceMiss
Definition: ketypes.h:885
LARGE_INTEGER IoOtherTransferCount
Definition: ketypes.h:769
UINT64 PacketBarrier
Definition: ketypes.h:731
ULONG KeSystemCalls
Definition: ketypes.h:751
LONG IoReadOperationCount
Definition: ketypes.h:764
UCHAR PollSlot
Definition: ketypes.h:844
UINT64 CoreProcessorSet
Definition: ketypes.h:922
SLIST_HEADER HypercallPageList
Definition: ketypes.h:915
UINT64 PackageProcessorSet
Definition: ketypes.h:921
ULONG SecondaryColorMask
Definition: ketypes.h:864
UINT64 CacheProcessorMask[5]
Definition: ketypes.h:920
UCHAR PrcbPad6[2]
Definition: ketypes.h:819
UINT64 PrcbPad71[12]
Definition: ketypes.h:833
LONG IoWriteOperationCount
Definition: ketypes.h:765
UINT64 SetMember
Definition: ketypes.h:682
LONG IoOtherOperationCount
Definition: ketypes.h:766
UINT64 StartCycles
Definition: ketypes.h:859
PVOID HypercallPageVirtual
Definition: ketypes.h:916
KEVENT DpcEvent
Definition: ketypes.h:810
struct _KNODE * ParentNode
Definition: ketypes.h:855
ULONG CFlushSize
Definition: ketypes.h:714
UCHAR IdleSchedule
Definition: ketypes.h:802
ULONG KernelTime
Definition: ketypes.h:837
LONG MasterOffset
Definition: ketypes.h:797
UCHAR DpcInterruptRequested
Definition: ketypes.h:790
ULONG CcCopyReadWaitMiss
Definition: ketypes.h:886
UCHAR PrcbPad4[120]
Definition: ketypes.h:779
PVOID DpcThread
Definition: ketypes.h:689
ULONG CcLazyWritePages
Definition: ketypes.h:881
LONG MmDirtyWriteIoCount
Definition: ketypes.h:747
ULONG ReadySummary
Definition: ketypes.h:830
UCHAR DpcThreadActive
Definition: ketypes.h:793
UCHAR DpcThreadRequested
Definition: ketypes.h:791
ULONG DpcRequestRate
Definition: ketypes.h:788
UCHAR LogicalProcessorsPerCore
Definition: ketypes.h:707
UINT64 SenderSummary
Definition: ketypes.h:778
ULONG CcLazyWriteIos
Definition: ketypes.h:880
KDPC CallDpc
Definition: ketypes.h:814
ULONG NodeShiftedColor
Definition: ketypes.h:863
LARGE_INTEGER UpdateSignature
Definition: ketypes.h:904
UINT64 MultiThreadProcessorSet
Definition: ketypes.h:856
KPROCESSOR_STATE ProcessorState
Definition: ketypes.h:683
ULONG NodeColor
Definition: ketypes.h:862
LONG MmDirtyPagesWriteCount
Definition: ketypes.h:746
LIST_ENTRY DispatcherReadyListHead[32]
Definition: ketypes.h:835
UCHAR CpuStepping
Definition: ketypes.h:692
ULONG CcFastMdlReadNotPossible
Definition: ketypes.h:871
UINT64 PrcbPad01[3]
Definition: ketypes.h:723
ULONG CcDataFlushes
Definition: ketypes.h:882
UCHAR PrcbPad50
Definition: ketypes.h:801
KTIMER DpcWatchdogTimer
Definition: ketypes.h:906
LARGE_INTEGER IoWriteTransferCount
Definition: ketypes.h:768
ULONG CcLazyWriteHotSpots
Definition: ketypes.h:879
ULONG CcCopyReadNoWait
Definition: ketypes.h:756
ULONG KeAlignmentFixupCount
Definition: ketypes.h:900
UCHAR DpcRoutineActive
Definition: ketypes.h:792
ULONG CcFastReadNotPossible
Definition: ketypes.h:755
UCHAR DebuggerSavedIRQL
Definition: ketypes.h:843
SINGLE_LIST_ENTRY DeferredReadyListHead
Definition: ketypes.h:732
PVOID DpcStack
Definition: ketypes.h:781
ULONG CcFastMdlReadResourceMiss
Definition: ketypes.h:887
UINT64 TargetSet
Definition: ketypes.h:774
ULONG MHz
Definition: ketypes.h:699
SLIST_HEADER InterruptObjectPool
Definition: ketypes.h:914
KPROCESSOR_STATE ProcessorState
Definition: ketypes.h:1189
UCHAR LmIdentityTarget[6]
Definition: ketypes.h:1184
struct _KPROCESSOR_START_BLOCK * SelfMap
Definition: ketypes.h:1186
KSPECIAL_REGISTERS SpecialRegisters
Definition: ketypes.h:635
CONTEXT ContextFrame
Definition: ketypes.h:636
PVOID WorkerRoutine
Definition: ketypes.h:646
PVOID CurrentPacket[3]
Definition: ketypes.h:645
ULONG64 LastExceptionToRip
Definition: ketypes.h:619
ULONG64 KernelDr1
Definition: ketypes.h:606
ULONG64 MsrLStar
Definition: ketypes.h:625
ULONG64 KernelDr2
Definition: ketypes.h:607
ULONG64 LastBranchFromRip
Definition: ketypes.h:618
ULONG64 KernelDr0
Definition: ketypes.h:605
KDESCRIPTOR Gdtr
Definition: ketypes.h:611
ULONG64 MsrGsBase
Definition: ketypes.h:622
KDESCRIPTOR Idtr
Definition: ketypes.h:612
ULONG64 LastBranchToRip
Definition: ketypes.h:617
ULONG64 MsrCStar
Definition: ketypes.h:626
ULONG64 KernelDr7
Definition: ketypes.h:610
ULONG64 LastExceptionFromRip
Definition: ketypes.h:620
ULONG64 KernelDr6
Definition: ketypes.h:609
ULONG64 MsrSyscallMask
Definition: ketypes.h:627
ULONG64 KernelDr3
Definition: ketypes.h:608
ULONG64 MsrGsSwap
Definition: ketypes.h:623
ULONG64 DebugControl
Definition: ketypes.h:616
ULONG64 P2Home
Definition: ketypes.h:1153
ULONG64 Reserved
Definition: ketypes.h:1156
ULONG64 P1Home
Definition: ketypes.h:1152
ULONG64 Return
Definition: ketypes.h:1157
ULONG64 P4Home
Definition: ketypes.h:1155
ULONG64 P3Home
Definition: ketypes.h:1154
ULONG64 Return
Definition: ketypes.h:1170
ULONG64 P2Home
Definition: ketypes.h:1163
ULONG64 Rbp
Definition: ketypes.h:1169
UCHAR Fill1[7]
Definition: ketypes.h:1168
ULONG64 P3Home
Definition: ketypes.h:1164
ULONG64 P5Home
Definition: ketypes.h:1166
ULONG64 P4Home
Definition: ketypes.h:1165
ULONG64 P1Home
Definition: ketypes.h:1162
KIRQL ApcBypass
Definition: ketypes.h:1167
UINT64 Dr0
Definition: ketypes.h:447
M128A Xmm1
Definition: ketypes.h:436
UINT64 Rsp
Definition: ketypes.h:491
UCHAR Logging
Definition: ketypes.h:487
ULONG LastBranchMSR
Definition: ketypes.h:466
USHORT Fill1[2]
Definition: ketypes.h:488
UCHAR FaultIndicator
Definition: ketypes.h:420
UINT64 Rdi
Definition: ketypes.h:475
M128A Xmm5
Definition: ketypes.h:440
CHAR PreviousMode
Definition: ketypes.h:418
UCHAR Fill0
Definition: ketypes.h:486
UINT64 GsBase
Definition: ketypes.h:432
UINT64 P5
Definition: ketypes.h:417
LONG CodePatchCycle
Definition: ketypes.h:494
UINT64 Rbp
Definition: ketypes.h:477
UINT64 LastBranchFromRip
Definition: ketypes.h:459
UINT64 Rsi
Definition: ketypes.h:476
UINT64 P2Home
Definition: ketypes.h:414
UINT64 Rdx
Definition: ketypes.h:425
ULONG EFlags
Definition: ketypes.h:489
M128A Xmm3
Definition: ketypes.h:438
UINT64 P4Home
Definition: ketypes.h:416
UINT64 Dr6
Definition: ketypes.h:451
UINT64 LastBranchControl
Definition: ketypes.h:465
M128A Xmm4
Definition: ketypes.h:439
UINT64 Rbx
Definition: ketypes.h:474
M128A Xmm0
Definition: ketypes.h:435
UINT64 FaultAddress
Definition: ketypes.h:443
USHORT SegSs
Definition: ketypes.h:492
UINT64 LastExceptionFromRip
Definition: ketypes.h:461
UINT64 Dr3
Definition: ketypes.h:450
UINT64 ExceptionFrame
Definition: ketypes.h:481
USHORT Fill3
Definition: ketypes.h:493
UINT64 Dr7
Definition: ketypes.h:452
USHORT SegCs
Definition: ketypes.h:485
UINT64 Rax
Definition: ketypes.h:423
UCHAR PreviousIrql
Definition: ketypes.h:419
UINT64 Dr1
Definition: ketypes.h:448
UINT64 GsSwap
Definition: ketypes.h:433
ULONG Fill2
Definition: ketypes.h:490
UINT64 LastBranchToRip
Definition: ketypes.h:458
UINT64 P3Home
Definition: ketypes.h:415
UINT64 R10
Definition: ketypes.h:428
UINT64 Rip
Definition: ketypes.h:484
UINT64 P1Home
Definition: ketypes.h:413
UINT64 TrapFrame
Definition: ketypes.h:473
UINT64 Dr2
Definition: ketypes.h:449
USHORT SegEs
Definition: ketypes.h:470
UINT64 ContextRecord
Definition: ketypes.h:444
UCHAR ExceptionActive
Definition: ketypes.h:421
M128A Xmm2
Definition: ketypes.h:437
USHORT SegFs
Definition: ketypes.h:471
UINT64 TimeStampCKCL
Definition: ketypes.h:445
UINT64 ErrorCode
Definition: ketypes.h:480
USHORT SegGs
Definition: ketypes.h:472
UINT64 R9
Definition: ketypes.h:427
USHORT SegDs
Definition: ketypes.h:469
UINT64 TimeStampKlog
Definition: ketypes.h:482
ULONG MxCsr
Definition: ketypes.h:422
UINT64 R8
Definition: ketypes.h:426
UINT64 Rcx
Definition: ketypes.h:424
UINT64 DebugControl
Definition: ketypes.h:457
UINT64 R11
Definition: ketypes.h:429
UINT64 LastExceptionToRip
Definition: ketypes.h:460
UINT64 Ist[8]
Definition: ketypes.h:1027
USHORT IoMapBase
Definition: ketypes.h:1030
USHORT Reserved2
Definition: ketypes.h:1029
UINT64 Rsp1
Definition: ketypes.h:1025
UINT64 Rsp2
Definition: ketypes.h:1026
ULONG Reserved0
Definition: ketypes.h:1023
UINT64 Reserved1
Definition: ketypes.h:1028
UINT64 Rsp0
Definition: ketypes.h:1024
MACHINE_FRAME MachineFrame
Definition: ketypes.h:1132
EXCEPTION_RECORD ExceptionRecord
Definition: ketypes.h:1130
UCHAR DirectionMap[32]
Definition: ketypes.h:1015
UCHAR IoMap[8196]
Definition: ketypes.h:1016
Definition: typedefs.h:120
USHORT SegSs
Definition: ketypes.h:1090
USHORT Fill1[3]
Definition: ketypes.h:1086
ULONG EFlags
Definition: ketypes.h:1087
ULONG64 Rsp
Definition: ketypes.h:1089
USHORT Fill3[3]
Definition: ketypes.h:1091
ULONG64 Rip
Definition: ketypes.h:1084
USHORT SegCs
Definition: ketypes.h:1085
INT64 RequestSummary
Definition: ketypes.h:651
KREQUEST_PACKET RequestPacket
Definition: ketypes.h:652
PVOID Virtual[7]
Definition: ketypes.h:653
Definition: ntbasedef.h:640
MACHINE_FRAME MachineFrame
Definition: ketypes.h:1120
CONTEXT Context
Definition: ketypes.h:1119
MACHINE_FRAME MachineFrame
Definition: ketypes.h:1111
ULONG ApiNumber
Definition: ketypes.h:1110
ULONG64 P1Home
Definition: ketypes.h:1104
ULONG64 P3Home
Definition: ketypes.h:1106
ULONG64 P2Home
Definition: ketypes.h:1105
ULONG64 P4Home
Definition: ketypes.h:1107
unsigned char UCHAR
Definition: typedefs.h:53
#define FIELD_OFFSET(t, f)
Definition: typedefs.h:255
uint32_t UINT32
Definition: typedefs.h:59
uint32_t ULONG
Definition: typedefs.h:59
ULONG Ebx
Definition: ketypes.h:402
ULONG Eax
Definition: ketypes.h:401
UINT32 AsUINT32[4]
Definition: ketypes.h:398
ULONG Ecx
Definition: ketypes.h:403
ULONG Edx
Definition: ketypes.h:404
ULONG MustBeZero
Definition: ketypes.h:538
ULONG BaseUpper
Definition: ketypes.h:537
ULONG Type
Definition: ketypes.h:526
USHORT LimitLow
Definition: ketypes.h:512
ULONG LongMode
Definition: ketypes.h:531
UCHAR Flags1
Definition: ketypes.h:519
struct _KGDTENTRY64::@2538::@2540::@2543 Bits
ULONG BaseMiddle
Definition: ketypes.h:525
struct _KGDTENTRY64::@2538::@2540::@2542 Bytes
UCHAR BaseMiddle
Definition: ketypes.h:518
ULONG System
Definition: ketypes.h:530
ULONG BaseHigh
Definition: ketypes.h:534
UCHAR Flags2
Definition: ketypes.h:520
ULONG LimitHigh
Definition: ketypes.h:529
USHORT BaseLow
Definition: ketypes.h:513
UCHAR BaseHigh
Definition: ketypes.h:521
ULONG Dpl
Definition: ketypes.h:527
ULONG Granularity
Definition: ketypes.h:533
ULONG Present
Definition: ketypes.h:528
UINT64 Alignment
Definition: ketypes.h:540
ULONG DefaultBig
Definition: ketypes.h:532
ULONG OffsetHigh
Definition: ketypes.h:579
USHORT Reserved0
Definition: ketypes.h:574
USHORT IstIndex
Definition: ketypes.h:573
USHORT OffsetMiddle
Definition: ketypes.h:578
USHORT OffsetLow
Definition: ketypes.h:571
UINT64 Alignment
Definition: ketypes.h:582
ULONG Reserved1
Definition: ketypes.h:580
USHORT Dpl
Definition: ketypes.h:576
USHORT Present
Definition: ketypes.h:577
USHORT Selector
Definition: ketypes.h:572
USHORT Type
Definition: ketypes.h:575
#define FORCEINLINE
Definition: wdftypes.h:67
M128A
Definition: ketypes.h:1008
@ LockQueueMaximumLock
Definition: ketypes.h:744