ReactOS  0.4.13-dev-92-gf251225
ketypes.h
Go to the documentation of this file.
1 /*++ NDK Version: 0098
2 
3 Copyright (c) Alex Ionescu. All rights reserved.
4 
5 Header Name:
6 
7  ketypes.h (ARM)
8 
9 Abstract:
10 
11  ARM Type definitions for the Kernel services.
12 
13 Author:
14 
15  Alex Ionescu (alexi@tinykrnl.org) - Updated - 27-Feb-2006
16  Timo Kreuzer (timo.kreuzer@reactos.org) - Updated 19-Apr-2015
17 
18 --*/
19 
20 #ifndef _ARM_KETYPES_H
21 #define _ARM_KETYPES_H
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
27 //
28 // Dependencies
29 //
30 
31 
32 #define SYNCH_LEVEL DISPATCH_LEVEL
33 
34 //
35 // Co-Processor register definitions
36 //
37 #define CP15_MIDR 15, 0, 0, 0, 0
38 #define CP15_CTR 15, 0, 0, 0, 1
39 #define CP15_TCMTR 15, 0, 0, 0, 2
40 #define CP15_TLBTR 15, 0, 0, 0, 3
41 #define CP15_MPIDR 15, 0, 0, 0, 5
42 #define CP15_PFR0 15, 0, 0, 1, 0
43 #define CP15_PFR1 15, 0, 0, 1, 1
44 #define CP15_DFR0 15, 0, 0, 1, 2
45 #define CP15_AFR0 15, 0, 0, 1, 3
46 #define CP15_MMFR0 15, 0, 0, 1, 4
47 #define CP15_MMFR1 15, 0, 0, 1, 5
48 #define CP15_MMFR2 15, 0, 0, 1, 6
49 #define CP15_MMFR3 15, 0, 0, 1, 7
50 #define CP15_ISAR0 15, 0, 0, 2, 0
51 #define CP15_ISAR1 15, 0, 0, 2, 1
52 #define CP15_ISAR2 15, 0, 0, 2, 2
53 #define CP15_ISAR3 15, 0, 0, 2, 3
54 #define CP15_ISAR4 15, 0, 0, 2, 4
55 #define CP15_ISAR5 15, 0, 0, 2, 5
56 #define CP15_ISAR6 15, 0, 0, 2, 6
57 #define CP15_ISAR7 15, 0, 0, 2, 7
58 #define CP15_SCTLR 15, 0, 1, 0, 0
59 #define CP15_ACTLR 15, 0, 1, 0, 1
60 #define CP15_CPACR 15, 0, 1, 0, 2
61 #define CP15_SCR 15, 0, 1, 1, 0
62 #define CP15_SDER 15, 0, 1, 1, 1
63 #define CP15_NSACR 15, 0, 1, 1, 2
64 #define CP15_TTBR0 15, 0, 2, 0, 0
65 #define CP15_TTBR1 15, 0, 2, 0, 1
66 #define CP15_TTBCR 15, 0, 2, 0, 2
67 #define CP15_DACR 15, 0, 3, 0, 0
68 #define CP15_DFSR 15, 0, 5, 0, 0
69 #define CP15_IFSR 15, 0, 5, 0, 1
70 #define CP15_DFAR 15, 0, 6, 0, 0
71 #define CP15_IFAR 15, 0, 6, 0, 2
72 #define CP15_ICIALLUIS 15, 0, 7, 1, 0
73 #define CP15_BPIALLIS 15, 0, 7, 1, 6
74 #define CP15_ICIALLU 15, 0, 7, 5, 0
75 #define CP15_ICIMVAU 15, 0, 7, 5, 1
76 #define CP15_BPIALL 15, 0, 7, 5, 6
77 #define CP15_BPIMVA 15, 0, 7, 5, 7
78 #define CP15_DCIMVAC 15, 0, 7, 6, 1
79 #define CP15_DCISW 15, 0, 7, 6, 2
80 #define CP15_DCCMVAC 15, 0, 7, 10, 1
81 #define CP15_DCCSW 15, 0, 7, 10, 2
82 #define CP15_DCCMVAU 15, 0, 7, 11, 1
83 #define CP15_DCCIMVAC 15, 0, 7, 14, 1
84 #define CP15_DCCISW 15, 0, 7, 14, 2
85 #define CP15_PAR 15, 0, 7, 4, 0
86 #define CP15_ATS1CPR 15, 0, 7, 8, 0
87 #define CP15_ATS1CPW 15, 0, 7, 8, 1
88 #define CP15_ATS1CUR 15, 0, 7, 8, 2
89 #define CP15_ATS1CUW 15, 0, 7, 8, 3
90 #define CP15_ISB 15, 0, 7, 5, 4
91 #define CP15_DSB 15, 0, 7, 10, 4
92 #define CP15_DMB 15, 0, 7, 10, 5
93 #define CP15_TLBIALLIS 15, 0, 8, 3, 0
94 #define CP15_TLBIMVAIS 15, 0, 8, 3, 1
95 #define CP15_TLBIASIDIS 15, 0, 8, 3, 2
96 #define CP15_TLBIMVAAIS 15, 0, 8, 3, 3
97 #define CP15_ITLBIALL 15, 0, 8, 5, 0
98 #define CP15_ITLBIMVA 15, 0, 8, 5, 1
99 #define CP15_ITLBIASID 15, 0, 8, 5, 2
100 #define CP15_DTLBIALL 15, 0, 8, 6, 0
101 #define CP15_DTLBIMVA 15, 0, 8, 6, 1
102 #define CP15_DTLBIASID 15, 0, 8, 6, 2
103 #define CP15_TLBIALL 15, 0, 8, 7, 0
104 #define CP15_TLBIMVA 15, 0, 8, 7, 1
105 #define CP15_TLBIASID 15, 0, 8, 7, 2
106 #define CP15_TLBIMVAA 15, 0, 8, 7, 3
107 #define CP15_PMCR 15, 0, 9, 12, 0
108 #define CP15_PMCNTENSET 15, 0, 9, 12, 1
109 #define CP15_PMCNTENCLR 15, 0, 9, 12, 2
110 #define CP15_PMOVSR 15, 0, 9, 12, 3
111 #define CP15_PSWINC 15, 0, 9, 12, 4
112 #define CP15_PMSELR 15, 0, 9, 12, 5
113 #define CP15_PMCCNTR 15, 0, 9, 13, 0
114 #define CP15_PMXEVTYPER 15, 0, 9, 13, 1
115 #define CP15_PMXEVCNTR 15, 0, 9, 13, 2
116 #define CP15_PMUSERENR 15, 0, 9, 14, 0
117 #define CP15_PMINTENSET 15, 0, 9, 14, 1
118 #define CP15_PMINTENCLR 15, 0, 9, 14, 2
119 #define CP15_PRRR 15, 0, 10, 2, 0
120 #define CP15_NMRR 15, 0, 10, 2, 1
121 #define CP15_VBAR 15, 0, 12, 0, 0
122 #define CP15_MVBAR 15, 0, 12, 0, 1
123 #define CP15_ISR 15, 0, 12, 1, 0
124 #define CP15_CONTEXTIDR 15, 0, 13, 0, 1
125 #define CP15_TPIDRURW 15, 0, 13, 0, 2
126 #define CP15_TPIDRURO 15, 0, 13, 0, 3
127 #define CP15_TPIDRPRW 15, 0, 13, 0, 4
128 #define CP15_CCSIDR 15, 1, 0, 0, 0
129 #define CP15_CLIDR 15, 1, 0, 0, 1
130 #define CP15_AIDR 15, 1, 0, 0, 7
131 #define CP15_CSSELR 15, 2, 0, 0, 0
132 #define CP14_DBGDIDR 14, 0, 0, 0, 0
133 #define CP14_DBGWFAR 14, 0, 0, 6, 0
134 #define CP14_DBGVCR 14, 0, 0, 7, 0
135 #define CP14_DBGECR 14, 0, 0, 9, 0
136 #define CP14_DBGDSCCR 14, 0, 0, 10, 0
137 #define CP14_DBGDSMCR 14, 0, 0, 11, 0
138 #define CP14_DBGDTRRX 14, 0, 0, 0, 2
139 #define CP14_DBGPCSR 14, 0, 0, 1, 2
140 #define CP14_DBGITR 14, 0, 0, 1, 2
141 #define CP14_DBGDSCR 14, 0, 0, 2, 2
142 #define CP14_DBGDTRTX 14, 0, 0, 3, 2
143 #define CP14_DBGDRCR 14, 0, 0, 4, 2
144 #define CP14_DBGCIDSR 14, 0, 0, 9, 2
145 #define CP14_DBGBVR0 14, 0, 0, 0, 4
146 #define CP14_DBGBVR1 14, 0, 0, 1, 4
147 #define CP14_DBGBVR2 14, 0, 0, 2, 4
148 #define CP14_DBGBVR3 14, 0, 0, 3, 4
149 #define CP14_DBGBVR4 14, 0, 0, 4, 4
150 #define CP14_DBGBVR5 14, 0, 0, 5, 4
151 #define CP14_DBGBVR6 14, 0, 0, 6, 4
152 #define CP14_DBGBVR7 14, 0, 0, 7, 4
153 #define CP14_DBGBCR0 14, 0, 0, 0, 5
154 #define CP14_DBGBCR1 14, 0, 0, 1, 5
155 #define CP14_DBGBCR2 14, 0, 0, 2, 5
156 #define CP14_DBGBCR3 14, 0, 0, 3, 5
157 #define CP14_DBGBCR4 14, 0, 0, 4, 5
158 #define CP14_DBGBCR5 14, 0, 0, 5, 5
159 #define CP14_DBGBCR6 14, 0, 0, 6, 5
160 #define CP14_DBGBCR7 14, 0, 0, 7, 5
161 #define CP14_DBGWVR0 14, 0, 0, 0, 6
162 #define CP14_DBGWVR1 14, 0, 0, 1, 6
163 #define CP14_DBGWVR2 14, 0, 0, 2, 6
164 #define CP14_DBGWVR3 14, 0, 0, 3, 6
165 #define CP14_DBGWCR0 14, 0, 0, 0, 7
166 #define CP14_DBGWCR1 14, 0, 0, 1, 7
167 #define CP14_DBGWCR2 14, 0, 0, 2, 7
168 #define CP14_DBGWCR3 14, 0, 0, 3, 7
169 #define CPVFP_FPSID 10, 7, 0, 0, 0
170 #define CPVFP_FPSCR 10, 7, 1, 0, 0
171 #define CPVFP_MVFR1 10, 7, 6, 0, 0
172 #define CPVFP_MVFR0 10, 7, 7, 0, 0
173 #define CPVFP_FPEXC 10, 7, 8, 0, 0
174 #define CP15_TTBRx_PD_MASK 0xffffc000
175 
176 
177 //
178 // CPSR Values
179 //
180 #define CPSRM_USER 0x10
181 #define CPSRM_FIQ 0x11
182 #define CPSRM_INT 0x12
183 #define CPSRM_SVC 0x13
184 #define CPSRM_ABT 0x17
185 #define CPSRM_UDF 0x1b
186 #define CPSRM_SYS 0x1f
187 #define CPSRM_MASK 0x1f
188 #define SYSCALL_PSR 0x30
189 
190 #define CPSRF_N 0x80000000
191 #define CPSRF_Z 0x40000000
192 #define CPSRF_C 0x20000000
193 #define CPSRF_V 0x10000000
194 #define CPSRF_Q 0x08000000
195 #define CPSR_IT_MASK 0x600fc00
196 
197 #define FPSCRF_N 0x80000000
198 #define FPSCRF_Z 0x40000000
199 #define FPSCRF_C 0x20000000
200 #define FPSCRF_V 0x10000000
201 #define FPSCRF_QC 0x08000000
202 
203 #define FPSCRM_AHP 0x4000000
204 #define FPSCRM_DN 0x2000000
205 #define FPSCRM_FZ 0x1000000
206 #define FPSCRM_RMODE_MASK 0xc00000
207 #define FPSCRM_RMODE_RN 0x0
208 #define FPSCRM_RMODE_RP 0x400000
209 #define FPSCRM_RMODE_RM 0x800000
210 #define FPSCRM_RMODE_RZ 0xc00000
211 #define FPSCRM_DEPRECATED 0x370000
212 
213 #define FPSCR_IDE 0x8000
214 #define FPSCR_IXE 0x1000
215 #define FPSCR_UFE 0x800
216 #define FPSCR_OFE 0x400
217 #define FPSCR_DZE 0x200
218 #define FPSCR_IOE 0x100
219 #define FPSCR_IDC 0x80
220 #define FPSCR_IXC 0x10
221 #define FPSCR_UFC 0x8
222 #define FPSCR_OFC 0x4
223 #define FPSCR_DZC 0x2
224 #define FPSCR_IOC 0x1
225 
226 #define CPSRC_INT 0x80
227 #define CPSRC_ABORT 0x100
228 #define CPSRC_THUMB 0x20
229 
230 #define SWFS_PAGE_FAULT 0x10
231 #define SWFS_ALIGN_FAULT 0x20
232 #define SWFS_HWERR_FAULT 0x40
233 #define SWFS_DEBUG_FAULT 0x80
234 #define SWFS_EXECUTE 0x8
235 #define SWFS_WRITE 0x1
236 
237 #define CP14_DBGDSCR_MOE_MASK 0x3c
238 #define CP14_DBGDSCR_MOE_SHIFT 0x2
239 #define CP14_DBGDSCR_MOE_HALT 0x0
240 #define CP14_DBGDSCR_MOE_BP 0x1
241 #define CP14_DBGDSCR_MOE_WPASYNC 0x2
242 #define CP14_DBGDSCR_MOE_BKPT 0x3
243 #define CP14_DBGDSCR_MOE_EXTERNAL 0x4
244 #define CP14_DBGDSCR_MOE_VECTOR 0x5
245 #define CP14_DBGDSCR_MOE_WPSYNC 0xa
246 
247 #define CP15_PMCR_DP 0x20
248 #define CP15_PMCR_X 0x10
249 #define CP15_PMCR_CLKCNT_DIV 0x8
250 #define CP15_PMCR_CLKCNT_RST 0x4
251 #define CP15_PMCR_CNT_RST 0x2
252 #define CP15_PMCR_ENABLE 0x1
253 
254 //
255 // C1 Register Values
256 //
257 #define C1_MMU_CONTROL 0x01
258 #define C1_ALIGNMENT_CONTROL 0x02
259 #define C1_DCACHE_CONTROL 0x04
260 #define C1_ICACHE_CONTROL 0x1000
261 #define C1_VECTOR_CONTROL 0x2000
262 
263 //
264 // IPI Types
265 //
266 #define IPI_APC 1
267 #define IPI_DPC 2
268 #define IPI_FREEZE 4
269 #define IPI_PACKET_READY 6
270 #define IPI_SYNCH_REQUEST 16
271 
272 //
273 // PRCB Flags
274 //
275 #define PRCB_MAJOR_VERSION 1
276 #define PRCB_BUILD_DEBUG 1
277 #define PRCB_BUILD_UNIPROCESSOR 2
278 
279 //
280 // No LDTs on ARM
281 //
282 #define LDT_ENTRY ULONG
283 
284 //
285 // HAL Variables
286 //
287 #define INITIAL_STALL_COUNT 100
288 #define MM_HAL_VA_START 0xFFC00000
289 #define MM_HAL_VA_END 0xFFFFFFFF
290 
291 //
292 // Static Kernel-Mode Address start (use MM_KSEG0_BASE for actual)
293 //
294 #define KSEG0_BASE 0x80000000
295 
296 //
297 // Number of pool lookaside lists per pool in the PRCB
298 //
299 #define NUMBER_POOL_LOOKASIDE_LISTS 32
300 
301 //
302 // ARM VFP State
303 // Based on Windows RT 8.1 symbols and ksarm.h
304 //
305 typedef struct _KARM_VFP_STATE
306 {
307  struct _KARM_VFP_STATE* Link; // 0x00
308  ULONG Fpscr; // 0x04
309  ULONG Reserved; // 0x08
310  ULONG Reserved2; // 0x0c
311  ULONGLONG VfpD[32]; // 0x10
312 } KARM_VFP_STATE, *PKARM_VFP_STATE; // size = 0x110
313 
314 //
315 // Trap Frame Definition
316 // Based on Windows RT 8.1 symbols and ksarm.h
317 //
318 typedef struct _KTRAP_FRAME
319 {
322  union
323  {
326  };
331  union
332  {
335  };
337  ULONG Bvr[8];
338  ULONG Bcr[8];
339  ULONG Wvr[1];
340  ULONG Wcr[1];
352 
353 #ifndef NTOS_MODE_USER
354 
355 //
356 // Exception Frame Definition
357 // FIXME: this should go into ntddk.h
358 //
359 typedef struct _KEXCEPTION_FRAME
360 {
361  ULONG Param5; // 0x00
362  ULONG TrapFrame; // 0x04
365  ULONG Pad; // 0x04
366  ULONG R4; // 0x14
367  ULONG R5; // 0x18
368  ULONG R6; // 0x1c
369  ULONG R7; // 0x20
370  ULONG R8; // 0x24
371  ULONG R9; // 0x28
372  ULONG R10; // 0x2c
373  ULONG R11; // 0x30
374  ULONG Return; // 0x34
375 } KEXCEPTION_FRAME, *PKEXCEPTION_FRAME; // size = 0x38
376 
377 //
378 // ARM Architecture State
379 // Based on Windows RT 8.1 symbols and ksarm.h
380 //
381 typedef struct _KARM_ARCH_STATE
382 {
409 
413 
414 //
415 // ARM Internal Registers
416 //
417 typedef union _ARM_TTB_REGISTER
418 {
419  struct
420  {
423  };
426 
427 typedef union _ARM_STATUS_REGISTER
428 {
429 
430  struct
431  {
448  };
451 
452 typedef union _ARM_DOMAIN_REGISTER
453 {
454  struct
455  {
472  };
475 
477 {
478  struct
479  {
502  };
505 
506 C_ASSERT(sizeof(ARM_CONTROL_REGISTER) == sizeof(ULONG));
507 
509 {
510  struct
511  {
517  };
520 
521 typedef union _ARM_CACHE_REGISTER
522 {
523  struct
524  {
538  };
541 
543 {
544  struct
545  {
550  };
553 
554 //
555 // ARM Domains
556 //
557 typedef enum _ARM_DOMAINS
558 {
575 } ARM_DOMAINS;
576 
580 
581 //
582 // Special Registers Structure (outside of CONTEXT)
583 // Based on Windows RT 8.1 symbols and ksarm.h
584 //
585 typedef struct _KSPECIAL_REGISTERS
586 {
587  ULONG Reserved[7]; // 0x00
591  ULONG KernelBvr[8]; // 0x28
592  ULONG KernelBcr[8]; // 0x48
593  ULONG KernelWvr[1]; // 0x68
594  ULONG KernelWcr[1]; // 0x6c
595  ULONG Fpexc; // 0x70
596  ULONG Fpinst; // 0x74
597  ULONG Fpinst2; // 0x78
598  ULONG UserSp; // 0x7c
599  ULONG UserLr; // 0x80
600  ULONG AbortSp; // 0x84
601  ULONG AbortLr; // 0x88
602  ULONG AbortSpsr; // 0x8c
603  ULONG UdfSp; // 0x90
604  ULONG UdfLr; // 0x94
605  ULONG UdfSpsr; // 0x98
606  ULONG IrqSp; // 0x9c
607  ULONG IrqLr; // 0xa0
608  ULONG IrqSpsr; // 0xa4
610 
611 //
612 // Processor State
613 // Based on Windows RT 8.1 symbols and ksarm.h
614 //
615 typedef struct _KPROCESSOR_STATE
616 {
619  CONTEXT ContextFrame; // 0x200
621 C_ASSERT(sizeof(KPROCESSOR_STATE) == 0x3a0);
622 
623 //
624 // ARM Mini Stack
625 // Based on Windows RT 8.1 symbols and ksarm.h
626 //
627 typedef struct _KARM_MINI_STACK
628 {
636 } KARM_MINI_STACK, *PKARM_MINI_STACK; // size = 0x20
637 
638 typedef struct _DISPATCHER_CONTEXT
639 {
640  ULONG ControlPc; // 0x0
641  PVOID ImageBase; // 0x4
642  PVOID FunctionEntry; // 0x8
643  PVOID EstablisherFrame; // 0xc
644  ULONG TargetPc; // 0x10
645  PVOID ContextRecord; // 0x14
646  PVOID LanguageHandler; // 0x18
647  PVOID HandlerData; // 0x1c
648  PVOID HistoryTable; // 0x20
649  ULONG ScopeIndex; // 0x24
652  ULONG Reserved; // 0x30
654 
655 //
656 // Machine Frame
657 // Based on ksarm.h
658 //
659 typedef struct _MACHINE_FRAME
660 {
664 
665 //
666 // Defines the Callback Stack Layout for User Mode Callbacks
667 //
669 
670 //
671 // User mode callout frame
672 //
673 typedef struct _UCALLOUT_FRAME
674 {
675  PVOID Buffer;
676  ULONG Length;
681 
682 typedef struct _KSTART_FRAME
683 {
689 
690 typedef struct _KSWITCH_FRAME
691 {
697 
698 //
699 // Cache types
700 // (These are made up constants!)
701 //
703 {
710 };
711 
712 #if (NTDDI_VERSION < NTDDI_LONGHORN)
713 #define GENERAL_LOOKASIDE_POOL PP_LOOKASIDE_LIST
714 #endif
715 
716 //
717 // Processor Region Control Block
718 // Based on Windows RT 8.1 symbols
719 //
720 typedef struct _KPRCB
721 {
724  UCHAR IdleHalt;
730  union
731  {
733  struct
734  {
737  };
738  };
739  UCHAR PrcbPad00[1];
746  ULONG MHz;
757  UCHAR Group;
759  //UCHAR _PADDING1_[0x62];
768  //UCHAR _PADDING3_[0x60];
802  KDPC_DATA DpcData[2];
803  PVOID DpcStack;
813 #if (NTDDI_VERSION >= NTDDI_WIN8)
814  union
815  {
818  struct
819  {
822  };
823  struct
824  {
835  };
836  };
837 #else
839 #endif
848 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
850 #else
852 #endif
854  KDPC CallDpc;
858  //UCHAR _PADDING6_[0x2];
869  //RTL_RB_TREE ScbQueue;
875  ULONG UserTime;
876  ULONG DpcTime;
879  UCHAR SkipTick;
881  UCHAR PollSlot;
890  struct _KNODE* ParentNode;
896 #if (NTDDI_VERSION >= NTDDI_WIN8)
898 #endif /* (NTDDI_VERSION >= NTDDI_WIN8) */
945  //KAFFINITY_EX PackageProcessorSet;
948  struct _KSHARED_READY_QUEUE* SharedReadyQueue;
959  PVOID HyperPte;
960  PVOID WheaInfo;
964  //FILESYSTEM_DISK_COUNTERS FsCounters;
983  //REQUEST_MAILBOX RequestMailbox[1];
984 
985  // FIXME: Oldstyle stuff
986 #if (NTDDI_VERSION < NTDDI_WIN8) // FIXME
987  UCHAR CpuType;
988  volatile UCHAR DpcInterruptRequested;
989  volatile UCHAR DpcThreadRequested;
990  volatile UCHAR DpcThreadActive;
991  volatile ULONG TimerHand;
992  volatile ULONG TimerRequest;
994  LONG Sleeping;
996  CHAR VendorString[13];
997 #endif
998 
999 } KPRCB, *PKPRCB;
1000 C_ASSERT(FIELD_OFFSET(KPRCB, ProcessorState) == 0x20);
1001 C_ASSERT(FIELD_OFFSET(KPRCB, ProcessorModel) == 0x3C0);
1002 C_ASSERT(FIELD_OFFSET(KPRCB, LockQueue) == 0x480);
1003 C_ASSERT(FIELD_OFFSET(KPRCB, PacketBarrier) == 0x600);
1004 C_ASSERT(FIELD_OFFSET(KPRCB, Mailbox) == 0x680);
1005 C_ASSERT(FIELD_OFFSET(KPRCB, DpcData) == 0x690);
1006 C_ASSERT(FIELD_OFFSET(KPRCB, DpcStack) == 0x6c0);
1007 //C_ASSERT(FIELD_OFFSET(KPRCB, CallDpc) == 0x714);
1008 
1009 
1010 //
1011 // Processor Control Region
1012 // Based on Windows RT 8.1 symbols
1013 //
1014 typedef struct _KIPCR
1015 {
1016  union
1017  {
1018  NT_TIB NtTib;
1019  struct
1020  {
1023  struct _KPCR *Self;
1024  struct _KPRCB *CurrentPrcb;
1026  PVOID Used_Self;
1027  };
1028  };
1031  ULONG Unused0[3];
1035  PVOID Unused1[3];
1036  ULONG KernelReserved[15];
1038  union
1039  {
1041  struct
1042  {
1045  };
1046  };
1048  ULONG HalReserved[32];
1050  PVOID Unused3;
1051  ULONG PcrAlign1[8];
1052 
1053  /* Private members, not in ntddk.h */
1054  PVOID Idt[256];
1058  KPRCB Prcb;
1059 } KIPCR, *PKIPCR;
1060 
1061 C_ASSERT(FIELD_OFFSET(KIPCR, Prcb.LegacyNumber) == 0x580);
1062 
1063 //
1064 // Macro to get current KPRCB
1065 //
1067 struct _KPRCB *
1069 {
1070  return KeGetPcr()->CurrentPrcb;
1071 }
1072 
1073 //
1074 // Just read it from the PCR
1075 //
1076 #define KeGetCurrentIrql() KeGetPcr()->CurrentIrql
1077 #define _KeGetCurrentThread() KeGetCurrentPrcb()->CurrentThread
1078 #define _KeGetPreviousMode() KeGetCurrentPrcb()->CurrentThread->PreviousMode
1079 #define _KeIsExecutingDpc() (KeGetCurrentPrcb()->DpcRoutineActive != 0)
1080 #define KeGetCurrentThread() _KeGetCurrentThread()
1081 #define KeGetPreviousMode() _KeGetPreviousMode()
1082 //#define KeGetDcacheFillSize() PCR->DcacheFillSize
1083 
1084 #endif // !NTOS_MODE_USER
1085 
1086 #ifdef __cplusplus
1087 }; // extern "C"
1088 #endif
1089 
1090 #endif // !_ARM_KETYPES_H
ULONG TibPad0[2]
Definition: ketypes.h:1021
ULONG CcCopyReadWait
Definition: ketypes.h:653
signed char * PCHAR
Definition: retypes.h:7
ULONG Cp15_Cr0_CpuId
Definition: ketypes.h:383
ULONG R12
Definition: ketypes.h:345
ULONG R1
Definition: ketypes.h:685
PKTHREAD CurrentThread
Definition: ketypes.h:725
UCHAR DebuggerSavedIRQL
Definition: ketypes.h:739
ULONG KernelWvr[1]
Definition: ketypes.h:593
C_ASSERT(sizeof(ARM_CONTROL_REGISTER)==sizeof(ULONG))
GENERAL_LOOKASIDE_POOL PPNPagedLookasideList[NUMBER_POOL_LOOKASIDE_LISTS]
Definition: ketypes.h:625
KARM_MINI_STACK AbtMiniStack
Definition: ketypes.h:969
UCHAR ClockCheckSlot
Definition: ketypes.h:713
struct _KARM_MINI_STACK * PKARM_MINI_STACK
ULONG NegativeLessThan
Definition: ketypes.h:447
ULONG CcFastReadResourceMiss
Definition: ketypes.h:781
union _ARM_CONTROL_REGISTER * PARM_CONTROL_REGISTER
struct _KARM_ARCH_STATE * PKARM_ARCH_STATE
ULONG MinimumDpcRate
Definition: ketypes.h:685
ULONG ApiNumber
Definition: ketypes.h:997
ULONG DpcTimeLimit
Definition: ketypes.h:744
ULONG CcMdlReadWait
Definition: ketypes.h:774
ULONG CcMapDataNoWait
Definition: ketypes.h:768
ULONG Cp15_Cr9_PmControl
Definition: ketypes.h:395
UCHAR PrcbPad20[3]
Definition: ketypes.h:956
ULONG InterruptTime
Definition: ketypes.h:736
ULONG Cp15_Cr2_TtbControl
Definition: ketypes.h:387
LONG IoWriteOperationCount
Definition: ketypes.h:661
struct _KSWITCH_FRAME * PKSWITCH_FRAME
ULONG SharedReadyQueueMask
Definition: ketypes.h:947
KIRQL ApcBypass
Definition: ketypes.h:1032
Definition: ntbasedef.h:635
ULONG SecondaryColorMask
Definition: ketypes.h:760
KDPC CallDpc
Definition: ketypes.h:710
ULONG Reserved
Definition: ketypes.h:327
Definition: fatfs.h:173
UCHAR ApcInterrupt
Definition: ketypes.h:1043
UCHAR DpcThreadRequested
Definition: ketypes.h:687
struct _KIPCR KIPCR
KDPC_DATA DpcData[2]
Definition: ketypes.h:676
ULONG PcrAlign2[19]
Definition: ketypes.h:1056
LONG MmMappedPagesWriteCount
Definition: ketypes.h:644
ULONG DpcNormalSpare
Definition: ketypes.h:831
ULONG CcMapDataWaitMiss
Definition: ketypes.h:785
UINT64 CycleCounterFrequency
Definition: ketypes.h:747
ULONG FeatureBits
Definition: ketypes.h:799
PVOID NonVolatileRegisters
Definition: ketypes.h:651
LONG MmTransitionCount
Definition: ketypes.h:631
SYNCH_COUNTERS SynchCounters
Definition: ketypes.h:963
ULONG Cp15_Cr9_PmEventType[31]
Definition: ketypes.h:399
ULONG CcPinReadNoWaitMiss
Definition: ketypes.h:786
UCHAR SecondLevelCacheAssociativity
Definition: ketypes.h:872
ULONG LastTick
Definition: ketypes.h:841
ULONG Cp15_Cr9_PmInterruptSelect
Definition: ketypes.h:400
LONG MmPageFaultCount
Definition: ketypes.h:629
char CHAR
Definition: xmlstorage.h:175
ULONG MHz
Definition: ketypes.h:595
LONG KeSpinLockOrdering
Definition: ketypes.h:861
USHORT MinorVersion
Definition: ketypes.h:877
struct _UCALLOUT_FRAME * PUCALLOUT_FRAME
USHORT SoftwareInterruptPending
Definition: ketypes.h:1040
ULONG PeriodicCount
Definition: ketypes.h:745
UCHAR PrcbPad00[6]
Definition: ketypes.h:572
ULONG Cp15_Cr6_Ifar
Definition: ketypes.h:394
LONG MmDemandZeroCount
Definition: ketypes.h:635
FORCEINLINE struct _KPRCB * KeGetCurrentPrcb(VOID)
Definition: ketypes.h:1062
ULONG IpiFrozen
Definition: ketypes.h:671
struct _KIPCR * PKIPCR
ULONG PteBitCache
Definition: ketypes.h:973
_ARM_DOMAINS
Definition: ketypes.h:557
ULONG Cp15_Cr9_PmCountEnableSet
Definition: ketypes.h:396
LARGE_INTEGER IoWriteTransferCount
Definition: ketypes.h:664
ULONG DpcTimeCount
Definition: ketypes.h:743
UCHAR VendorString[13]
Definition: ketypes.h:797
KTIMER_TABLE TimerTable
Definition: ketypes.h:975
ULONG Return
Definition: ketypes.h:687
ULONG QueueIndex
Definition: ketypes.h:727
LONG AffinitizedSelectionMask
Definition: ketypes.h:866
ULONG Bcr[8]
Definition: ketypes.h:338
ULONG LastTimerHand
Definition: ketypes.h:840
KARM_MINI_STACK PanicMiniStack
Definition: ketypes.h:970
ULONG AlignmentFaultsEnabled
Definition: ketypes.h:481
UCHAR ClockOwner
Definition: ketypes.h:729
ULONG PanicStackBase
Definition: ketypes.h:971
ULONG KernelBcr[8]
Definition: ketypes.h:592
ULONG PrcbPad15[2]
Definition: ketypes.h:938
KIRQL PreviousIrql
Definition: ketypes.h:334
ULONG Cpsr
Definition: ketypes.h:350
Definition: ke.h:280
PROCESSOR_POWER_STATE PowerState
Definition: ketypes.h:795
ULONG CcMdlReadWaitMiss
Definition: ketypes.h:789
SLIST_HEADER InterruptObjectPool
Definition: ketypes.h:810
ULONG Cp15_Cr12_VBARns
Definition: ketypes.h:406
UCHAR QuantumEnd
Definition: ketypes.h:696
SINGLE_LIST_ENTRY AbPropagateBoostsList
Definition: ketypes.h:980
KSPECIAL_REGISTERS SpecialRegisters
Definition: ketypes.h:530
ULONG DpcNormalLocalInterrupt
Definition: ketypes.h:830
ULONG BaseAddress
Definition: ketypes.h:422
ULONG CcFastMdlReadWait
Definition: ketypes.h:766
ULONG Cp15_Cr9_PmUserEnable
Definition: ketypes.h:403
KEXCEPTION_FRAME * PKCALLOUT_FRAME
Definition: ketypes.h:984
ULONG CcReadAheadIos
Definition: ketypes.h:790
ULONG Cp15_Cr13_SvcRW
Definition: ketypes.h:590
ULONG R3
Definition: ketypes.h:344
ULONG CcPinMappedDataCount
Definition: ketypes.h:770
ULONG RoundRobinReplacementEnabled
Definition: ketypes.h:490
ULONG CachedResidentAvailable
Definition: ketypes.h:806
ULONG Pc
Definition: ketypes.h:349
ULONG Lr
Definition: ketypes.h:347
UCHAR ProcessorVendorString[2]
Definition: ketypes.h:761
ULONG DpcNormalProcessingActive
Definition: ketypes.h:825
ULONG DpcTime
Definition: ketypes.h:735
ULONG Cp15_Cr10_PrimaryMemoryRemap
Definition: ketypes.h:404
KEXCEPTION_FRAME KCALLOUT_FRAME
Definition: ketypes.h:984
UCHAR GroupSchedulingOverQuota
Definition: ketypes.h:882
LONG LookasideIrpFloat
Definition: ketypes.h:655
struct _MACHINE_FRAME * PMACHINE_FRAME
ULONG CcFastMdlReadResourceMiss
Definition: ketypes.h:783
#define KeGetPcr()
Definition: ke.h:25
BOOLEAN DebugRegistersValid
Definition: ketypes.h:330
ULONG DebugDpcTime
Definition: ketypes.h:516
ULONG R2
Definition: ketypes.h:343
PVOID Unused1[3]
Definition: ketypes.h:879
UCHAR _PADDING12_[0x4]
Definition: ketypes.h:946
PVOID Used_Self
Definition: ketypes.h:866
struct _KEXCEPTION_FRAME KEXCEPTION_FRAME
LONG MmCacheReadCount
Definition: ketypes.h:792
ULONG DpcLastCount
Definition: ketypes.h:694
UINT64 HalReserved[8]
Definition: ketypes.h:596
union _ARM_ID_CODE_REGISTER ARM_ID_CODE_REGISTER
struct _KSHARED_READY_QUEUE * SharedReadyQueue
Definition: ketypes.h:948
ULONG R0
Definition: ketypes.h:341
union _ARM_DOMAIN_REGISTER ARM_DOMAIN_REGISTER
ULONG Cp15_Cr5_Dfsr
Definition: ketypes.h:391
KDPC DpcWatchdogDpc
Definition: ketypes.h:801
KDPC TimerExpirationDpc
Definition: ketypes.h:868
ULONG TrapFrame
Definition: ketypes.h:325
_ARM_CACHE_TYPES
Definition: ketypes.h:702
UCHAR KIRQL
Definition: env_spec_w32.h:591
struct _KARM_VFP_STATE * PKARM_VFP_STATE
UCHAR IdleHalt
Definition: ketypes.h:565
LONG ClockKeepAlive
Definition: ketypes.h:712
ULONG CcCopyReadWaitMiss
Definition: ketypes.h:782
struct _KPRCB * PKPRCB
PP_LOOKASIDE_LIST PPLookasideList[16]
Definition: ketypes.h:624
KSPIN_LOCK_QUEUE DECLSPEC_ALIGN(128) LockQueue[17]
struct _KTRAP_FRAME KTRAP_FRAME
ULONG Reserved2
Definition: ketypes.h:310
GENERAL_LOOKASIDE_POOL PPNxPagedLookasideList[32]
Definition: ketypes.h:976
struct _KPROCESSOR_STATE * PKPROCESSOR_STATE
KARM_MINI_STACK UdfMiniStack
Definition: ketypes.h:968
ULONG CcDataFlushes
Definition: ketypes.h:778
long LONG
Definition: pedump.c:60
ULONG PcrAlign1[24]
Definition: ketypes.h:887
ULONG KeAlignmentFixupCount
Definition: ketypes.h:796
PVOID EtwSupport
Definition: ketypes.h:809
ULONG CcCopyReadNoWait
Definition: ketypes.h:652
struct _KPRCB KPRCB
short SHORT
Definition: pedump.c:59
struct _KEXCEPTION_FRAME * PKEXCEPTION_FRAME
PVOID AcpiReserved
Definition: ketypes.h:615
PKTHREAD NextThread
Definition: ketypes.h:726
ULONG R11
Definition: ketypes.h:348
LONG TargetCount
Definition: ketypes.h:799
CONTEXT ContextFrame
Definition: ketypes.h:531
struct _KSWITCH_FRAME KSWITCH_FRAME
UCHAR _PADDING15_[0x58]
Definition: ketypes.h:982
struct _KSPECIAL_REGISTERS * PKSPECIAL_REGISTERS
LONG MmMappedWriteIoCount
Definition: ketypes.h:645
ULONG StallScaleFactor
Definition: ketypes.h:878
ULONG DeviceInterrupts
Definition: ketypes.h:939
ULONG FaultAddress
Definition: ketypes.h:324
ULONG Return
Definition: ketypes.h:695
LONG IoReadOperationCount
Definition: ketypes.h:660
ULONG OriginalLr
Definition: ketypes.h:678
unsigned char BOOLEAN
struct _KPRCB * CurrentPrcb
Definition: ketypes.h:864
SHORT ThreadDpcState
Definition: ketypes.h:821
ULONG64 StartCycles
Definition: ketypes.h:893
ULONG SecondLevelCacheSize
Definition: ketypes.h:881
ULONG CarryBorrowExtend
Definition: ketypes.h:445
BOOLEAN ContextFromKFramesUnwound
Definition: ketypes.h:329
ULONG Cp15_Cr2_Ttb1
Definition: ketypes.h:389
ULONG ScbOffset
Definition: ketypes.h:888
UCHAR SkipTick
Definition: ketypes.h:738
struct _KARM_VFP_STATE KARM_VFP_STATE
USHORT MinorVersion
Definition: ketypes.h:597
#define FORCEINLINE
Definition: ntbasedef.h:221
struct _DISPATCHER_CONTEXT * PDISPATCHER_CONTEXT
LONG MmCacheTransitionCount
Definition: ketypes.h:791
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
ULONG Cp15_Cr6_Dfar
Definition: ketypes.h:393
ULONG ReadyScanTick
Definition: ketypes.h:843
ULONG KernelTime
Definition: ketypes.h:733
ULONG Unused0[3]
Definition: ketypes.h:875
ULONG KeContextSwitches
Definition: ketypes.h:648
ULONG Length
Definition: ketypes.h:996
ULONG DpcThreadActive
Definition: ketypes.h:832
union _ARM_TTB_REGISTER ARM_TTB_REGISTER
KDPC AbDpc
Definition: ketypes.h:981
ULONG SharedReadyQueueOffset
Definition: ketypes.h:937
LONG MmDirtyWriteIoCount
Definition: ketypes.h:643
PVOID Spare1
Definition: ketypes.h:1022
ULONG InterruptCount
Definition: ketypes.h:732
ULONG R0
Definition: ketypes.h:684
KGATE DpcGate
Definition: ketypes.h:849
UCHAR _PADDING11_[0xC]
Definition: ketypes.h:935
ULONG Cp15_Cr13_UsrRW
Definition: ketypes.h:588
ULONG Cp15_Cr1_AuxControl
Definition: ketypes.h:385
KEVENT DpcEvent
Definition: ketypes.h:706
ULONG CcFastReadNotPossible
Definition: ketypes.h:651
ULONG Cp15_Cr1_Control
Definition: ketypes.h:384
ULONG Wvr[1]
Definition: ketypes.h:339
ULONG Cp15_Cr10_NormalMemoryRemap
Definition: ketypes.h:405
ULONG KernelWcr[1]
Definition: ketypes.h:594
ULONG PrcbLock
Definition: ketypes.h:741
UCHAR CoresPerPhysicalProcessor
Definition: ketypes.h:602
ULONG Cp15_Cr2_Ttb0
Definition: ketypes.h:388
struct _UCALLOUT_FRAME UCALLOUT_FRAME
PVOID WheaInfo
Definition: ketypes.h:808
struct _KARM_ARCH_STATE KARM_ARCH_STATE
ULONG CcLazyWriteIos
Definition: ketypes.h:776
ULONG DpcNormalDpcPresent
Definition: ketypes.h:829
ULONG KernelReserved[15]
Definition: ketypes.h:880
ULONG MaxBreakpoints
Definition: ketypes.h:764
ULONG CcMapDataWait
Definition: ketypes.h:769
UINT64 TimerRequest
Definition: ketypes.h:691
struct _KNODE * ParentNode
Definition: ketypes.h:751
PVOID SpBase
Definition: ketypes.h:804
UCHAR _PADDING8_[0x38]
Definition: ketypes.h:871
UCHAR _PADDING9_[0x4]
Definition: ketypes.h:891
LIST_ENTRY WaitListHead
Definition: ketypes.h:722
ULONG GroupSetMember
Definition: ketypes.h:756
ULONG CcFastMdlReadNotPossible
Definition: ketypes.h:767
ULONG CcMdlReadNoWaitMiss
Definition: ketypes.h:788
uint64_t ULONGLONG
Definition: typedefs.h:65
ULONG MPAffinity
Definition: ketypes.h:853
enum _ARM_DOMAINS ARM_DOMAINS
PVOID HyperPte
Definition: ketypes.h:807
UCHAR _PADDING1_[0x4]
Definition: ketypes.h:1057
ULONG Cp15_Cr3_Dacr
Definition: ketypes.h:390
PVOID EstablisherFrame
Definition: ketypes.h:1006
ULONG64 CycleCounterHigh
Definition: ketypes.h:895
PVOID Buffer
Definition: ketypes.h:995
ULONG ClockInterrupts
Definition: ketypes.h:842
PKTHREAD IdleThread
Definition: ketypes.h:727
UCHAR Fill[7]
Definition: ketypes.h:693
SINGLE_LIST_ENTRY AbSelfIoBoostsList
Definition: ketypes.h:979
ULONG OutputLength
Definition: ketypes.h:364
ULONG Reserved
Definition: ketypes.h:309
PCHAR PriorityState
Definition: ketypes.h:742
UINT64 PacketBarrier
Definition: ketypes.h:627
ULONG KeSystemCalls
Definition: ketypes.h:647
UINT64 CacheProcessorMask[5]
Definition: ketypes.h:816
ULONG Cp15_Cr9_PmCycleCounter
Definition: ketypes.h:397
PVOID * IdtExt
Definition: ketypes.h:1055
ULONG LLCMask
Definition: ketypes.h:951
LONG MmSpinLockOrdering
Definition: ketypes.h:756
UCHAR CpuVendor
Definition: ketypes.h:600
LARGE_INTEGER IoOtherTransferCount
Definition: ketypes.h:665
ULONG CcPinReadWaitMiss
Definition: ketypes.h:787
ULONG CcDataPages
Definition: ketypes.h:779
KPROCESSOR_STATE ProcessorState
Definition: ketypes.h:579
LONG IoOtherOperationCount
Definition: ketypes.h:662
UCHAR LegacyNumber
Definition: ketypes.h:722
PVOID IsrStack
Definition: ketypes.h:972
UCHAR ClockPollCycle
Definition: ketypes.h:714
unsigned __int64 ULONG64
Definition: imports.h:198
ULONG Arg3
Definition: ketypes.h:320
LONG MmCacheIoCount
Definition: ketypes.h:793
unsigned char UCHAR
Definition: xmlstorage.h:181
union _ARM_STATUS_REGISTER ARM_STATUS_REGISTER
ULONG CachedCommit
Definition: ketypes.h:805
UCHAR DpcRoutineActive
Definition: ketypes.h:688
ULONG NodeColor
Definition: ketypes.h:758
KPRCB Prcb
Definition: ketypes.h:889
USHORT ProcessorRevision
Definition: ketypes.h:745
ULONG DpcNormalProcessingRequested
Definition: ketypes.h:826
union _ARM_LOCKDOWN_REGISTER ARM_LOCKDOWN_REGISTER
Definition: ketypes.h:687
KARM_MINI_STACK IrqMiniStack
Definition: ketypes.h:967
UCHAR BuildType
Definition: ketypes.h:599
ULONG CcFastMdlReadNoWait
Definition: ketypes.h:765
UCHAR DpcInterruptRequested
Definition: ketypes.h:686
ULONG Cp15_Cr9_PmSelect
Definition: ketypes.h:402
struct _DISPATCHER_CONTEXT DISPATCHER_CONTEXT
ULONG HalReserved[16]
Definition: ketypes.h:882
ULONG CcMdlReadNoWait
Definition: ketypes.h:773
ULONG UserTime
Definition: ketypes.h:734
Definition: typedefs.h:117
ULONG InterruptLastCount
Definition: ketypes.h:845
ULONG ControlPcIsUnwound
Definition: ketypes.h:650
LONG DpcWatchdogPeriod
Definition: ketypes.h:716
UCHAR ThreadDpcEnable
Definition: ketypes.h:695
struct _KSPECIAL_REGISTERS KSPECIAL_REGISTERS
UCHAR CacheCount
Definition: ketypes.h:955
ULONG Bvr[8]
Definition: ketypes.h:337
UCHAR _PADDING2_[0x2]
Definition: ketypes.h:762
struct _KPCR * Self
Definition: ketypes.h:863
union _ARM_CACHE_REGISTER ARM_CACHE_REGISTER
LARGE_INTEGER IoReadTransferCount
Definition: ketypes.h:663
ULONG Cp15_Cr9_PmOverflowStatus
Definition: ketypes.h:401
UINT64 SetMember
Definition: ketypes.h:578
ULONG CcLazyWritePages
Definition: ketypes.h:777
ULONG Cp15_Cr1_Cpacr
Definition: ketypes.h:386
ULONG ReadySummary
Definition: ketypes.h:726
KTIMER DpcWatchdogTimer
Definition: ketypes.h:802
SINGLE_LIST_ENTRY DeferredReadyListHead
Definition: ketypes.h:628
ULONG DpcThreadRequested
Definition: ketypes.h:833
ULONG64 CycleTime
Definition: ketypes.h:904
USHORT ProcessorModel
Definition: ketypes.h:744
UCHAR _PADDING13_[0x74]
Definition: ketypes.h:962
UCHAR PendingBackupTick
Definition: ketypes.h:736
ULONG ExtendedPageTables
Definition: ketypes.h:494
struct _KSTART_FRAME KSTART_FRAME
SHORT NormalDpcState
Definition: ketypes.h:820
struct _REQUEST_MAILBOX * Mailbox
Definition: ketypes.h:798
ULONG DpcNormalThreadSignal
Definition: ketypes.h:827
SHORT DpcRequestSlot[2]
Definition: ketypes.h:817
PVOID KdVersionBlock
Definition: ketypes.h:885
PVOID DpcStack
Definition: ketypes.h:677
ULONG Wcr[1]
Definition: ketypes.h:340
UINT64 TimerHand
Definition: ketypes.h:690
unsigned short USHORT
Definition: pedump.c:61
BOOLEAN ExceptionActive
Definition: ketypes.h:328
ULONG Sp
Definition: ketypes.h:346
LONG DpcRequestSummary
Definition: ketypes.h:816
ULONG KeExceptionDispatchCount
Definition: ketypes.h:701
ULONG_PTR KAFFINITY
Definition: compat.h:75
LONG Sleeping
Definition: ketypes.h:762
ULONG Cp15_Cr13_UsrRO
Definition: ketypes.h:589
ULONG NodeShiftedColor
Definition: ketypes.h:759
LONG DpcSetEventRequest
Definition: ketypes.h:699
ULONG InterruptRate
Definition: ketypes.h:846
ULONG CcFastReadNoWait
Definition: ketypes.h:649
#define FIELD_OFFSET(t, f)
Definition: typedefs.h:254
union _ARM_CONTROL_REGISTER ARM_CONTROL_REGISTER
union _ARM_LOCKDOWN_REGISTER * PARM_LOCKDOWN_REGISTER
ULONG ScanSiblingMask
Definition: ketypes.h:950
ULONG Cp15_Cr13_ContextId
Definition: ketypes.h:407
USHORT MajorVersion
Definition: ketypes.h:598
UCHAR _PADDING14_[0x8]
Definition: ketypes.h:965
struct _KARM_MINI_STACK KARM_MINI_STACK
USHORT MajorVersion
Definition: ketypes.h:876
KIRQL CurrentIrql
Definition: ketypes.h:1029
KARM_ARCH_STATE ArchState
Definition: ketypes.h:618
UCHAR DispatchInterrupt
Definition: ketypes.h:1044
UCHAR DpcThreadActive
Definition: ketypes.h:689
struct _KSPIN_LOCK_QUEUE * LockArray
Definition: ketypes.h:1025
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG _In_ LONG x2
Definition: winddi.h:3706
ULONG MaxWatchpoints
Definition: ketypes.h:765
ULONG R1
Definition: ketypes.h:342
MACHINE_FRAME MachineFrame
Definition: ketypes.h:998
ULONG CcMapDataNoWaitMiss
Definition: ketypes.h:784
ULONG OutputBuffer
Definition: ketypes.h:363
USHORT InterruptPad
Definition: ketypes.h:1047
LIST_ENTRY DispatcherReadyListHead[32]
Definition: ketypes.h:731
LONG MmCopyOnWriteCount
Definition: ketypes.h:630
UCHAR LogicalProcessorsPerCore
Definition: ketypes.h:603
LONG MmPageReadCount
Definition: ketypes.h:636
PKARM_VFP_STATE VfpState
Definition: ketypes.h:336
struct _KARM_VFP_STATE * Link
Definition: ketypes.h:307
UCHAR _PADDING5_[0x4]
Definition: ketypes.h:847
UCHAR Group
Definition: ketypes.h:571
LIST_ENTRY ScbList
Definition: ketypes.h:870
unsigned int ULONG
Definition: retypes.h:1
ULONG Cp15_Cr5_Ifsr
Definition: ketypes.h:392
UCHAR GroupIndex
Definition: ketypes.h:758
ULONG CoreProcessorSet
Definition: ketypes.h:949
ULONG ScanSiblingIndex
Definition: ketypes.h:953
ULONG64 AffinitizedCycles
Definition: ketypes.h:892
UCHAR _PADDING7_[0x38]
Definition: ketypes.h:862
UCHAR PendingTickFlags
Definition: ketypes.h:732
UCHAR NestingLevel
Definition: ketypes.h:570
ULONG Number
Definition: ketypes.h:740
KSPIN_LOCK_QUEUE LockQueue[LockQueueMaximumLock]
Definition: ketypes.h:623
struct _KSTART_FRAME * PKSTART_FRAME
ULONG CcPinReadNoWait
Definition: ketypes.h:771
ULONG KernelBvr[8]
Definition: ketypes.h:591
ULONG PteBitOffset
Definition: ketypes.h:974
struct _KTRAP_FRAME * PKTRAP_FRAME
struct _MACHINE_FRAME MACHINE_FRAME
ULONG CcFastReadWait
Definition: ketypes.h:650
LONG MmPageReadIoCount
Definition: ketypes.h:637
NT_TIB NtTib
Definition: ketypes.h:857
unsigned long long UINT64
ULONG DpcRequestRate
Definition: ketypes.h:684
KENTROPY_TIMING_STATE EntropyTimingState
Definition: ketypes.h:897
ULONGLONG VfpD[32]
Definition: ketypes.h:311
ULONG DpcNormalTimerExpiration
Definition: ketypes.h:828
ULONG R2
Definition: ketypes.h:686
LONG MaximumDpcQueueDepth
Definition: ketypes.h:683
ULONG PageColor
Definition: ketypes.h:757
ULONG FaultStatus
Definition: ketypes.h:321
ULONG CcLazyWriteHotSpots
Definition: ketypes.h:775
ULONG ContextFlagsInit
Definition: ketypes.h:767
UCHAR PendingTick
Definition: ketypes.h:735
LONG MmDirtyPagesWriteCount
Definition: ketypes.h:642
ULONG64 GenerationTarget
Definition: ketypes.h:894
PVOID Idt[256]
Definition: ketypes.h:1054
LONG DpcWatchdogCount
Definition: ketypes.h:717
UCHAR PrcbPad10[3]
Definition: ketypes.h:798
struct _KPROCESSOR_STATE KPROCESSOR_STATE
PVOID Unused3
Definition: ketypes.h:886
ULONG CcLostDelayedWrites
Definition: ketypes.h:780
UCHAR ReservedMustBeZero
Definition: ketypes.h:723
union _ARM_CACHE_REGISTER * PARM_CACHE_REGISTER
ULONG PeriodicBias
Definition: ketypes.h:746
ULONG AvailableTime
Definition: ketypes.h:887
UCHAR _PADDING10_[0x58]
Definition: ketypes.h:905
PVOID IsrDpcStats
Definition: ketypes.h:940
ULONG CcCopyReadNoWaitMiss
Definition: ketypes.h:654
KARM_MINI_STACK FiqMiniStack
Definition: ketypes.h:966
union _ARM_ID_CODE_REGISTER * PARM_ID_CODE_REGISTER
ULONG DpcThreadSpare
Definition: ketypes.h:834
CHAR PreviousMode
Definition: ketypes.h:313
UCHAR IdleSchedule
Definition: ketypes.h:698
ULONG Cp15_Cr9_PmEventCounter[31]
Definition: ketypes.h:398
UCHAR PollSlot
Definition: ketypes.h:740
GENERAL_LOOKASIDE_POOL PPPagedLookasideList[NUMBER_POOL_LOOKASIDE_LISTS]
Definition: ketypes.h:626
CHAR CpuType
Definition: ketypes.h:580
ULONG WaitLock
Definition: ketypes.h:864
ULONG AdjustDpcThreshold
Definition: ketypes.h:737
ULONG RequestSummary
Definition: ketypes.h:801
UCHAR _PADDING4_[0x8]
Definition: ketypes.h:797
ULONG CcPinReadWait
Definition: ketypes.h:772