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