ReactOS 0.4.16-dev-1401-gf1332c7
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{
101 CPU_VIA
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_ZF 0x40L
195#define EFLAGS_TF 0x100L
196#define EFLAGS_INTERRUPT_MASK 0x200L
197#define EFLAGS_DF 0x400L
198#define EFLAGS_IOPL 0x3000L
199#define EFLAGS_NESTED_TASK 0x4000L
200//#define EFLAGS_NF 0x4000
201#define EFLAGS_RF 0x10000
202#define EFLAGS_V86_MASK 0x20000
203#define EFLAGS_ALIGN_CHECK 0x40000
204#define EFLAGS_VIF 0x80000
205#define EFLAGS_VIP 0x100000
206#define EFLAGS_ID 0x200000
207#define EFLAGS_USER_SANITIZE 0x3F4DD7
208#define EFLAG_SIGN 0x8000
209#define EFLAG_ZERO 0x4000
210#define EFLAGS_TF_MASK 0x0100
211#define EFLAGS_TF_SHIFT 0x0008
212#define EFLAGS_ID_MASK 0x200000
213#define EFLAGS_IF_MASK 0x0200
214#define EFLAGS_IF_SHIFT 0x0009
215
216//
217// MXCSR Floating Control/Status Bit Masks
218//
219#define XSW_INVALID_OPERATION 0x0001
220#define XSW_DENORMAL 0x0002
221#define XSW_ZERO_DIVIDE 0x0004
222#define XSW_OVERFLOW 0x0008
223#define XSW_UNDERFLOW 0x0010
224#define XSW_PRECISION 0x0020
225#define XCW_INVALID_OPERATION 0x0080
226#define XCW_DENORMAL 0x0100
227#define XCW_ZERO_DIVIDE 0x0200
228#define XCW_OVERFLOW 0x0400
229#define XCW_UNDERFLOW 0x0800
230#define XCW_PRECISION 0x1000
231#define XCW_ROUND_CONTROL 0x6000
232#define XCW_FLUSH_ZERO 0x8000
233#define XSW_ERROR_MASK 0x003F
234#define XSW_ERROR_SHIFT 7
235
236//
237// Legacy floating status word bit masks.
238//
239#define FSW_INVALID_OPERATION 0x0001
240#define FSW_DENORMAL 0x0002
241#define FSW_ZERO_DIVIDE 0x0004
242#define FSW_OVERFLOW 0x0008
243#define FSW_UNDERFLOW 0x0010
244#define FSW_PRECISION 0x0020
245#define FSW_STACK_FAULT 0x0040
246#define FSW_ERROR_SUMMARY 0x0080
247#define FSW_CONDITION_CODE_0 0x0100
248#define FSW_CONDITION_CODE_1 0x0200
249#define FSW_CONDITION_CODE_2 0x0400
250#define FSW_CONDITION_CODE_3 0x4000
251#define FSW_ERROR_MASK 0x003F
252
253//
254// Machine Specific Registers
255//
256#define MSR_EFER 0xC0000080
257#define MSR_STAR 0xC0000081
258#define MSR_LSTAR 0xC0000082
259#define MSR_CSTAR 0xC0000083
260#define MSR_SYSCALL_MASK 0xC0000084
261#define MSR_FS_BASE 0xC0000100
262#define MSR_GS_BASE 0xC0000101
263#define MSR_GS_SWAP 0xC0000102
264#define MSR_MCG_STATUS 0x017A
265#define MSR_AMD_ACCESS 0x9C5A203A
266#define MSR_IA32_MISC_ENABLE 0x000001A0
267#define MSR_LAST_BRANCH_FROM 0x01DB
268#define MSR_LAST_BRANCH_TO 0x01DC
269#define MSR_LAST_EXCEPTION_FROM 0x01DD
270#define MSR_LAST_EXCEPTION_TO 0x01DE
271
272//
273// Caching values for the PAT MSR
274//
275#define PAT_UC 0ULL
276#define PAT_WC 1ULL
277#define PAT_WT 4ULL
278#define PAT_WP 5ULL
279#define PAT_WB 6ULL
280#define PAT_UCM 7ULL
281
282//
283// Flags in MSR_EFER
284//
285#define MSR_SCE 0x0001
286#define MSR_LME 0x0100
287#define MSR_LMA 0x0400
288#define MSR_NXE 0x0800
289#define MSR_PAT 0x0277
290#define MSR_DEBUG_CTL 0x01D9
291
292//
293// Flags in MSR_IA32_MISC_ENABLE
294//
295#define MSR_XD_ENABLE_MASK 0xFFFFFFFB
296
297//
298// Flags in MSR_DEBUG_CTL
299//
300#define MSR_DEBUG_CTL_LBR 0x0001
301#define MSR_DEBUG_CTL_BTF 0x0002
302
303//
304// IPI Types
305//
306#define IPI_APC 1
307#define IPI_DPC 2
308#define IPI_FREEZE 4
309#define IPI_PACKET_READY 8
310#define IPI_SYNCH_REQUEST 16
311
312//
313// Flags for KPRCB::IpiFrozen
314//
315// Values shown with !ipi extension in WinDbg:
316// 0 = [Running], 1 = [Unknown], 2 = [Frozen], 3 = [Thaw], 4 = [Freeze Owner]
317// 5 = [Target Freeze], 6-15 = [Unknown]
318// 0x20 = [Active] (flag)
319//
320#define IPI_FROZEN_STATE_RUNNING 0
321#define IPI_FROZEN_STATE_FROZEN 2
322#define IPI_FROZEN_STATE_THAW 3
323#define IPI_FROZEN_STATE_OWNER 4
324#define IPI_FROZEN_STATE_TARGET_FREEZE 5
325#define IPI_FROZEN_FLAG_ACTIVE 0x20
326
327//
328// PRCB Flags
329//
330#define PRCB_MINOR_VERSION 1
331#define PRCB_MAJOR_VERSION 1
332#define PRCB_BUILD_DEBUG 1
333#define PRCB_BUILD_UNIPROCESSOR 2
334
335//
336// Exception active flags
337//
338#define KEXCEPTION_ACTIVE_INTERRUPT_FRAME 0x0000
339#define KEXCEPTION_ACTIVE_EXCEPTION_FRAME 0x0001
340#define KEXCEPTION_ACTIVE_SERVICE_FRAME 0x0002
341
342//
343// HAL Variables
344//
345#define PRIMARY_VECTOR_BASE 0x30
346#define MAXIMUM_IDTVECTOR 0xFF
347#define INITIAL_STALL_COUNT 100
348#define MM_HAL_VA_START 0xFFFFFFFFFFC00000ULL /* This is Vista+ */
349#define MM_HAL_VA_END 0xFFFFFFFFFFFFFFFFULL
350#define APIC_BASE 0xFFFFFFFFFFFE0000ULL
351
352//
353// IOPM Definitions
354//
355#define IO_ACCESS_MAP_NONE 0
356#define IOPM_OFFSET FIELD_OFFSET(KTSS, IoMaps[0].IoMap)
357#define KiComputeIopmOffset(MapNumber) \
358 (MapNumber == IO_ACCESS_MAP_NONE) ? \
359 (USHORT)(sizeof(KTSS)) : \
360 (USHORT)(FIELD_OFFSET(KTSS, IoMaps[MapNumber-1].IoMap))
361
362//
363// Static Kernel-Mode Address start (use MM_KSEG0_BASE for actual)
364//
365#define KSEG0_BASE 0xfffff80000000000ULL
366
367#define NMI_STACK_SIZE 0x2000
368#define ISR_STACK_SIZE 0x6000
369
370/* Number of bytes reserved for syscall parameters */
371#define MAX_SYSCALL_PARAM_SIZE (16 * 8)
372
373//
374// Synchronization-level IRQL
375//
376#ifndef CONFIG_SMP
377#define SYNCH_LEVEL DISPATCH_LEVEL
378#else
379#define SYNCH_LEVEL (IPI_LEVEL - 2)
380#endif
381
382//
383// Number of pool lookaside lists per pool in the PRCB
384//
385#define NUMBER_POOL_LOOKASIDE_LISTS 32
386
387//
388// Structure for CPUID
389//
390typedef union _CPU_INFO
391{
393 struct
394 {
399 };
401
402//
403// Trap Frame Definition
404//
405typedef struct _KTRAP_FRAME
406{
424 union
425 {
428 };
435 union
436 {
440 };
447 union
448 {
449 struct
450 {
456 };
457 struct
458 {
461 };
462 };
472 union
473 {
477 };
490
491//
492// Dummy LDT_ENTRY
493//
494#ifndef _LDT_ENTRY_DEFINED
495#define _LDT_ENTRY_DEFINED
497#endif
498
499//
500// GDT Entry Definition
501//
502typedef union _KGDTENTRY64
503{
504 struct
505 {
508 union
509 {
510 struct
511 {
517 struct
518 {
530 };
533 };
536#define KGDTENTRY KGDTENTRY64
537#define PKGDTENTRY PKGDTENTRY64
538
539//
540// IDT Entry Access Definition
541//
542typedef struct _KIDT_ACCESS
543{
544 union
545 {
546 struct
547 {
553 };
555 };
557
558//
559// IDT Entry Definition
560//
561typedef union _KIDTENTRY64
562{
563 struct
564 {
575 };
578#define KIDTENTRY KIDTENTRY64
579#define PKIDTENTRY PKIDTENTRY64
580
581typedef struct _KDESCRIPTOR
582{
587
588#ifndef NTOS_MODE_USER
589
590//
591// Special Registers Structure (outside of CONTEXT)
592//
594{
623
624//
625// Processor State Data
626//
627typedef struct _KPROCESSOR_STATE
628{
632
633#if (NTDDI_VERSION < NTDDI_LONGHORN)
634#define GENERAL_LOOKASIDE_POOL PP_LOOKASIDE_LIST
635#endif
636
637typedef struct _KREQUEST_PACKET
638{
642
643typedef struct _REQUEST_MAILBOX
644{
649
650//
651// Processor Region Control Block
652//
653typedef struct _KPRCB
654{
656#if (NTDDI_VERSION >= NTDDI_LONGHORN)
658#else
661#endif
667#if (NTDDI_VERSION >= NTDDI_LONGHORN)
671#else
672 UINT64 UserRsp;
673#endif
680#if (NTDDI_VERSION >= NTDDI_LONGHORN)
681 union
682 {
684 struct
685 {
688 };
689 };
690#else
692#endif
699#if (NTDDI_VERSION >= NTDDI_LONGHORN)
702#else
705#endif
707#if (NTDDI_VERSION >= NTDDI_LONGHORN)
709#else
711 UCHAR PrcbPad0x[3];
712#endif
714#if (NTDDI_VERSION >= NTDDI_LONGHORN)
718#else
719 UINT64 PrcbPad00[4];
720#endif
730#if (NTDDI_VERSION < NTDDI_LONGHORN)
732#endif
736#if (NTDDI_VERSION < NTDDI_LONGHORN)
739#endif
744#if (NTDDI_VERSION >= NTDDI_LONGHORN)
754#else
757#endif
764#if (NTDDI_VERSION < NTDDI_LONGHORN)
766 UCHAR PrcbPad2[12];
767#endif
776#if (NTDDI_VERSION >= NTDDI_LONGHORN)
778#else
779 PVOID SavedRsp;
780#endif
798#if (NTDDI_VERSION >= NTDDI_LONGHORN)
800#else
801 LONG PrcbPad40;
803#endif
805#if (NTDDI_VERSION >= NTDDI_LONGHORN)
807#endif
809#if (NTDDI_VERSION >= NTDDI_LONGHORN)
817#else
818 UINT64 PrcbPad7[4];
819#endif
821#if (NTDDI_VERSION >= NTDDI_LONGHORN)
823#endif
826#if (NTDDI_VERSION >= NTDDI_LONGHORN)
828#endif
839#if (NTDDI_VERSION >= NTDDI_LONGHORN)
846#else
847 UCHAR PrcbPad8[13];
848#endif
852#if (NTDDI_VERSION >= NTDDI_LONGHORN)
859#endif
861#if (NTDDI_VERSION >= NTDDI_LONGHORN)
917#else
918 ULONG PrcbPad90[1];
924 UCHAR PrcbPad9[12];
934 ULONG KeFirstLevelTbFills;
935 ULONG KeFloatingEmulationCount;
937 ULONG KeSecondLevelTbFills;
939 UCHAR PrcbPad10[2];
945#endif
946#ifdef __REACTOS__
947#if (NTDDI_VERSION < NTDDI_WINBLUE)
948 // On Win 8.1+ the FeatureBits field is extended to 64 bits
949 ULONG FeatureBitsHigh;
950#endif
951#endif
953
954//
955// Processor Control Region
956//
957typedef struct _KIPCR
958{
959 union
960 {
962 struct
963 {
967 struct _KPCR *Self;
971 };
972 };
992 ULONG Fill2[2]; // 0x178
993 KPRCB Prcb; // 0x180
994
995 // hack:
997
999
1000//
1001// TSS Definition
1002//
1003typedef struct _KiIoAccessMap
1004{
1008
1009
1010#pragma pack(push,4)
1011typedef struct _KTSS64
1012{
1013 /* 000 */ ULONG Reserved0;
1014 /* 004 */ UINT64 Rsp0;
1015 /* 00c */ UINT64 Rsp1;
1016 /* 014 */ UINT64 Rsp2;
1017 /* 01c */ UINT64 Ist[8];
1022#pragma pack(pop)
1023#define KTSS KTSS64
1024#define PKTSS PKTSS64
1025
1026//
1027// KEXCEPTION_FRAME
1028//
1029typedef struct _KEXCEPTION_FRAME
1030{
1036#if (NTDDI_VERSION >= NTDDI_WIN8)
1038#else
1039 ULONG64 InitialStack;
1040#endif
1052#if (NTDDI_VERSION < NTDDI_WIN8)
1053 ULONG64 CallbackStack;
1054#endif
1057#if (NTDDI_VERSION >= NTDDI_WIN8)
1059#endif
1071
1072typedef struct _MACHINE_FRAME
1073{
1083
1084//
1085// Defines the Callback Stack Layout for User Mode Callbacks
1086//
1088
1089//
1090// User side callout frame
1091//
1092typedef struct _UCALLOUT_FRAME
1093{
1102} UCALLOUT_FRAME, *PUCALLOUT_FRAME; // size = 0x0058
1103
1104//
1105// User side APC dispatcher frame
1106//
1107typedef struct _UAPC_FRAME
1108{
1112
1113//
1114// Stack frame layout for KiUserExceptionDispatcher
1115// The name is totally made up
1116//
1118{
1124
1126{
1129 struct _RUNTIME_FUNCTION *FunctionEntry;
1139
1140typedef struct _KSTART_FRAME
1141{
1149
1150typedef struct _KSWITCH_FRAME
1151{
1162
1163#define PROCESSOR_START_FLAG_FORCE_ENABLE_NX 0x0001
1165{
1167 ULONG Flags; // 0x0008
1168 ULONG Gdt32; // 0x000C
1169 ULONG Idt32; // 0x0012
1170 PVOID Gdt; // 0x0018
1171 // ???
1173 UCHAR PmTarget[6]; // 0x0060
1177 ULONG64 MsrPat; // 0x0080
1178 ULONG64 MsrEFER; // 0x0088
1181
1182//
1183// Inline function to get current KPRCB
1184//
1186struct _KPRCB *
1188{
1189 return (struct _KPRCB *)__readgsqword(FIELD_OFFSET(KIPCR, CurrentPrcb));
1190}
1191
1192#endif
1193#endif
unsigned long long UINT64
unsigned int UINT32
signed long long INT64
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:1087
struct _KUSER_EXCEPTION_STACK KUSER_EXCEPTION_STACK
struct _KPRCB * PKPRCB
struct _KEXCEPTION_FRAME * PKEXCEPTION_FRAME
FORCEINLINE struct _KPRCB * KeGetCurrentPrcb(VOID)
Definition: ketypes.h:1187
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:1087
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:496
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
Definition: fatfs.h:173
PCONTEXT ContextRecord
Definition: ketypes.h:1132
struct _RUNTIME_FUNCTION * FunctionEntry
Definition: ketypes.h:1129
struct _UNWIND_HISTORY_TABLE * HistoryTable
Definition: ketypes.h:1135
PEXCEPTION_ROUTINE LanguageHandler
Definition: ketypes.h:1133
ULONG64 EstablisherFrame
Definition: ketypes.h:1130
PVOID Base
Definition: ketypes.h:585
USHORT Pad[3]
Definition: ketypes.h:583
USHORT Limit
Definition: ketypes.h:584
Definition: ketypes.h:699
ULONG64 Return
Definition: ketypes.h:1069
ULONG64 OutputBuffer
Definition: ketypes.h:1055
ULONG64 P3Home
Definition: ketypes.h:1033
ULONG64 P1Home
Definition: ketypes.h:1031
ULONG64 P4Home
Definition: ketypes.h:1034
ULONG64 Spare2
Definition: ketypes.h:1058
ULONG64 P2Home
Definition: ketypes.h:1032
ULONG64 OutputLength
Definition: ketypes.h:1056
ULONG64 TrapFrame
Definition: ketypes.h:1051
ULONG64 Spare1
Definition: ketypes.h:1037
UCHAR SystemSegmentFlag
Definition: ketypes.h:550
UCHAR Dpl
Definition: ketypes.h:551
UCHAR Reserved
Definition: ketypes.h:548
USHORT Value
Definition: ketypes.h:554
UCHAR SegmentType
Definition: ketypes.h:549
UCHAR Present
Definition: ketypes.h:552
ULONG ContextSwitches
Definition: ketypes.h:996
KPRCB Prcb
Definition: ketypes.h:993
USHORT MinorVersion
Definition: ketypes.h:981
ULONG SecondLevelCacheSize
Definition: ketypes.h:985
USHORT MajorVersion
Definition: ketypes.h:980
UCHAR SecondLevelCacheAssociativity
Definition: ketypes.h:976
KIRQL Irql
Definition: ketypes.h:975
UCHAR Fill0
Definition: ketypes.h:978
struct _KPRCB * CurrentPrcb
Definition: ketypes.h:968
union _KGDTENTRY64 * GdtBase
Definition: ketypes.h:964
ULONG Unused0[3]
Definition: ketypes.h:979
ULONG Fill1
Definition: ketypes.h:988
ULONG Fill2[2]
Definition: ketypes.h:992
ULONG HalReserved[16]
Definition: ketypes.h:986
PKSPIN_LOCK_QUEUE LockArray
Definition: ketypes.h:969
struct _KTSS64 * TssBase
Definition: ketypes.h:965
PVOID Unused1[3]
Definition: ketypes.h:983
UCHAR ObsoleteNumber
Definition: ketypes.h:977
NT_TIB NtTib
Definition: ketypes.h:961
PVOID Unused3
Definition: ketypes.h:990
ULONG Unused2
Definition: ketypes.h:987
ULONG KernelReserved[15]
Definition: ketypes.h:984
union _KIDTENTRY64 * IdtBase
Definition: ketypes.h:973
ULONG PcrAlign1[24]
Definition: ketypes.h:991
struct _KPCR * Self
Definition: ketypes.h:967
ULONG StallScaleFactor
Definition: ketypes.h:982
ULONG64 UserRsp
Definition: ketypes.h:966
PVOID KdVersionBlock
Definition: ketypes.h:989
PVOID Used_Self
Definition: ketypes.h:970
ULONG64 Unused[2]
Definition: ketypes.h:974
Definition: ke.h:294
ULONG CcMdlReadNoWait
Definition: ketypes.h:871
UCHAR CoresPerPhysicalProcessor
Definition: ketypes.h:700
UCHAR BuildType
Definition: ketypes.h:697
UINT64 TimerHand
Definition: ketypes.h:788
UINT64 TimerRequest
Definition: ketypes.h:789
ULONG DpcTimeLimit
Definition: ketypes.h:842
ULONG CcCopyReadNoWaitMiss
Definition: ketypes.h:752
ULONG CcLostDelayedWrites
Definition: ketypes.h:878
PVOID HyperPte
Definition: ketypes.h:905
UINT64 HalReserved[8]
Definition: ketypes.h:694
UCHAR PrcbPad10[3]
Definition: ketypes.h:896
KSPIN_LOCK_QUEUE LockQueue[LockQueueMaximumLock]
Definition: ketypes.h:721
UCHAR IdleHalt
Definition: ketypes.h:663
PROCESSOR_POWER_STATE PowerState
Definition: ketypes.h:893
UCHAR PrcbPad3[116]
Definition: ketypes.h:770
CHAR CpuType
Definition: ketypes.h:678
ULONG IpiFrozen
Definition: ketypes.h:769
ULONG InterruptTime
Definition: ketypes.h:834
UCHAR PrcbPad9[3]
Definition: ketypes.h:753
LONG DpcWatchdogPeriod
Definition: ketypes.h:814
struct _KTHREAD * IdleThread
Definition: ketypes.h:666
ULONG Stride
Definition: ketypes.h:716
ULONG UserTime
Definition: ketypes.h:832
ULONG CcReadAheadIos
Definition: ketypes.h:888
ULONG CacheCount
Definition: ketypes.h:902
PVOID SparePtr0
Definition: ketypes.h:777
ULONG CcMapDataWaitMiss
Definition: ketypes.h:883
UINT64 PrcbLock
Definition: ketypes.h:675
GENERAL_LOOKASIDE_POOL PPPagedLookasideList[NUMBER_POOL_LOOKASIDE_LISTS]
Definition: ketypes.h:724
USHORT MinorVersion
Definition: ketypes.h:695
struct _KPRCB * MultiThreadSetMaster
Definition: ketypes.h:851
LONG MmPageReadCount
Definition: ketypes.h:734
UCHAR NestingLevel
Definition: ketypes.h:668
UCHAR PrcbPad8[3]
Definition: ketypes.h:780
PVOID RateControl
Definition: ketypes.h:913
LONG ClockKeepAlive
Definition: ketypes.h:810
LONG MmDemandZeroCount
Definition: ketypes.h:733
UCHAR InterruptRequest
Definition: ketypes.h:662
ULONG QueueIndex
Definition: ketypes.h:825
UINT64 WaitLock
Definition: ketypes.h:822
PVOID WheaInfo
Definition: ketypes.h:906
LONG MmCacheReadCount
Definition: ketypes.h:890
LONG Sleeping
Definition: ketypes.h:860
ULONG InterruptCount
Definition: ketypes.h:830
ULONG ApicMask
Definition: ketypes.h:706
LIST_ENTRY WaitListHead
Definition: ketypes.h:820
ULONG CcMdlReadWait
Definition: ketypes.h:872
LONG MaximumDpcQueueDepth
Definition: ketypes.h:781
ULONG KeContextSwitches
Definition: ketypes.h:746
ULONG CcPinReadNoWaitMiss
Definition: ketypes.h:884
ULONG CcPinReadWait
Definition: ketypes.h:870
PVOID AcpiReserved
Definition: ketypes.h:713
UCHAR PrcbPad2[52]
Definition: ketypes.h:667
ULONG DpcLastCount
Definition: ketypes.h:792
UINT64 PrcbPad81[2]
Definition: ketypes.h:845
UCHAR SkipTick
Definition: ketypes.h:836
PVOID EtwSupport
Definition: ketypes.h:907
ULONG PeriodicCount
Definition: ketypes.h:843
UINT64 RspBase
Definition: ketypes.h:674
ULONG MxCsr
Definition: ketypes.h:655
UCHAR CpuModel
Definition: ketypes.h:687
USHORT Number
Definition: ketypes.h:657
ULONG DebugDpcTime
Definition: ketypes.h:572
ULONG CcMapDataNoWait
Definition: ketypes.h:866
ULONG CachedCommit
Definition: ketypes.h:903
ULONG CcMdlReadWaitMiss
Definition: ketypes.h:887
LONG TickOffset
Definition: ketypes.h:790
ULONG CachedResidentAvailable
Definition: ketypes.h:904
USHORT MajorVersion
Definition: ketypes.h:696
ULONG PageColor
Definition: ketypes.h:855
LONG MmCacheIoCount
Definition: ketypes.h:891
ULONG CcPinReadNoWait
Definition: ketypes.h:869
UINT64 CycleTime
Definition: ketypes.h:862
KDPC DpcWatchdogDpc
Definition: ketypes.h:899
UCHAR ClockPollCycle
Definition: ketypes.h:812
USHORT CpuStep
Definition: ketypes.h:683
ULONG PrcbPad91[3]
Definition: ketypes.h:892
CHAR CpuID
Definition: ketypes.h:679
KDPC_DATA DpcData[2]
Definition: ketypes.h:774
ULONG CcCopyReadWait
Definition: ketypes.h:751
LONG MmPageFaultCount
Definition: ketypes.h:727
ULONG CcPinMappedDataCount
Definition: ketypes.h:868
ULONG CcMdlReadNoWaitMiss
Definition: ketypes.h:886
UINT64 * StatisticsPage
Definition: ketypes.h:912
PVOID VirtualApicAssist
Definition: ketypes.h:911
UCHAR CpuVendor
Definition: ketypes.h:698
LONG MmCopyOnWriteCount
Definition: ketypes.h:728
UCHAR QuantumEnd
Definition: ketypes.h:794
UCHAR VendorString[13]
Definition: ketypes.h:895
UCHAR Group
Definition: ketypes.h:669
ULONG DpcTime
Definition: ketypes.h:833
PVOID PrcbPad51
Definition: ketypes.h:806
UCHAR LogicalProcessorsPerPhysicalProcessor
Definition: ketypes.h:759
UCHAR ClockCheckSlot
Definition: ketypes.h:811
ULONG InitialApicId
Definition: ketypes.h:715
ULONG CcFastMdlReadWait
Definition: ketypes.h:864
GENERAL_LOOKASIDE_POOL PPNPagedLookasideList[NUMBER_POOL_LOOKASIDE_LISTS]
Definition: ketypes.h:723
ULONG PeriodicBias
Definition: ketypes.h:844
UCHAR PrcbPad00[6]
Definition: ketypes.h:670
ULONG MinimumDpcRate
Definition: ketypes.h:783
PP_LOOKASIDE_LIST PPLookasideList[16]
Definition: ketypes.h:722
ULONG CcMapDataNoWaitMiss
Definition: ketypes.h:882
ULONG CcFastReadWait
Definition: ketypes.h:748
LONG MmTransitionCount
Definition: ketypes.h:729
LONG LookasideIrpFloat
Definition: ketypes.h:753
ULONG CcMapDataWait
Definition: ketypes.h:867
LONG MmMappedWriteIoCount
Definition: ketypes.h:743
ULONG CcPinReadWaitMiss
Definition: ketypes.h:885
ULONG KeExceptionDispatchCount
Definition: ketypes.h:799
ULONG DpcTimeCount
Definition: ketypes.h:841
LONG DpcWatchdogCount
Definition: ketypes.h:815
ULONG AdjustDpcThreshold
Definition: ketypes.h:835
ULONG CcFastMdlReadNoWait
Definition: ketypes.h:863
UCHAR ThreadDpcEnable
Definition: ketypes.h:793
UINT64 PrcbPad70[2]
Definition: ketypes.h:816
struct _KTHREAD * CurrentThread
Definition: ketypes.h:664
LARGE_INTEGER IoReadTransferCount
Definition: ketypes.h:761
ULONG FeatureBits
Definition: ketypes.h:897
struct _KTHREAD * NextThread
Definition: ketypes.h:665
REQUEST_MAILBOX RequestMailbox[64]
Definition: ketypes.h:771
ULONG CcDataPages
Definition: ketypes.h:877
LONG MmMappedPagesWriteCount
Definition: ketypes.h:742
LONG DpcSetEventRequest
Definition: ketypes.h:797
UCHAR PrcbPad80[5]
Definition: ketypes.h:840
ULONG CcFastReadNoWait
Definition: ketypes.h:747
LONG MmCacheTransitionCount
Definition: ketypes.h:889
LONG MmSpinLockOrdering
Definition: ketypes.h:854
LONG MmPageReadIoCount
Definition: ketypes.h:735
ULONG CcFastReadResourceMiss
Definition: ketypes.h:879
LARGE_INTEGER IoOtherTransferCount
Definition: ketypes.h:763
UINT64 PacketBarrier
Definition: ketypes.h:725
ULONG KeSystemCalls
Definition: ketypes.h:745
LONG IoReadOperationCount
Definition: ketypes.h:758
UCHAR PollSlot
Definition: ketypes.h:838
UINT64 CoreProcessorSet
Definition: ketypes.h:916
SLIST_HEADER HypercallPageList
Definition: ketypes.h:909
UINT64 PackageProcessorSet
Definition: ketypes.h:915
ULONG SecondaryColorMask
Definition: ketypes.h:858
UINT64 CacheProcessorMask[5]
Definition: ketypes.h:914
UCHAR PrcbPad6[2]
Definition: ketypes.h:813
UINT64 PrcbPad71[12]
Definition: ketypes.h:827
LONG IoWriteOperationCount
Definition: ketypes.h:759
UINT64 SetMember
Definition: ketypes.h:676
LONG IoOtherOperationCount
Definition: ketypes.h:760
UINT64 StartCycles
Definition: ketypes.h:853
PVOID HypercallPageVirtual
Definition: ketypes.h:910
KEVENT DpcEvent
Definition: ketypes.h:804
struct _KNODE * ParentNode
Definition: ketypes.h:849
ULONG CFlushSize
Definition: ketypes.h:708
UCHAR IdleSchedule
Definition: ketypes.h:796
ULONG KernelTime
Definition: ketypes.h:831
LONG MasterOffset
Definition: ketypes.h:791
UCHAR DpcInterruptRequested
Definition: ketypes.h:784
ULONG CcCopyReadWaitMiss
Definition: ketypes.h:880
UCHAR PrcbPad4[120]
Definition: ketypes.h:773
PVOID DpcThread
Definition: ketypes.h:689
ULONG CcLazyWritePages
Definition: ketypes.h:875
LONG MmDirtyWriteIoCount
Definition: ketypes.h:741
ULONG ReadySummary
Definition: ketypes.h:824
UCHAR DpcThreadActive
Definition: ketypes.h:787
UCHAR DpcThreadRequested
Definition: ketypes.h:785
ULONG DpcRequestRate
Definition: ketypes.h:782
UCHAR LogicalProcessorsPerCore
Definition: ketypes.h:701
UINT64 SenderSummary
Definition: ketypes.h:772
ULONG CcLazyWriteIos
Definition: ketypes.h:874
KDPC CallDpc
Definition: ketypes.h:808
ULONG NodeShiftedColor
Definition: ketypes.h:857
LARGE_INTEGER UpdateSignature
Definition: ketypes.h:898
UINT64 MultiThreadProcessorSet
Definition: ketypes.h:850
KPROCESSOR_STATE ProcessorState
Definition: ketypes.h:677
ULONG NodeColor
Definition: ketypes.h:856
LONG MmDirtyPagesWriteCount
Definition: ketypes.h:740
LIST_ENTRY DispatcherReadyListHead[32]
Definition: ketypes.h:829
UCHAR CpuStepping
Definition: ketypes.h:686
ULONG CcFastMdlReadNotPossible
Definition: ketypes.h:865
UINT64 PrcbPad01[3]
Definition: ketypes.h:717
ULONG CcDataFlushes
Definition: ketypes.h:876
UCHAR PrcbPad50
Definition: ketypes.h:795
KTIMER DpcWatchdogTimer
Definition: ketypes.h:900
LARGE_INTEGER IoWriteTransferCount
Definition: ketypes.h:762
ULONG CcLazyWriteHotSpots
Definition: ketypes.h:873
ULONG CcCopyReadNoWait
Definition: ketypes.h:750
ULONG KeAlignmentFixupCount
Definition: ketypes.h:894
UCHAR DpcRoutineActive
Definition: ketypes.h:786
ULONG CcFastReadNotPossible
Definition: ketypes.h:749
UCHAR DebuggerSavedIRQL
Definition: ketypes.h:837
SINGLE_LIST_ENTRY DeferredReadyListHead
Definition: ketypes.h:726
PVOID DpcStack
Definition: ketypes.h:775
ULONG CcFastMdlReadResourceMiss
Definition: ketypes.h:881
UINT64 TargetSet
Definition: ketypes.h:768
ULONG MHz
Definition: ketypes.h:693
SLIST_HEADER InterruptObjectPool
Definition: ketypes.h:908
KPROCESSOR_STATE ProcessorState
Definition: ketypes.h:1179
UCHAR LmIdentityTarget[6]
Definition: ketypes.h:1174
struct _KPROCESSOR_START_BLOCK * SelfMap
Definition: ketypes.h:1176
KSPECIAL_REGISTERS SpecialRegisters
Definition: ketypes.h:629
CONTEXT ContextFrame
Definition: ketypes.h:630
PVOID WorkerRoutine
Definition: ketypes.h:640
PVOID CurrentPacket[3]
Definition: ketypes.h:639
ULONG64 LastExceptionToRip
Definition: ketypes.h:613
ULONG64 KernelDr1
Definition: ketypes.h:600
ULONG64 MsrLStar
Definition: ketypes.h:619
ULONG64 KernelDr2
Definition: ketypes.h:601
ULONG64 LastBranchFromRip
Definition: ketypes.h:612
ULONG64 KernelDr0
Definition: ketypes.h:599
KDESCRIPTOR Gdtr
Definition: ketypes.h:605
ULONG64 MsrGsBase
Definition: ketypes.h:616
KDESCRIPTOR Idtr
Definition: ketypes.h:606
ULONG64 LastBranchToRip
Definition: ketypes.h:611
ULONG64 MsrCStar
Definition: ketypes.h:620
ULONG64 KernelDr7
Definition: ketypes.h:604
ULONG64 LastExceptionFromRip
Definition: ketypes.h:614
ULONG64 KernelDr6
Definition: ketypes.h:603
ULONG64 MsrSyscallMask
Definition: ketypes.h:621
ULONG64 KernelDr3
Definition: ketypes.h:602
ULONG64 MsrGsSwap
Definition: ketypes.h:617
ULONG64 DebugControl
Definition: ketypes.h:610
ULONG64 P2Home
Definition: ketypes.h:1143
ULONG64 Reserved
Definition: ketypes.h:1146
ULONG64 P1Home
Definition: ketypes.h:1142
ULONG64 Return
Definition: ketypes.h:1147
ULONG64 P4Home
Definition: ketypes.h:1145
ULONG64 P3Home
Definition: ketypes.h:1144
ULONG64 Return
Definition: ketypes.h:1160
ULONG64 P2Home
Definition: ketypes.h:1153
ULONG64 Rbp
Definition: ketypes.h:1159
UCHAR Fill1[7]
Definition: ketypes.h:1158
ULONG64 P3Home
Definition: ketypes.h:1154
ULONG64 P5Home
Definition: ketypes.h:1156
ULONG64 P4Home
Definition: ketypes.h:1155
ULONG64 P1Home
Definition: ketypes.h:1152
KIRQL ApcBypass
Definition: ketypes.h:1157
UINT64 Dr0
Definition: ketypes.h:441
M128A Xmm1
Definition: ketypes.h:430
UINT64 Rsp
Definition: ketypes.h:485
UCHAR Logging
Definition: ketypes.h:481
ULONG LastBranchMSR
Definition: ketypes.h:460
USHORT Fill1[2]
Definition: ketypes.h:482
UCHAR FaultIndicator
Definition: ketypes.h:414
UINT64 Rdi
Definition: ketypes.h:469
M128A Xmm5
Definition: ketypes.h:434
CHAR PreviousMode
Definition: ketypes.h:412
UCHAR Fill0
Definition: ketypes.h:480
UINT64 GsBase
Definition: ketypes.h:426
UINT64 P5
Definition: ketypes.h:411
LONG CodePatchCycle
Definition: ketypes.h:488
UINT64 Rbp
Definition: ketypes.h:471
UINT64 LastBranchFromRip
Definition: ketypes.h:453
UINT64 Rsi
Definition: ketypes.h:470
UINT64 P2Home
Definition: ketypes.h:408
UINT64 Rdx
Definition: ketypes.h:419
ULONG EFlags
Definition: ketypes.h:483
M128A Xmm3
Definition: ketypes.h:432
UINT64 P4Home
Definition: ketypes.h:410
UINT64 Dr6
Definition: ketypes.h:445
UINT64 LastBranchControl
Definition: ketypes.h:459
M128A Xmm4
Definition: ketypes.h:433
UINT64 Rbx
Definition: ketypes.h:468
M128A Xmm0
Definition: ketypes.h:429
UINT64 FaultAddress
Definition: ketypes.h:437
USHORT SegSs
Definition: ketypes.h:486
UINT64 LastExceptionFromRip
Definition: ketypes.h:455
UINT64 Dr3
Definition: ketypes.h:444
UINT64 ExceptionFrame
Definition: ketypes.h:475
USHORT Fill3
Definition: ketypes.h:487
UINT64 Dr7
Definition: ketypes.h:446
USHORT SegCs
Definition: ketypes.h:479
UINT64 Rax
Definition: ketypes.h:417
UCHAR PreviousIrql
Definition: ketypes.h:413
UINT64 Dr1
Definition: ketypes.h:442
UINT64 GsSwap
Definition: ketypes.h:427
ULONG Fill2
Definition: ketypes.h:484
UINT64 LastBranchToRip
Definition: ketypes.h:452
UINT64 P3Home
Definition: ketypes.h:409
UINT64 R10
Definition: ketypes.h:422
UINT64 Rip
Definition: ketypes.h:478
UINT64 P1Home
Definition: ketypes.h:407
UINT64 TrapFrame
Definition: ketypes.h:467
UINT64 Dr2
Definition: ketypes.h:443
USHORT SegEs
Definition: ketypes.h:464
UINT64 ContextRecord
Definition: ketypes.h:438
UCHAR ExceptionActive
Definition: ketypes.h:415
M128A Xmm2
Definition: ketypes.h:431
USHORT SegFs
Definition: ketypes.h:465
UINT64 TimeStampCKCL
Definition: ketypes.h:439
UINT64 ErrorCode
Definition: ketypes.h:474
USHORT SegGs
Definition: ketypes.h:466
UINT64 R9
Definition: ketypes.h:421
USHORT SegDs
Definition: ketypes.h:463
UINT64 TimeStampKlog
Definition: ketypes.h:476
ULONG MxCsr
Definition: ketypes.h:416
UINT64 R8
Definition: ketypes.h:420
UINT64 Rcx
Definition: ketypes.h:418
UINT64 DebugControl
Definition: ketypes.h:451
UINT64 R11
Definition: ketypes.h:423
UINT64 LastExceptionToRip
Definition: ketypes.h:454
UINT64 Ist[8]
Definition: ketypes.h:1017
USHORT IoMapBase
Definition: ketypes.h:1020
USHORT Reserved2
Definition: ketypes.h:1019
UINT64 Rsp1
Definition: ketypes.h:1015
UINT64 Rsp2
Definition: ketypes.h:1016
ULONG Reserved0
Definition: ketypes.h:1013
UINT64 Reserved1
Definition: ketypes.h:1018
UINT64 Rsp0
Definition: ketypes.h:1014
MACHINE_FRAME MachineFrame
Definition: ketypes.h:1122
EXCEPTION_RECORD ExceptionRecord
Definition: ketypes.h:1120
UCHAR DirectionMap[32]
Definition: ketypes.h:1005
UCHAR IoMap[8196]
Definition: ketypes.h:1006
Definition: typedefs.h:120
USHORT SegSs
Definition: ketypes.h:1080
USHORT Fill1[3]
Definition: ketypes.h:1076
ULONG EFlags
Definition: ketypes.h:1077
ULONG64 Rsp
Definition: ketypes.h:1079
USHORT Fill3[3]
Definition: ketypes.h:1081
ULONG64 Rip
Definition: ketypes.h:1074
USHORT SegCs
Definition: ketypes.h:1075
INT64 RequestSummary
Definition: ketypes.h:645
KREQUEST_PACKET RequestPacket
Definition: ketypes.h:646
PVOID Virtual[7]
Definition: ketypes.h:647
Definition: ntbasedef.h:640
MACHINE_FRAME MachineFrame
Definition: ketypes.h:1110
CONTEXT Context
Definition: ketypes.h:1109
MACHINE_FRAME MachineFrame
Definition: ketypes.h:1101
ULONG ApiNumber
Definition: ketypes.h:1100
ULONG64 P1Home
Definition: ketypes.h:1094
ULONG64 P3Home
Definition: ketypes.h:1096
ULONG64 P2Home
Definition: ketypes.h:1095
ULONG64 P4Home
Definition: ketypes.h:1097
#define FIELD_OFFSET(t, f)
Definition: typedefs.h:255
uint32_t ULONG
Definition: typedefs.h:59
ULONG Ebx
Definition: ketypes.h:396
ULONG Eax
Definition: ketypes.h:395
UINT32 AsUINT32[4]
Definition: ketypes.h:392
ULONG Ecx
Definition: ketypes.h:397
ULONG Edx
Definition: ketypes.h:398
ULONG MustBeZero
Definition: ketypes.h:532
ULONG BaseUpper
Definition: ketypes.h:531
struct _KGDTENTRY64::@2488::@2490::@2493 Bits
ULONG Type
Definition: ketypes.h:520
USHORT LimitLow
Definition: ketypes.h:506
ULONG LongMode
Definition: ketypes.h:525
UCHAR Flags1
Definition: ketypes.h:513
ULONG BaseMiddle
Definition: ketypes.h:519
UCHAR BaseMiddle
Definition: ketypes.h:512
ULONG System
Definition: ketypes.h:524
ULONG BaseHigh
Definition: ketypes.h:528
UCHAR Flags2
Definition: ketypes.h:514
ULONG LimitHigh
Definition: ketypes.h:523
USHORT BaseLow
Definition: ketypes.h:507
UCHAR BaseHigh
Definition: ketypes.h:515
ULONG Dpl
Definition: ketypes.h:521
ULONG Granularity
Definition: ketypes.h:527
ULONG Present
Definition: ketypes.h:522
UINT64 Alignment
Definition: ketypes.h:534
ULONG DefaultBig
Definition: ketypes.h:526
struct _KGDTENTRY64::@2488::@2490::@2492 Bytes
ULONG OffsetHigh
Definition: ketypes.h:573
USHORT Reserved0
Definition: ketypes.h:568
USHORT IstIndex
Definition: ketypes.h:567
USHORT OffsetMiddle
Definition: ketypes.h:572
USHORT OffsetLow
Definition: ketypes.h:565
UINT64 Alignment
Definition: ketypes.h:576
ULONG Reserved1
Definition: ketypes.h:574
USHORT Dpl
Definition: ketypes.h:570
USHORT Present
Definition: ketypes.h:571
USHORT Selector
Definition: ketypes.h:566
USHORT Type
Definition: ketypes.h:569
#define FORCEINLINE
Definition: wdftypes.h:67
M128A
Definition: ketypes.h:940
@ LockQueueMaximumLock
Definition: ketypes.h:676
unsigned char UCHAR
Definition: xmlstorage.h:181
char CHAR
Definition: xmlstorage.h:175