ReactOS 0.4.15-dev-7918-g2a2556c
kd64.h
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS Kernel
3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: ntoskrnl/include/internal/kd64.h
5 * PURPOSE: Internal header for the KD64 Library
6 * PROGRAMMERS: Alex Ionescu (alex.ionescu@reactos.org)
7 */
8
9#pragma once
10
11//
12// Default size of the DbgPrint log buffer
13//
14#if DBG
15#define KD_DEFAULT_LOG_BUFFER_SIZE 0x8000
16#else
17#define KD_DEFAULT_LOG_BUFFER_SIZE 0x1000
18#endif
19
20//
21// Default size of the Message and Path buffers
22//
23#define KDP_MSG_BUFFER_SIZE 0x1000
24
25//
26// Maximum supported number of breakpoints
27//
28#define KD_BREAKPOINT_MAX 32
29
30//
31// Highest limit starting which we consider that breakpoint addresses
32// are either in system space, or in user space but inside shared DLLs.
33//
34// I'm wondering whether this can be computed using MmHighestUserAddress
35// or whether there is already some #define somewhere else...
36// See http://www.drdobbs.com/windows/faster-dll-load-load/184416918
37// and http://www.drdobbs.com/rebasing-win32-dlls/184416272
38// for a tentative explanation.
39//
40#define KD_HIGHEST_USER_BREAKPOINT_ADDRESS (PVOID)0x60000000 // MmHighestUserAddress
41
42//
43// Breakpoint Status Flags
44//
45#define KD_BREAKPOINT_ACTIVE 0x01
46#define KD_BREAKPOINT_PENDING 0x02
47#define KD_BREAKPOINT_SUSPENDED 0x04
48#define KD_BREAKPOINT_EXPIRED 0x08
49
50//
51// Structure for Breakpoints
52//
53typedef struct _BREAKPOINT_ENTRY
54{
60
61//
62// Debug and Multi-Processor Switch Routine Definitions
63//
64typedef
67 IN PKTRAP_FRAME TrapFrame,
68 IN PKEXCEPTION_FRAME ExceptionFrame,
69 IN PEXCEPTION_RECORD ExceptionRecord,
72 IN BOOLEAN SecondChance
73);
74
75typedef
78 IN PEXCEPTION_RECORD ExceptionRecord,
80 IN BOOLEAN SecondChance
81);
82
83//
84// Initialization Routines
85//
89 _In_ ULONG BootPhase,
91);
92
93VOID
96 VOID
97);
98
99//
100// Determines if the kernel debugger must handle a particular trap
101//
103NTAPI
105 IN PEXCEPTION_RECORD ExceptionRecord,
108);
109
110//
111// Multi-Processor Switch Support
112//
114NTAPI
116 IN PEXCEPTION_RECORD ExceptionRecord,
118 IN BOOLEAN SecondChanceException
119);
120
121//
122// Time Slip Support
123//
124VOID
125NTAPI
128);
129
130VOID
131NTAPI
133 IN PKDPC Dpc,
137);
138
139//
140// Debug Trap Handlers
141//
143NTAPI
144KdpStub(
145 IN PKTRAP_FRAME TrapFrame,
146 IN PKEXCEPTION_FRAME ExceptionFrame,
147 IN PEXCEPTION_RECORD ExceptionRecord,
150 IN BOOLEAN SecondChanceException
151);
152
154NTAPI
155KdpTrap(
156 IN PKTRAP_FRAME TrapFrame,
157 IN PKEXCEPTION_FRAME ExceptionFrame,
158 IN PEXCEPTION_RECORD ExceptionRecord,
161 IN BOOLEAN SecondChanceException
162);
163
164//
165// Port Locking
166//
167VOID
168NTAPI
170 VOID
171);
172
173VOID
174NTAPI
176 VOID
177);
178
180NTAPI
182 VOID
183);
184
185//
186// Debugger Enter, Exit, Enable and Disable
187//
189NTAPI
191 IN PKTRAP_FRAME TrapFrame,
192 IN PKEXCEPTION_FRAME ExceptionFrame
193);
194
195VOID
196NTAPI
199);
200
202NTAPI
204 IN BOOLEAN NeedLock
205);
206
208NTAPI
210 IN BOOLEAN NeedLock
211);
212
213//
214// Debug Event Handlers
215//
217NTAPI
224 _In_ PKTRAP_FRAME TrapFrame,
225 _In_ PKEXCEPTION_FRAME ExceptionFrame,
227);
228
229USHORT
230NTAPI
232 _In_reads_bytes_(PromptLength) PCHAR PromptString,
233 _In_ USHORT PromptLength,
237 _In_ PKTRAP_FRAME TrapFrame,
238 _In_ PKEXCEPTION_FRAME ExceptionFrame
239);
240
241VOID
242NTAPI
245 IN PKD_SYMBOLS_INFO SymbolInfo,
249 IN PKTRAP_FRAME TrapFrame,
250 IN PKEXCEPTION_FRAME ExceptionFrame
251);
252
253VOID
254NTAPI
256 IN PSTRING NameString,
257 IN PSTRING CommandString,
260 IN PKTRAP_FRAME TrapFrame,
261 IN PKEXCEPTION_FRAME ExceptionFrame
262);
263
264//
265// State Change Notifications
266//
267VOID
268NTAPI
270 IN PSTRING PathName,
271 IN PKD_SYMBOLS_INFO SymbolInfo,
274);
275
276VOID
277NTAPI
279 IN PSTRING NameString,
280 IN PSTRING CommandString,
282);
283
285NTAPI
287 IN PEXCEPTION_RECORD ExceptionRecord,
289 IN BOOLEAN SecondChanceException
290);
291
292//
293// Breakpoint Support
294//
295ULONG
296NTAPI
299);
300
301VOID
302NTAPI
304 VOID
305);
306
308NTAPI
310 IN ULONG BpEntry
311);
312
314NTAPI
316 IN PVOID Base,
318);
319
320VOID
321NTAPI
323 IN ULONG BpEntry
324);
325
326VOID
327NTAPI
329 VOID
330);
331
332VOID
333NTAPI
335 VOID
336);
337
338//
339// Routine to determine if it is safe to disable the debugger
340//
342NTAPI
344 VOID
345);
346
347//
348// Safe memory read & write Support
349//
351NTAPI
355 _In_ ULONG TotalSize,
358 _Out_opt_ PULONG ActualSize
359);
360
361//
362// Internal memory handling routines for KD isolation
363//
364VOID
365NTAPI
370);
371
372VOID
373NTAPI
377);
378
379//
380// Low Level Support Routines for the KD API
381//
382
383//
384// Version
385//
386VOID
387NTAPI
390);
391
392//
393// Context
394//
395VOID
396NTAPI
400);
401
402VOID
403NTAPI
405 IN PDBGKD_ANY_WAIT_STATE_CHANGE WaitStateChange,
407);
408
409//
410// MSR
411//
413NTAPI
415 IN ULONG Msr,
416 OUT PLARGE_INTEGER MsrValue
417);
418
420NTAPI
422 IN ULONG Msr,
423 IN PLARGE_INTEGER MsrValue
424);
425
426//
427// Bus
428//
430NTAPI
432 IN ULONG BusDataType,
438 OUT PULONG ActualLength
439);
440
442NTAPI
444 IN ULONG BusDataType,
450 OUT PULONG ActualLength
451);
452
453//
454// Control Space
455//
457NTAPI
463 OUT PULONG ActualLength
464);
465
467NTAPI
473 OUT PULONG ActualLength
474);
475
476//
477// I/O Space
478//
480NTAPI
485 IN ULONG64 IoAddress,
486 IN PVOID DataValue,
488 OUT PULONG ActualDataSize
489);
490
492NTAPI
497 IN ULONG64 IoAddress,
498 IN PVOID DataValue,
500 OUT PULONG ActualDataSize
501);
502
503//
504// Low Memory
505//
507NTAPI
510);
511
512//
513// Internal routine for sending strings directly to the debugger
514//
515VOID
519 ...);
520
522NTAPI
525
526VOID
527NTAPI
530
531//
532// Global KD Data
533//
540extern ULONG KdDisableCount;
552extern KDPC KdpTimeSlipDpc;
563
566
574
581extern ULONG TraceDataBuffer[40];
583
584//
585// Debug Filter Component Table
586//
587#define MAX_KD_COMPONENT_TABLE_ENTRIES (DPFLTR_ENDOFTABLE_ID + 1)
590
591//
592// Debug Filter Masks
593//
595extern ULONG Kd_SYSTEM_Mask;
596extern ULONG Kd_SMSS_Mask;
597extern ULONG Kd_SETUP_Mask;
598extern ULONG Kd_NTFS_Mask;
599extern ULONG Kd_FSTUB_Mask;
602extern ULONG Kd_CDROM_Mask;
604extern ULONG Kd_DISK_Mask;
609extern ULONG Kd_CONFIG_Mask;
613extern ULONG Kd_KBDHID_Mask;
614extern ULONG Kd_MOUHID_Mask;
618extern ULONG Kd_WMILIB_Mask;
619extern ULONG Kd_ACPI_Mask;
620extern ULONG Kd_AMLI_Mask;
622extern ULONG Kd_VIDEO_Mask;
625extern ULONG Kd_TCPIP_Mask;
629extern ULONG Kd_SAMSS_Mask;
630extern ULONG Kd_PNPMGR_Mask;
631extern ULONG Kd_NETAPI_Mask;
634extern ULONG Kd_SERIAL_Mask;
636extern ULONG Kd_UHCD_Mask;
639extern ULONG Kd_DCOMSS_Mask;
641extern ULONG Kd_SIS_Mask;
642extern ULONG Kd_FLTMGR_Mask;
645extern ULONG Kd_IMAPI_Mask;
646extern ULONG Kd_SXS_Mask;
647extern ULONG Kd_FUSION_Mask;
650extern ULONG Kd_TAPE_Mask;
651extern ULONG Kd_MCHGR_Mask;
652extern ULONG Kd_IDEP_Mask;
653extern ULONG Kd_PCIIDE_Mask;
654extern ULONG Kd_FLOPPY_Mask;
655extern ULONG Kd_FDC_Mask;
660extern ULONG Kd_FCPORT_Mask;
661extern ULONG Kd_PCI_Mask;
662extern ULONG Kd_DMIO_Mask;
666extern ULONG Kd_VSS_Mask;
667extern ULONG Kd_PNPMEM_Mask;
670extern ULONG Kd_SR_Mask;
677extern ULONG Kd_IHVBUS_Mask;
678extern ULONG Kd_HPS_Mask;
680extern ULONG Kd_LDR_Mask;
681extern ULONG Kd_TCPIP6_Mask;
682extern ULONG Kd_ISAPNP_Mask;
683extern ULONG Kd_SHPC_Mask;
689extern ULONG Kd_VDS_Mask;
690extern ULONG Kd_VDSBAS_Mask;
691extern ULONG Kd_VDSDYN_Mask; // Specified in Vista+
693extern ULONG Kd_VDSLDR_Mask; // Specified in Vista+
697extern ULONG Kd_MM_Mask;
698extern ULONG Kd_DFSC_Mask;
699extern ULONG Kd_WOW64_Mask;
700//
701// Components specified in Vista+, some of which we also use in ReactOS
702//
703extern ULONG Kd_ALPC_Mask;
704extern ULONG Kd_WDI_Mask;
706extern ULONG Kd_KTM_Mask;
708extern ULONG Kd_HEAP_Mask;
709extern ULONG Kd_WHEA_Mask;
711extern ULONG Kd_MMCSS_Mask;
712extern ULONG Kd_TPM_Mask;
715extern ULONG Kd_EMS_Mask;
716extern ULONG Kd_WDT_Mask;
717extern ULONG Kd_FVEVOL_Mask;
718extern ULONG Kd_NDIS_Mask;
720extern ULONG Kd_LUAFV_Mask;
727extern ULONG Kd_CFR_Mask;
728extern ULONG Kd_TXF_Mask;
729extern ULONG Kd_KSECDD_Mask;
731extern ULONG Kd_MPIO_Mask;
732extern ULONG Kd_MSDSM_Mask;
733extern ULONG Kd_UDFS_Mask;
734extern ULONG Kd_PSHED_Mask;
736extern ULONG Kd_LSASS_Mask;
738extern ULONG Kd_CNG_Mask;
739extern ULONG Kd_EXFAT_Mask;
741extern ULONG Kd_XSAVE_Mask;
742extern ULONG Kd_SE_Mask;
744//
745// Components specified in Windows 8
746//
747extern ULONG Kd_POWER_Mask;
749extern ULONG Kd_GPIO_Mask;
750extern ULONG Kd_REFS_Mask;
751extern ULONG Kd_WER_Mask;
752//
753// Components specified in Windows 10
754//
755extern ULONG Kd_CAPIMG_Mask;
756extern ULONG Kd_VPCI_Mask;
758extern ULONG Kd_FSLIB_Mask;
unsigned char BOOLEAN
#define __cdecl
Definition: accygwin.h:79
ACPI_BUFFER *RetBuffer ACPI_BUFFER *RetBuffer char ACPI_WALK_RESOURCE_CALLBACK void *Context ACPI_BUFFER *RetBuffer UINT16 ACPI_RESOURCE **ResourcePtr ACPI_GENERIC_ADDRESS *Reg UINT32 *ReturnValue UINT8 UINT8 *Slp_TypB ACPI_PHYSICAL_ADDRESS PhysicalAddress64 UINT32 UINT32 *TimeElapsed UINT32 ACPI_STATUS const char UINT32 ACPI_STATUS const char UINT32 const char const char UINT32 ComponentId
Definition: acpixf.h:1281
LONG NTSTATUS
Definition: precomp.h:26
Definition: bufpool.h:45
ULONG KSPIN_LOCK
Definition: env_spec_w32.h:72
static VOID NTAPI Unload(PDRIVER_OBJECT DriverObject)
Definition: floppy.c:377
ULONG Kd_WDI_Mask
Definition: kddata.c:254
ULONG Kd_LDR_Mask
Definition: kddata.c:230
BOOLEAN NTAPI KdpTrap(IN PKTRAP_FRAME TrapFrame, IN PKEXCEPTION_FRAME ExceptionFrame, IN PEXCEPTION_RECORD ExceptionRecord, IN PCONTEXT ContextRecord, IN KPROCESSOR_MODE PreviousMode, IN BOOLEAN SecondChanceException)
Definition: kdtrap.c:135
ULONG Kd_KBDCLASS_Mask
Definition: kddata.c:165
ULONG Kd_PCI_Mask
Definition: kddata.c:211
#define KD_BREAKPOINT_MAX
Definition: kd64.h:28
ULONG Kd_USERGDI_Mask
Definition: kddata.c:260
VOID NTAPI KdpCommandString(IN PSTRING NameString, IN PSTRING CommandString, IN KPROCESSOR_MODE PreviousMode, IN PCONTEXT ContextRecord, IN PKTRAP_FRAME TrapFrame, IN PKEXCEPTION_FRAME ExceptionFrame)
Definition: kdprint.c:224
ULONG Kd_APPCOMPAT_Mask
Definition: kddata.c:271
ULONG Kd_SAMSS_Mask
Definition: kddata.c:179
ULONG Kd_STORMINIPORT_Mask
Definition: kddata.c:235
ULONG Kd_POWER_Mask
Definition: kddata.c:297
BREAKPOINT_ENTRY KdpBreakpointTable[KD_BREAKPOINT_MAX]
Definition: kddata.c:96
ULONG Kd_EXFAT_Mask
Definition: kddata.c:289
ULONG Kd_KTM_Mask
Definition: kddata.c:256
VOID NTAPI KdpSuspendBreakPoint(IN ULONG BpEntry)
Definition: kdbreak.c:391
ULONG Kd_CRASHDUMP_Mask
Definition: kddata.c:150
ULONG Kd_REDBOOK_Mask
Definition: kddata.c:155
NTSTATUS NTAPI KdpSysReadBusData(IN ULONG BusDataType, IN ULONG BusNumber, IN ULONG SlotNumber, IN ULONG Offset, IN PVOID Buffer, IN ULONG Length, OUT PULONG ActualLength)
Definition: kdx64.c:134
ULONG Kd_BURNENG_Mask
Definition: kddata.c:194
#define MAX_KD_COMPONENT_TABLE_ENTRIES
Definition: kd64.h:587
ULONG Kd_CDAUDIO_Mask
Definition: kddata.c:151
ULONG Kd_IDEP_Mask
Definition: kddata.c:202
BOOLEAN KdPreviouslyEnabled
Definition: kddata.c:87
BOOLEAN NTAPI KdInitSystem(_In_ ULONG BootPhase, _In_opt_ PLOADER_PARAMETER_BLOCK LoaderBlock)
Definition: kdinit.c:142
ULONG Kd_FVEVOL_Mask
Definition: kddata.c:267
ULONG Kd_MMCSS_Mask
Definition: kddata.c:261
ULONG TraceDataBufferPosition
Definition: kddata.c:111
ULONG Kd_MM_Mask
Definition: kddata.c:247
ULONG Kd_DRIVEEXTENDER_Mask
Definition: kddata.c:293
ULONG Kd_RSFILTER_Mask
Definition: kddata.c:209
BOOLEAN KdPitchDebugger
Definition: kddata.c:81
BOOLEAN NTAPI KdpDeleteBreakpointRange(IN PVOID Base, IN PVOID Limit)
Definition: kdbreak.c:340
BOOLEAN NTAPI KdpPollBreakInWithPortLock(VOID)
Definition: kdlock.c:35
ULONG Kd_WER_Mask
Definition: kddata.c:301
NTSTATUS NTAPI KdDisableDebuggerWithLock(IN BOOLEAN NeedLock)
Definition: kdapi.c:2040
ULONG Kd_FLOPPY_Mask
Definition: kddata.c:204
ULONG KdPrintBufferSize
Definition: kddata.c:137
ULONG Kd_GPIO_Mask
Definition: kddata.c:299
ULONG Kd_SCCLIENT_Mask
Definition: kddata.c:183
ULONG KdPrintRolloverCount
Definition: kddata.c:135
struct _BREAKPOINT_ENTRY BREAKPOINT_ENTRY
ULONG Kd_AMLI_Mask
Definition: kddata.c:170
ULONG Kd_MSDSM_Mask
Definition: kddata.c:282
ULONG Kd_SXS_Mask
Definition: kddata.c:196
ULONG Kd_IHVNETWORK_Mask
Definition: kddata.c:225
ULONG Kd_VSSDYNDISK_Mask
Definition: kddata.c:237
ULONG Kd_LSASS_Mask
Definition: kddata.c:286
#define KD_DEFAULT_LOG_BUFFER_SIZE
Definition: kd64.h:17
BOOLEAN KdBlockEnable
Definition: kddata.c:85
LARGE_INTEGER KdTimerStop
Definition: kddata.c:122
ULONG Kd_FCPORT_Mask
Definition: kddata.c:210
ULONG Kd_LSERMOUS_Mask
Definition: kddata.c:162
BOOLEAN(NTAPI * PKDEBUG_ROUTINE)(IN PKTRAP_FRAME TrapFrame, IN PKEXCEPTION_FRAME ExceptionFrame, IN PEXCEPTION_RECORD ExceptionRecord, IN PCONTEXT Context, IN KPROCESSOR_MODE PreviousMode, IN BOOLEAN SecondChance)
Definition: kd64.h:66
ULONG Kd_UDFS_Mask
Definition: kddata.c:283
KSPIN_LOCK KdpPrintSpinLock
Definition: kddata.c:139
ULONG Kd_FASTFAT_Mask
Definition: kddata.c:178
ULONG KdPrintBufferChanges
Definition: kddata.c:138
ULONG Kd_SMSS_Mask
Definition: kddata.c:146
ULONG Kd_ALPC_Mask
Definition: kddata.c:253
NTSTATUS NTAPI KdpSysReadControlSpace(IN ULONG Processor, IN ULONG64 BaseAddress, IN PVOID Buffer, IN ULONG Length, OUT PULONG ActualLength)
Definition: kdx64.c:162
ULONG Kd_DMSERVER_Mask
Definition: kddata.c:219
ULONG Kd_IHVBUS_Mask
Definition: kddata.c:227
ULONG Kd_KSECDD_Mask
Definition: kddata.c:279
ULONG Kd_FUSION_Mask
Definition: kddata.c:197
BOOLEAN KdpContextSent
Definition: kddata.c:69
ULONG Kd_WIN2000_Mask
Definition: kddata.c:144
ULONG Kd_EMS_Mask
Definition: kddata.c:265
LARGE_INTEGER KdPerformanceCounterRate
Definition: kddata.c:91
ULONG Kd_TCPIP6_Mask
Definition: kddata.c:231
ULONG Kd_NVCTRACE_Mask
Definition: kddata.c:269
ULONG_PTR KdpCurrentSymbolEnd
Definition: kd64.h:580
ULONG Kd_SERENUM_Mask
Definition: kddata.c:185
ULONG Kd_SERIAL_Mask
Definition: kddata.c:184
ULONG Kd_ISAPNP_Mask
Definition: kddata.c:232
ULONG Kd_STORPROP_Mask
Definition: kddata.c:156
BOOLEAN KdBreakAfterSymbolLoad
Definition: kddata.c:80
ULONG Kd_CLASSPNP_Mask
Definition: kddata.c:153
BOOLEAN KdEnteredDebugger
Definition: kddata.c:89
VOID NTAPI KdpPortLock(VOID)
Definition: kdlock.c:19
VOID NTAPI KdpSetContextState(IN PDBGKD_ANY_WAIT_STATE_CHANGE WaitStateChange, IN PCONTEXT Context)
Definition: kdx64.c:66
ULONG Kd_USBSTOR_Mask
Definition: kddata.c:272
VOID NTAPI KdLogDbgPrint(_In_ PSTRING String)
Definition: kdprint.c:63
ULONG Kd_VDSDYNDR_Mask
Definition: kddata.c:242
ULONG Kd_PNPMEM_Mask
Definition: kddata.c:217
ULONG Kd_TPM_Mask
Definition: kddata.c:262
ULONG Kd_CAPIMG_Mask
Definition: kddata.c:305
ULONG Kd_UHCD_Mask
Definition: kddata.c:186
NTSTATUS NTAPI KdpSysCheckLowMemory(IN ULONG Flags)
Definition: kdx64.c:356
ULONG Kd_DFRGIFC_Mask
Definition: kddata.c:245
ULONG Kd_W32TIME_Mask
Definition: kddata.c:207
ULONG Kd_SETUP_Mask
Definition: kddata.c:147
ULONG Kd_TXF_Mask
Definition: kddata.c:278
ULONG Kd_ACPI_Mask
Definition: kddata.c:169
ULONG Kd_IHVVIDEO_Mask
Definition: kddata.c:223
ULONG Kd_VDSUTIL_Mask
Definition: kddata.c:244
ULONG Kd_TERMSRV_Mask
Definition: kddata.c:206
ULONG Kd_LUAFV_Mask
Definition: kddata.c:270
ULONG Kd_SERMOUSE_Mask
Definition: kddata.c:161
ULONG Kd_WDT_Mask
Definition: kddata.c:266
ULONG Kd_TWOTRACK_Mask
Definition: kddata.c:167
ULONG Kd_WSOCKTRANSPORT_Mask
Definition: kddata.c:215
ULONG Kd_CRASHDUMPXHCI_Mask
Definition: kddata.c:298
ULONG Kd_AUTOCHK_Mask
Definition: kddata.c:188
LONG KdpTimeSlipPending
Definition: kddata.c:119
ULONG Kd_STORVSP_Mask
Definition: kddata.c:285
ULONG Kd_IOSTRESS_Mask
Definition: kddata.c:257
ULONG Kd_I8042PRT_Mask
Definition: kddata.c:160
KDPC KdpTimeSlipDpc
Definition: kddata.c:116
ULONG Kd_WMICORE_Mask
Definition: kddata.c:193
ULONG Kd_MOUNTMGR_Mask
Definition: kddata.c:276
ULONG Kd_WMILIB_Mask
Definition: kddata.c:168
ULONG Kd_FILETRACE_Mask
Definition: kddata.c:290
ULONG Kd_PCIIDE_Mask
Definition: kddata.c:203
BOOLEAN NTAPI KdpSwitchProcessor(IN PEXCEPTION_RECORD ExceptionRecord, IN OUT PCONTEXT ContextRecord, IN BOOLEAN SecondChanceException)
Definition: kdapi.c:1838
ULONG Kd_PRINTSPOOLER_Mask
Definition: kddata.c:236
ULONG Kd_DMCONFIG_Mask
Definition: kddata.c:213
ULONG Kd_REFS_Mask
Definition: kddata.c:300
VOID NTAPI KdpGetStateChange(IN PDBGKD_MANIPULATE_STATE64 State, IN PCONTEXT Context)
Definition: kdx64.c:22
BOOLEAN BreakpointsSuspended
Definition: kddata.c:99
ULONG Kd_NTOSPNP_Mask
Definition: kddata.c:177
ULONG KdComponentTableSize
Definition: kddata.c:485
BOOLEAN NTAPI KdpPrintString(_In_ PSTRING Output)
Definition: kdprint.c:109
PKEVENT KdpTimeSlipEvent
Definition: kddata.c:120
ULONG Kd_KBDHID_Mask
Definition: kddata.c:163
ULONG Kd_DFSC_Mask
Definition: kddata.c:248
ULONG Kd_VIDEOPRT_Mask
Definition: kddata.c:174
DBGKD_GET_VERSION64 KdVersionBlock
Definition: kddata.c:496
VOID NTAPI KdpTimeSlipWork(IN PVOID Context)
Definition: kdapi.c:1816
PCHAR KdPrintWritePointer
Definition: kddata.c:134
ULONG Kd_IDLETASK_Mask
Definition: kddata.c:198
ULONG Kd_SR_Mask
Definition: kddata.c:220
ULONG Kd_FSLIB_Mask
Definition: kddata.c:308
#define KDP_MSG_BUFFER_SIZE
Definition: kd64.h:23
ULONG Kd_MOUCLASS_Mask
Definition: kddata.c:166
BOOLEAN NTAPI KdpReportExceptionStateChange(IN PEXCEPTION_RECORD ExceptionRecord, IN OUT PCONTEXT Context, IN BOOLEAN SecondChanceException)
Definition: kdapi.c:1735
LARGE_INTEGER KdTimerStart
Definition: kd64.h:562
ULONG Kd_VIDEO_Mask
Definition: kddata.c:172
NTSTATUS NTAPI KdpSysWriteBusData(IN ULONG BusDataType, IN ULONG BusNumber, IN ULONG SlotNumber, IN ULONG Offset, IN PVOID Buffer, IN ULONG Length, OUT PULONG ActualLength)
Definition: kdx64.c:148
ULONG Kd_CFR_Mask
Definition: kddata.c:277
ULONG Kd_CONFIG_Mask
Definition: kddata.c:159
ULONG Kd_VDSDYN_Mask
Definition: kddata.c:241
ULONG Kd_SYSTEM_Mask
Definition: kddata.c:145
ULONG Kd_DEFAULT_Mask
Definition: kddata.c:246
ULONG Kd_PERFLIB_Mask
Definition: kddata.c:255
VOID NTAPI KdSetOwedBreakpoints(VOID)
Definition: kdbreak.c:105
ULONG Kd_VPCI_Mask
Definition: kddata.c:306
ULONG Kd_VSS_Mask
Definition: kddata.c:216
ULONG Kd_VDSLDR_Mask
Definition: kddata.c:243
ULONG Kd_SVCHOST_Mask
Definition: kddata.c:173
KSPIN_LOCK KdpDebuggerLock
Definition: kddata.c:67
ULONG Kd_SOFTPCI_Mask
Definition: kddata.c:199
ULONG KdDisableCount
Definition: kddata.c:90
NTSTATUS NTAPI KdpSysWriteMsr(IN ULONG Msr, IN PLARGE_INTEGER MsrValue)
Definition: kdx64.c:115
ULONG Kd_HPS_Mask
Definition: kddata.c:228
VOID NTAPI KdpReportCommandStringStateChange(IN PSTRING NameString, IN PSTRING CommandString, IN OUT PCONTEXT Context)
Definition: kdapi.c:1658
BOOLEAN KdIgnoreUmExceptions
Definition: kddata.c:86
ULONG Kd_VDS_Mask
Definition: kddata.c:239
PKDEBUG_ROUTINE KiDebugRoutine
Definition: kddata.c:74
ULONG Kd_UNIMODEM_Mask
Definition: kddata.c:190
ULONG Kd_PSHED_Mask
Definition: kddata.c:284
ULONG Kd_IHVAUDIO_Mask
Definition: kddata.c:224
ULONG Kd_IHVDRIVER_Mask
Definition: kddata.c:222
ULONG_PTR KdpCurrentSymbolStart
Definition: kddata.c:105
ULONG Kd_PREFETCHER_Mask
Definition: kddata.c:208
KSPIN_LOCK KdpTimeSlipEventLock
Definition: kddata.c:121
NTSTATUS NTAPI KdpSysWriteControlSpace(IN ULONG Processor, IN ULONG64 BaseAddress, IN PVOID Buffer, IN ULONG Length, OUT PULONG ActualLength)
Definition: kdx64.c:213
ULONG Kd_CNG_Mask
Definition: kddata.c:288
ULONG Kd_NDIS_Mask
Definition: kddata.c:268
ULONG TraceDataBuffer[40]
Definition: kddata.c:110
VOID NTAPI KdpReportLoadSymbolsStateChange(IN PSTRING PathName, IN PKD_SYMBOLS_INFO SymbolInfo, IN BOOLEAN Unload, IN OUT PCONTEXT Context)
Definition: kdapi.c:1586
ULONG Kd_MPIO_Mask
Definition: kddata.c:281
ULONG Kd_CDROM_Mask
Definition: kddata.c:152
VOID NTAPI KdpZeroMemory(_In_ PVOID Destination, _In_ SIZE_T Length)
Definition: kdapi.c:42
PKDEBUG_SWITCH_ROUTINE KiDebugSwitchRoutine
Definition: kddata.c:75
CHAR KdPrintDefaultCircularBuffer[KD_DEFAULT_LOG_BUFFER_SIZE]
Definition: kddata.c:133
VOID NTAPI KdpPortUnlock(VOID)
Definition: kdlock.c:27
BOOLEAN NTAPI KdpStub(IN PKTRAP_FRAME TrapFrame, IN PKEXCEPTION_FRAME ExceptionFrame, IN PEXCEPTION_RECORD ExceptionRecord, IN PCONTEXT ContextRecord, IN KPROCESSOR_MODE PreviousMode, IN BOOLEAN SecondChanceException)
Definition: kdtrap.c:266
ULONG Kd_PROCESSOR_Mask
Definition: kddata.c:218
ULONG Kd_IHVSTREAMING_Mask
Definition: kddata.c:226
NTSTATUS NTAPI KdpPrint(_In_ ULONG ComponentId, _In_ ULONG Level, _In_reads_bytes_(Length) PCHAR String, _In_ USHORT Length, _In_ KPROCESSOR_MODE PreviousMode, _In_ PKTRAP_FRAME TrapFrame, _In_ PKEXCEPTION_FRAME ExceptionFrame, _Out_ PBOOLEAN Handled)
Definition: kdprint.c:445
ULONG Kd_WOW64_Mask
Definition: kddata.c:249
WORK_QUEUE_ITEM KdpTimeSlipWorkItem
Definition: kddata.c:118
KD_BREAKPOINT_TYPE KdpBreakpointInstruction
Definition: kddata.c:97
ULONG Kd_SE_Mask
Definition: kddata.c:292
ULONG Kd_SHPC_Mask
Definition: kddata.c:233
VOID NTAPI KdpSymbol(IN PSTRING DllPath, IN PKD_SYMBOLS_INFO SymbolInfo, IN BOOLEAN Unload, IN KPROCESSOR_MODE PreviousMode, IN PCONTEXT ContextRecord, IN PKTRAP_FRAME TrapFrame, IN PKEXCEPTION_FRAME ExceptionFrame)
Definition: kdprint.c:263
KDDEBUGGER_DATA64 KdDebuggerDataBlock
Definition: kdpacket.c:21
ULONG Kd_INFINIBAND_Mask
Definition: kddata.c:221
ULONG Kd_WHEA_Mask
Definition: kddata.c:259
ULONG Kd_RTLTHREADPOOL_Mask
Definition: kddata.c:229
VOID NTAPI KdpRestoreAllBreakpoints(VOID)
Definition: kdbreak.c:368
ULONG Kd_SSPICLI_Mask
Definition: kddata.c:287
NTSTATUS NTAPI KdpSysReadMsr(IN ULONG Msr, OUT PLARGE_INTEGER MsrValue)
Definition: kdx64.c:96
VOID NTAPI KdUpdateDataBlock(VOID)
Definition: kdinit.c:89
struct _BREAKPOINT_ENTRY * PBREAKPOINT_ENTRY
ULONG Kd_THREADORDER_Mask
Definition: kddata.c:263
ULONG Kd_DMIO_Mask
Definition: kddata.c:212
ULONG Kd_SBP2PORT_Mask
Definition: kddata.c:273
ULONG Kd_DCOMSS_Mask
Definition: kddata.c:189
ULONG Kd_MCHGR_Mask
Definition: kddata.c:201
ULONG Kd_XSAVE_Mask
Definition: kddata.c:291
ULONG Kd_NTFS_Mask
Definition: kddata.c:148
ULONG Kd_TCPIP_Mask
Definition: kddata.c:175
KD_CONTEXT KdpContext
Definition: kddata.c:65
NTSTATUS NTAPI KdpSysWriteIoSpace(IN ULONG InterfaceType, IN ULONG BusNumber, IN ULONG AddressSpace, IN ULONG64 IoAddress, IN PVOID DataValue, IN ULONG DataSize, OUT PULONG ActualDataSize)
Definition: kdx64.c:300
NTSTATUS NTAPI KdpCopyMemoryChunks(_In_ ULONG64 Address, _In_ PVOID Buffer, _In_ ULONG TotalSize, _In_ ULONG ChunkSize, _In_ ULONG Flags, _Out_opt_ PULONG ActualSize)
Definition: kdapi.c:55
BOOLEAN NTAPI KdEnterDebugger(IN PKTRAP_FRAME TrapFrame, IN PKEXCEPTION_FRAME ExceptionFrame)
Definition: kdapi.c:1876
VOID NTAPI KdExitDebugger(IN BOOLEAN Enable)
Definition: kdapi.c:1929
ULONG Kd_PNPMGR_Mask
Definition: kddata.c:180
BOOLEAN KdpControlCPressed
Definition: kddata.c:68
ULONG Kd_HEAP_Mask
Definition: kddata.c:258
KSPIN_LOCK KdpDataSpinLock
Definition: kddata.c:491
ULONG Kd_FLTMGR_Mask
Definition: kddata.c:192
ULONG KdpNumInternalBreakpoints
Definition: kddata.c:100
ULONG Kd_STORPORT_Mask
Definition: kddata.c:234
ULONG Kd_VERIFIER_Mask
Definition: kddata.c:238
VOID NTAPI KdpMoveMemory(_In_ PVOID Destination, _In_ PVOID Source, _In_ SIZE_T Length)
Definition: kdapi.c:27
CHAR KdpPathBuffer[KDP_MSG_BUFFER_SIZE]
Definition: kddata.c:128
ULONG Kd_RPCPROXY_Mask
Definition: kddata.c:187
BOOLEAN(NTAPI * PKDEBUG_SWITCH_ROUTINE)(IN PEXCEPTION_RECORD ExceptionRecord, IN PCONTEXT Context, IN BOOLEAN SecondChance)
Definition: kd64.h:77
CHAR KdpMessageBuffer[KDP_MSG_BUFFER_SIZE]
Definition: kddata.c:127
PULONG KdComponentTable[MAX_KD_COMPONENT_TABLE_ENTRIES]
Definition: kddata.c:315
LIST_ENTRY KdpDebuggerDataListHead
Definition: kddata.c:490
ULONG Kd_TAPE_Mask
Definition: kddata.c:200
PCHAR KdPrintCircularBuffer
Definition: kddata.c:136
ULONG Kd_SCSIPORT_Mask
Definition: kddata.c:157
ULONG Kd_SCSIMINIPORT_Mask
Definition: kddata.c:158
BOOLEAN NTAPI KdIsThisAKdTrap(IN PEXCEPTION_RECORD ExceptionRecord, IN PCONTEXT Context, IN KPROCESSOR_MODE PreviousMode)
Definition: kdtrap.c:317
ULONG NTAPI KdpAddBreakpoint(IN PVOID Address)
Definition: kdbreak.c:20
ULONG Kd_MOUHID_Mask
Definition: kddata.c:164
ULONG Kd_HALIA64_Mask
Definition: kddata.c:171
ULONG Kd_COVERAGE_Mask
Definition: kddata.c:274
ULONG Kd_VDSBAS_Mask
Definition: kddata.c:240
ULONG Kd_FSTUB_Mask
Definition: kddata.c:149
ULONG Kd_FLTREGRESS_Mask
Definition: kddata.c:280
ULONG Kd_DMSYNTH_Mask
Definition: kddata.c:176
BOOLEAN KdpDebuggerStructuresInitialized
Definition: kddata.c:88
VOID NTAPI KdpTimeSlipDpcRoutine(IN PKDPC Dpc, IN PVOID DeferredContext, IN PVOID SystemArgument1, IN PVOID SystemArgument2)
Definition: kdapi.c:1790
ULONG Kd_DMADMIN_Mask
Definition: kddata.c:214
ULONG Kd_NETAPI_Mask
Definition: kddata.c:181
NTSTATUS NTAPI KdEnableDebuggerWithLock(IN BOOLEAN NeedLock)
Definition: kdapi.c:1964
ULONG Kd_DISK_Mask
Definition: kddata.c:154
ULONG Kd_ENVIRON_Mask
Definition: kddata.c:264
NTSTATUS NTAPI KdpSysReadIoSpace(IN ULONG InterfaceType, IN ULONG BusNumber, IN ULONG AddressSpace, IN ULONG64 IoAddress, IN PVOID DataValue, IN ULONG DataSize, OUT PULONG ActualDataSize)
Definition: kdarm.c:108
ULONG Kd_IMAPI_Mask
Definition: kddata.c:195
NTSTATUS NTAPI KdpAllowDisable(VOID)
Definition: kdx64.c:364
BOOLEAN KdpOweBreakpoint
Definition: kddata.c:98
ULONG Kd_FDC_Mask
Definition: kddata.c:205
ULONG Kd_CACHEMGR_Mask
Definition: kddata.c:275
BOOLEAN NTAPI KdpDeleteBreakpoint(IN ULONG BpEntry)
Definition: kdbreak.c:311
USHORT NTAPI KdpPrompt(_In_reads_bytes_(PromptLength) PCHAR PromptString, _In_ USHORT PromptLength, _Out_writes_bytes_(MaximumResponseLength) PCHAR ResponseString, _In_ USHORT MaximumResponseLength, _In_ KPROCESSOR_MODE PreviousMode, _In_ PKTRAP_FRAME TrapFrame, _In_ PKEXCEPTION_FRAME ExceptionFrame)
Definition: kdprint.c:304
VOID NTAPI KdpSuspendAllBreakPoints(VOID)
Definition: kdbreak.c:407
BOOLEAN KdpPortLocked
Definition: kddata.c:66
ULONG Kd_SCSERVER_Mask
Definition: kddata.c:182
LARGE_INTEGER KdTimerDifference
Definition: kd64.h:562
KTIMER KdpTimeSlipTimer
Definition: kddata.c:117
VOID NTAPI KdpSysGetVersion(IN PDBGKD_GET_VERSION64 Version)
Definition: kdapi.c:433
ULONG Kd_SIS_Mask
Definition: kddata.c:191
ULONG Kd_STORAGECLASSMEMORY_Mask
Definition: kddata.c:307
BOOLEAN KdAutoEnableOnEvent
Definition: kddata.c:84
#define KdpDprintf(...)
Definition: mmdbg.c:19
unsigned __int64 ULONG64
Definition: imports.h:198
static const char const char * DllPath
Definition: image.c:34
#define _Out_opt_
Definition: ms_sal.h:346
#define _In_reads_bytes_(size)
Definition: ms_sal.h:321
#define _Out_writes_bytes_(size)
Definition: ms_sal.h:350
#define _Out_
Definition: ms_sal.h:345
#define _In_
Definition: ms_sal.h:308
#define _In_opt_
Definition: ms_sal.h:309
_In_ NDIS_STATUS _In_ ULONG _In_ USHORT _In_opt_ PVOID _In_ ULONG DataSize
Definition: ndis.h:4755
_In_ UINT _In_ UINT _In_ PNDIS_PACKET Source
Definition: ndis.h:3169
_In_ HANDLE _Outptr_result_bytebuffer_ ViewSize PVOID * BaseAddress
Definition: mmfuncs.h:404
_In_ PUNICODE_STRING _Inout_ PUNICODE_STRING Destination
Definition: rtlfuncs.h:3004
_In_opt_ ULONG Base
Definition: rtlfuncs.h:2439
_IRQL_requires_same_ _In_ PVOID _Inout_ struct _CONTEXT * ContextRecord
Definition: ntbasedef.h:654
_In_ ULONG _In_ ULONG Offset
Definition: ntddpcm.h:101
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
Definition: ntddpcm.h:142
#define KD_BREAKPOINT_TYPE
Definition: ke.h:121
#define BOOLEAN
Definition: pedump.c:73
long LONG
Definition: pedump.c:60
unsigned short USHORT
Definition: pedump.c:61
static WCHAR Address[46]
Definition: ping.c:68
@ Output
Definition: arc.h:85
Definition: kd64.h:54
KD_BREAKPOINT_TYPE Content
Definition: kd64.h:58
ULONG_PTR DirectoryTableBase
Definition: kd64.h:56
ULONG Flags
Definition: kd64.h:55
PVOID Address
Definition: kd64.h:57
Definition: ketypes.h:699
Definition: typedefs.h:120
uint32_t * PULONG
Definition: typedefs.h:59
unsigned char * PBOOLEAN
Definition: typedefs.h:53
#define NTAPI
Definition: typedefs.h:36
ULONG_PTR SIZE_T
Definition: typedefs.h:80
const char * PCSTR
Definition: typedefs.h:52
uint32_t ULONG_PTR
Definition: typedefs.h:65
#define IN
Definition: typedefs.h:39
uint32_t ULONG
Definition: typedefs.h:59
#define OUT
Definition: typedefs.h:40
char * PCHAR
Definition: typedefs.h:51
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
Definition: wdfdevice.h:2433
_Must_inspect_result_ _In_ PWDF_DPC_CONFIG _In_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFDPC * Dpc
Definition: wdfdpc.h:112
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID InterfaceType
Definition: wdffdo.h:463
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE _In_ USHORT _In_ USHORT Version
Definition: wdffdo.h:469
_In_ WDFIORESREQLIST _In_ ULONG SlotNumber
Definition: wdfresource.h:68
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR Level
Definition: wmitypes.h:56
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
_In_opt_ PUNICODE_STRING _In_ PDRIVER_OBJECT _In_ PDEVICE_OBJECT _In_ INTERFACE_TYPE _In_ ULONG BusNumber
Definition: halfuncs.h:160
_In_ ULONG _In_ PHYSICAL_ADDRESS _Inout_ PULONG AddressSpace
Definition: iofuncs.h:2274
_In_ ULONG MaximumResponseLength
Definition: kdfuncs.h:11
_In_ UCHAR Processor
Definition: kefuncs.h:670
_In_ LONG _In_ LONG Limit
Definition: kefuncs.h:304
CCHAR KPROCESSOR_MODE
Definition: ketypes.h:7
_In_ BOOLEAN Handled
Definition: ketypes.h:349
_In_opt_ PVOID _In_opt_ PVOID SystemArgument1
Definition: ketypes.h:688
_In_opt_ PVOID DeferredContext
Definition: ketypes.h:687
_In_opt_ PVOID _In_opt_ PVOID _In_opt_ PVOID SystemArgument2
Definition: ketypes.h:689
_Inout_ PUCHAR _In_ PUCHAR _Out_ PUCHAR _Out_ PULONG ChunkSize
Definition: rtlfuncs.h:2277
_In_ KPROCESSOR_MODE PreviousMode
Definition: sefuncs.h:103
char CHAR
Definition: xmlstorage.h:175