ReactOS 0.4.15-dev-8236-g99f0937
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
75//
76// Initialization Routines
77//
81 _In_ ULONG BootPhase,
83);
84
85VOID
88 VOID
89);
90
91//
92// Determines if the kernel debugger must handle a particular trap
93//
97 IN PEXCEPTION_RECORD ExceptionRecord,
100);
101
102//
103// Multi-Processor Switch Support
104//
106NTAPI
108 VOID);
109
110//
111// Time Slip Support
112//
113VOID
114NTAPI
117);
118
119VOID
120NTAPI
122 IN PKDPC Dpc,
126);
127
128//
129// Debug Trap Handlers
130//
132NTAPI
133KdpStub(
134 IN PKTRAP_FRAME TrapFrame,
135 IN PKEXCEPTION_FRAME ExceptionFrame,
136 IN PEXCEPTION_RECORD ExceptionRecord,
139 IN BOOLEAN SecondChanceException
140);
141
143NTAPI
144KdpTrap(
145 IN PKTRAP_FRAME TrapFrame,
146 IN PKEXCEPTION_FRAME ExceptionFrame,
147 IN PEXCEPTION_RECORD ExceptionRecord,
150 IN BOOLEAN SecondChanceException
151);
152
153//
154// Port Locking
155//
156VOID
157NTAPI
159 VOID
160);
161
162VOID
163NTAPI
165 VOID
166);
167
169NTAPI
171 VOID
172);
173
174//
175// Debugger Enter, Exit, Enable and Disable
176//
178NTAPI
180 IN PKTRAP_FRAME TrapFrame,
181 IN PKEXCEPTION_FRAME ExceptionFrame
182);
183
184VOID
185NTAPI
188);
189
191NTAPI
193 IN BOOLEAN NeedLock
194);
195
197NTAPI
199 IN BOOLEAN NeedLock
200);
201
202//
203// Debug Event Handlers
204//
206NTAPI
213 _In_ PKTRAP_FRAME TrapFrame,
214 _In_ PKEXCEPTION_FRAME ExceptionFrame,
216);
217
218USHORT
219NTAPI
221 _In_reads_bytes_(PromptLength) PCHAR PromptString,
222 _In_ USHORT PromptLength,
226 _In_ PKTRAP_FRAME TrapFrame,
227 _In_ PKEXCEPTION_FRAME ExceptionFrame
228);
229
230VOID
231NTAPI
234 IN PKD_SYMBOLS_INFO SymbolInfo,
238 IN PKTRAP_FRAME TrapFrame,
239 IN PKEXCEPTION_FRAME ExceptionFrame
240);
241
242VOID
243NTAPI
245 IN PSTRING NameString,
246 IN PSTRING CommandString,
249 IN PKTRAP_FRAME TrapFrame,
250 IN PKEXCEPTION_FRAME ExceptionFrame
251);
252
253//
254// State Change Notifications
255//
256VOID
257NTAPI
259 IN PSTRING PathName,
260 IN PKD_SYMBOLS_INFO SymbolInfo,
263);
264
265VOID
266NTAPI
268 IN PSTRING NameString,
269 IN PSTRING CommandString,
271);
272
274NTAPI
276 IN PEXCEPTION_RECORD ExceptionRecord,
278 IN BOOLEAN SecondChanceException
279);
280
281//
282// Breakpoint Support
283//
284ULONG
285NTAPI
288);
289
290VOID
291NTAPI
293 VOID
294);
295
297NTAPI
299 IN ULONG BpEntry
300);
301
303NTAPI
305 IN PVOID Base,
307);
308
309VOID
310NTAPI
312 IN ULONG BpEntry
313);
314
315VOID
316NTAPI
318 VOID
319);
320
321VOID
322NTAPI
324 VOID
325);
326
327//
328// Routine to determine if it is safe to disable the debugger
329//
331NTAPI
333 VOID
334);
335
336//
337// Safe memory read & write Support
338//
340NTAPI
344 _In_ ULONG TotalSize,
347 _Out_opt_ PULONG ActualSize
348);
349
350//
351// Internal memory handling routines for KD isolation
352//
353VOID
354NTAPI
359);
360
361VOID
362NTAPI
366);
367
368//
369// Low Level Support Routines for the KD API
370//
371
372//
373// Version
374//
375VOID
376NTAPI
379);
380
381//
382// Context
383//
384VOID
385NTAPI
389);
390
391VOID
392NTAPI
394 IN PDBGKD_ANY_WAIT_STATE_CHANGE WaitStateChange,
396);
397
398//
399// MSR
400//
402NTAPI
404 IN ULONG Msr,
405 OUT PLARGE_INTEGER MsrValue
406);
407
409NTAPI
411 IN ULONG Msr,
412 IN PLARGE_INTEGER MsrValue
413);
414
415//
416// Bus
417//
419NTAPI
421 IN ULONG BusDataType,
427 OUT PULONG ActualLength
428);
429
431NTAPI
433 IN ULONG BusDataType,
439 OUT PULONG ActualLength
440);
441
442//
443// Control Space
444//
446NTAPI
452 OUT PULONG ActualLength
453);
454
456NTAPI
462 OUT PULONG ActualLength
463);
464
465//
466// I/O Space
467//
469NTAPI
474 IN ULONG64 IoAddress,
475 IN PVOID DataValue,
477 OUT PULONG ActualDataSize
478);
479
481NTAPI
486 IN ULONG64 IoAddress,
487 IN PVOID DataValue,
489 OUT PULONG ActualDataSize
490);
491
492//
493// Low Memory
494//
496NTAPI
499);
500
501//
502// Internal routine for sending strings directly to the debugger
503//
504VOID
508 ...);
509
511NTAPI
514
515VOID
516NTAPI
519
520//
521// Global KD Data
522//
529extern ULONG KdDisableCount;
540extern KDPC KdpTimeSlipDpc;
551
554
562
569extern ULONG TraceDataBuffer[40];
571
572//
573// Debug Filter Component Table
574//
575#define MAX_KD_COMPONENT_TABLE_ENTRIES (DPFLTR_ENDOFTABLE_ID + 1)
578
579//
580// Debug Filter Masks
581//
583extern ULONG Kd_SYSTEM_Mask;
584extern ULONG Kd_SMSS_Mask;
585extern ULONG Kd_SETUP_Mask;
586extern ULONG Kd_NTFS_Mask;
587extern ULONG Kd_FSTUB_Mask;
590extern ULONG Kd_CDROM_Mask;
592extern ULONG Kd_DISK_Mask;
597extern ULONG Kd_CONFIG_Mask;
601extern ULONG Kd_KBDHID_Mask;
602extern ULONG Kd_MOUHID_Mask;
606extern ULONG Kd_WMILIB_Mask;
607extern ULONG Kd_ACPI_Mask;
608extern ULONG Kd_AMLI_Mask;
610extern ULONG Kd_VIDEO_Mask;
613extern ULONG Kd_TCPIP_Mask;
617extern ULONG Kd_SAMSS_Mask;
618extern ULONG Kd_PNPMGR_Mask;
619extern ULONG Kd_NETAPI_Mask;
622extern ULONG Kd_SERIAL_Mask;
624extern ULONG Kd_UHCD_Mask;
627extern ULONG Kd_DCOMSS_Mask;
629extern ULONG Kd_SIS_Mask;
630extern ULONG Kd_FLTMGR_Mask;
633extern ULONG Kd_IMAPI_Mask;
634extern ULONG Kd_SXS_Mask;
635extern ULONG Kd_FUSION_Mask;
638extern ULONG Kd_TAPE_Mask;
639extern ULONG Kd_MCHGR_Mask;
640extern ULONG Kd_IDEP_Mask;
641extern ULONG Kd_PCIIDE_Mask;
642extern ULONG Kd_FLOPPY_Mask;
643extern ULONG Kd_FDC_Mask;
648extern ULONG Kd_FCPORT_Mask;
649extern ULONG Kd_PCI_Mask;
650extern ULONG Kd_DMIO_Mask;
654extern ULONG Kd_VSS_Mask;
655extern ULONG Kd_PNPMEM_Mask;
658extern ULONG Kd_SR_Mask;
665extern ULONG Kd_IHVBUS_Mask;
666extern ULONG Kd_HPS_Mask;
668extern ULONG Kd_LDR_Mask;
669extern ULONG Kd_TCPIP6_Mask;
670extern ULONG Kd_ISAPNP_Mask;
671extern ULONG Kd_SHPC_Mask;
677extern ULONG Kd_VDS_Mask;
678extern ULONG Kd_VDSBAS_Mask;
679extern ULONG Kd_VDSDYN_Mask; // Specified in Vista+
681extern ULONG Kd_VDSLDR_Mask; // Specified in Vista+
685extern ULONG Kd_MM_Mask;
686extern ULONG Kd_DFSC_Mask;
687extern ULONG Kd_WOW64_Mask;
688//
689// Components specified in Vista+, some of which we also use in ReactOS
690//
691extern ULONG Kd_ALPC_Mask;
692extern ULONG Kd_WDI_Mask;
694extern ULONG Kd_KTM_Mask;
696extern ULONG Kd_HEAP_Mask;
697extern ULONG Kd_WHEA_Mask;
699extern ULONG Kd_MMCSS_Mask;
700extern ULONG Kd_TPM_Mask;
703extern ULONG Kd_EMS_Mask;
704extern ULONG Kd_WDT_Mask;
705extern ULONG Kd_FVEVOL_Mask;
706extern ULONG Kd_NDIS_Mask;
708extern ULONG Kd_LUAFV_Mask;
715extern ULONG Kd_CFR_Mask;
716extern ULONG Kd_TXF_Mask;
717extern ULONG Kd_KSECDD_Mask;
719extern ULONG Kd_MPIO_Mask;
720extern ULONG Kd_MSDSM_Mask;
721extern ULONG Kd_UDFS_Mask;
722extern ULONG Kd_PSHED_Mask;
724extern ULONG Kd_LSASS_Mask;
726extern ULONG Kd_CNG_Mask;
727extern ULONG Kd_EXFAT_Mask;
729extern ULONG Kd_XSAVE_Mask;
730extern ULONG Kd_SE_Mask;
732//
733// Components specified in Windows 8
734//
735extern ULONG Kd_POWER_Mask;
737extern ULONG Kd_GPIO_Mask;
738extern ULONG Kd_REFS_Mask;
739extern ULONG Kd_WER_Mask;
740//
741// Components specified in Windows 10
742//
743extern ULONG Kd_CAPIMG_Mask;
744extern ULONG Kd_VPCI_Mask;
746extern 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:253
ULONG Kd_LDR_Mask
Definition: kddata.c:229
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:164
ULONG Kd_PCI_Mask
Definition: kddata.c:210
#define KD_BREAKPOINT_MAX
Definition: kd64.h:28
ULONG Kd_USERGDI_Mask
Definition: kddata.c:259
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:270
ULONG Kd_SAMSS_Mask
Definition: kddata.c:178
ULONG Kd_STORMINIPORT_Mask
Definition: kddata.c:234
ULONG Kd_POWER_Mask
Definition: kddata.c:296
BREAKPOINT_ENTRY KdpBreakpointTable[KD_BREAKPOINT_MAX]
Definition: kddata.c:95
ULONG Kd_EXFAT_Mask
Definition: kddata.c:288
ULONG Kd_KTM_Mask
Definition: kddata.c:255
VOID NTAPI KdpSuspendBreakPoint(IN ULONG BpEntry)
Definition: kdbreak.c:391
ULONG Kd_CRASHDUMP_Mask
Definition: kddata.c:149
ULONG Kd_REDBOOK_Mask
Definition: kddata.c:154
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:193
#define MAX_KD_COMPONENT_TABLE_ENTRIES
Definition: kd64.h:575
ULONG Kd_CDAUDIO_Mask
Definition: kddata.c:150
ULONG Kd_IDEP_Mask
Definition: kddata.c:201
BOOLEAN KdPreviouslyEnabled
Definition: kddata.c:86
BOOLEAN NTAPI KdInitSystem(_In_ ULONG BootPhase, _In_opt_ PLOADER_PARAMETER_BLOCK LoaderBlock)
Definition: kdinit.c:142
ULONG Kd_FVEVOL_Mask
Definition: kddata.c:266
ULONG Kd_MMCSS_Mask
Definition: kddata.c:260
ULONG TraceDataBufferPosition
Definition: kddata.c:110
ULONG Kd_MM_Mask
Definition: kddata.c:246
ULONG Kd_DRIVEEXTENDER_Mask
Definition: kddata.c:292
ULONG Kd_RSFILTER_Mask
Definition: kddata.c:208
BOOLEAN KdPitchDebugger
Definition: kddata.c:80
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:300
NTSTATUS NTAPI KdDisableDebuggerWithLock(IN BOOLEAN NeedLock)
Definition: kdapi.c:2066
ULONG Kd_FLOPPY_Mask
Definition: kddata.c:203
ULONG KdPrintBufferSize
Definition: kddata.c:136
ULONG Kd_GPIO_Mask
Definition: kddata.c:298
ULONG Kd_SCCLIENT_Mask
Definition: kddata.c:182
ULONG KdPrintRolloverCount
Definition: kddata.c:134
struct _BREAKPOINT_ENTRY BREAKPOINT_ENTRY
ULONG Kd_AMLI_Mask
Definition: kddata.c:169
ULONG Kd_MSDSM_Mask
Definition: kddata.c:281
ULONG Kd_SXS_Mask
Definition: kddata.c:195
ULONG Kd_IHVNETWORK_Mask
Definition: kddata.c:224
ULONG Kd_VSSDYNDISK_Mask
Definition: kddata.c:236
ULONG Kd_LSASS_Mask
Definition: kddata.c:285
#define KD_DEFAULT_LOG_BUFFER_SIZE
Definition: kd64.h:17
BOOLEAN KdBlockEnable
Definition: kddata.c:84
LARGE_INTEGER KdTimerStop
Definition: kddata.c:121
ULONG Kd_FCPORT_Mask
Definition: kddata.c:209
ULONG Kd_LSERMOUS_Mask
Definition: kddata.c:161
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:282
KSPIN_LOCK KdpPrintSpinLock
Definition: kddata.c:138
ULONG Kd_FASTFAT_Mask
Definition: kddata.c:177
ULONG KdPrintBufferChanges
Definition: kddata.c:137
ULONG Kd_SMSS_Mask
Definition: kddata.c:145
ULONG Kd_ALPC_Mask
Definition: kddata.c:252
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:218
ULONG Kd_IHVBUS_Mask
Definition: kddata.c:226
ULONG Kd_KSECDD_Mask
Definition: kddata.c:278
ULONG Kd_FUSION_Mask
Definition: kddata.c:196
BOOLEAN KdpContextSent
Definition: kddata.c:69
ULONG Kd_WIN2000_Mask
Definition: kddata.c:143
ULONG Kd_EMS_Mask
Definition: kddata.c:264
LARGE_INTEGER KdPerformanceCounterRate
Definition: kddata.c:90
ULONG Kd_TCPIP6_Mask
Definition: kddata.c:230
ULONG Kd_NVCTRACE_Mask
Definition: kddata.c:268
ULONG_PTR KdpCurrentSymbolEnd
Definition: kd64.h:568
ULONG Kd_SERENUM_Mask
Definition: kddata.c:184
ULONG Kd_SERIAL_Mask
Definition: kddata.c:183
ULONG Kd_ISAPNP_Mask
Definition: kddata.c:231
ULONG Kd_STORPROP_Mask
Definition: kddata.c:155
BOOLEAN KdBreakAfterSymbolLoad
Definition: kddata.c:79
ULONG Kd_CLASSPNP_Mask
Definition: kddata.c:152
BOOLEAN KdEnteredDebugger
Definition: kddata.c:88
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:271
VOID NTAPI KdLogDbgPrint(_In_ PSTRING String)
Definition: kdprint.c:63
ULONG Kd_VDSDYNDR_Mask
Definition: kddata.c:241
ULONG Kd_PNPMEM_Mask
Definition: kddata.c:216
ULONG Kd_TPM_Mask
Definition: kddata.c:261
ULONG Kd_CAPIMG_Mask
Definition: kddata.c:304
ULONG Kd_UHCD_Mask
Definition: kddata.c:185
NTSTATUS NTAPI KdpSysCheckLowMemory(IN ULONG Flags)
Definition: kdx64.c:356
ULONG Kd_DFRGIFC_Mask
Definition: kddata.c:244
ULONG Kd_W32TIME_Mask
Definition: kddata.c:206
ULONG Kd_SETUP_Mask
Definition: kddata.c:146
ULONG Kd_TXF_Mask
Definition: kddata.c:277
ULONG Kd_ACPI_Mask
Definition: kddata.c:168
ULONG Kd_IHVVIDEO_Mask
Definition: kddata.c:222
ULONG Kd_VDSUTIL_Mask
Definition: kddata.c:243
ULONG Kd_TERMSRV_Mask
Definition: kddata.c:205
ULONG Kd_LUAFV_Mask
Definition: kddata.c:269
ULONG Kd_SERMOUSE_Mask
Definition: kddata.c:160
ULONG Kd_WDT_Mask
Definition: kddata.c:265
ULONG Kd_TWOTRACK_Mask
Definition: kddata.c:166
ULONG Kd_WSOCKTRANSPORT_Mask
Definition: kddata.c:214
ULONG Kd_CRASHDUMPXHCI_Mask
Definition: kddata.c:297
ULONG Kd_AUTOCHK_Mask
Definition: kddata.c:187
LONG KdpTimeSlipPending
Definition: kddata.c:118
ULONG Kd_STORVSP_Mask
Definition: kddata.c:284
ULONG Kd_IOSTRESS_Mask
Definition: kddata.c:256
ULONG Kd_I8042PRT_Mask
Definition: kddata.c:159
KDPC KdpTimeSlipDpc
Definition: kddata.c:115
ULONG Kd_WMICORE_Mask
Definition: kddata.c:192
ULONG Kd_MOUNTMGR_Mask
Definition: kddata.c:275
ULONG Kd_WMILIB_Mask
Definition: kddata.c:167
ULONG Kd_FILETRACE_Mask
Definition: kddata.c:289
ULONG Kd_PCIIDE_Mask
Definition: kddata.c:202
ULONG Kd_PRINTSPOOLER_Mask
Definition: kddata.c:235
ULONG Kd_DMCONFIG_Mask
Definition: kddata.c:212
ULONG Kd_REFS_Mask
Definition: kddata.c:299
VOID NTAPI KdpGetStateChange(IN PDBGKD_MANIPULATE_STATE64 State, IN PCONTEXT Context)
Definition: kdx64.c:22
BOOLEAN BreakpointsSuspended
Definition: kddata.c:98
ULONG Kd_NTOSPNP_Mask
Definition: kddata.c:176
ULONG KdComponentTableSize
Definition: kddata.c:484
BOOLEAN NTAPI KdpPrintString(_In_ PSTRING Output)
Definition: kdprint.c:109
PKEVENT KdpTimeSlipEvent
Definition: kddata.c:119
ULONG Kd_KBDHID_Mask
Definition: kddata.c:162
ULONG Kd_DFSC_Mask
Definition: kddata.c:247
ULONG Kd_VIDEOPRT_Mask
Definition: kddata.c:173
DBGKD_GET_VERSION64 KdVersionBlock
Definition: kddata.c:495
VOID NTAPI KdpTimeSlipWork(IN PVOID Context)
Definition: kdapi.c:1863
PCHAR KdPrintWritePointer
Definition: kddata.c:133
KCONTINUE_STATUS NTAPI KdReportProcessorChange(VOID)
Definition: kdapi.c:1810
ULONG Kd_IDLETASK_Mask
Definition: kddata.c:197
ULONG Kd_SR_Mask
Definition: kddata.c:219
ULONG Kd_FSLIB_Mask
Definition: kddata.c:307
#define KDP_MSG_BUFFER_SIZE
Definition: kd64.h:23
ULONG Kd_MOUCLASS_Mask
Definition: kddata.c:165
BOOLEAN NTAPI KdpReportExceptionStateChange(IN PEXCEPTION_RECORD ExceptionRecord, IN OUT PCONTEXT Context, IN BOOLEAN SecondChanceException)
Definition: kdapi.c:1755
LARGE_INTEGER KdTimerStart
Definition: kd64.h:550
ULONG Kd_VIDEO_Mask
Definition: kddata.c:171
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:276
ULONG Kd_CONFIG_Mask
Definition: kddata.c:158
ULONG Kd_VDSDYN_Mask
Definition: kddata.c:240
ULONG Kd_SYSTEM_Mask
Definition: kddata.c:144
ULONG Kd_DEFAULT_Mask
Definition: kddata.c:245
ULONG Kd_PERFLIB_Mask
Definition: kddata.c:254
VOID NTAPI KdSetOwedBreakpoints(VOID)
Definition: kdbreak.c:105
ULONG Kd_VPCI_Mask
Definition: kddata.c:305
ULONG Kd_VSS_Mask
Definition: kddata.c:215
ULONG Kd_VDSLDR_Mask
Definition: kddata.c:242
ULONG Kd_SVCHOST_Mask
Definition: kddata.c:172
KSPIN_LOCK KdpDebuggerLock
Definition: kddata.c:67
ULONG Kd_SOFTPCI_Mask
Definition: kddata.c:198
ULONG KdDisableCount
Definition: kddata.c:89
NTSTATUS NTAPI KdpSysWriteMsr(IN ULONG Msr, IN PLARGE_INTEGER MsrValue)
Definition: kdx64.c:115
ULONG Kd_HPS_Mask
Definition: kddata.c:227
VOID NTAPI KdpReportCommandStringStateChange(IN PSTRING NameString, IN PSTRING CommandString, IN OUT PCONTEXT Context)
Definition: kdapi.c:1678
BOOLEAN KdIgnoreUmExceptions
Definition: kddata.c:85
ULONG Kd_VDS_Mask
Definition: kddata.c:238
PKDEBUG_ROUTINE KiDebugRoutine
Definition: kddata.c:74
ULONG Kd_UNIMODEM_Mask
Definition: kddata.c:189
ULONG Kd_PSHED_Mask
Definition: kddata.c:283
ULONG Kd_IHVAUDIO_Mask
Definition: kddata.c:223
ULONG Kd_IHVDRIVER_Mask
Definition: kddata.c:221
ULONG_PTR KdpCurrentSymbolStart
Definition: kddata.c:104
ULONG Kd_PREFETCHER_Mask
Definition: kddata.c:207
KSPIN_LOCK KdpTimeSlipEventLock
Definition: kddata.c:120
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:287
ULONG Kd_NDIS_Mask
Definition: kddata.c:267
ULONG TraceDataBuffer[40]
Definition: kddata.c:109
VOID NTAPI KdpReportLoadSymbolsStateChange(IN PSTRING PathName, IN PKD_SYMBOLS_INFO SymbolInfo, IN BOOLEAN Unload, IN OUT PCONTEXT Context)
Definition: kdapi.c:1606
ULONG Kd_MPIO_Mask
Definition: kddata.c:280
ULONG Kd_CDROM_Mask
Definition: kddata.c:151
VOID NTAPI KdpZeroMemory(_In_ PVOID Destination, _In_ SIZE_T Length)
Definition: kdapi.c:42
CHAR KdPrintDefaultCircularBuffer[KD_DEFAULT_LOG_BUFFER_SIZE]
Definition: kddata.c:132
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:217
ULONG Kd_IHVSTREAMING_Mask
Definition: kddata.c:225
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:248
WORK_QUEUE_ITEM KdpTimeSlipWorkItem
Definition: kddata.c:117
KD_BREAKPOINT_TYPE KdpBreakpointInstruction
Definition: kddata.c:96
ULONG Kd_SE_Mask
Definition: kddata.c:291
ULONG Kd_SHPC_Mask
Definition: kddata.c:232
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:220
ULONG Kd_WHEA_Mask
Definition: kddata.c:258
ULONG Kd_RTLTHREADPOOL_Mask
Definition: kddata.c:228
VOID NTAPI KdpRestoreAllBreakpoints(VOID)
Definition: kdbreak.c:368
ULONG Kd_SSPICLI_Mask
Definition: kddata.c:286
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:262
ULONG Kd_DMIO_Mask
Definition: kddata.c:211
ULONG Kd_SBP2PORT_Mask
Definition: kddata.c:272
ULONG Kd_DCOMSS_Mask
Definition: kddata.c:188
ULONG Kd_MCHGR_Mask
Definition: kddata.c:200
ULONG Kd_XSAVE_Mask
Definition: kddata.c:290
ULONG Kd_NTFS_Mask
Definition: kddata.c:147
ULONG Kd_TCPIP_Mask
Definition: kddata.c:174
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:1902
VOID NTAPI KdExitDebugger(IN BOOLEAN Enable)
Definition: kdapi.c:1955
ULONG Kd_PNPMGR_Mask
Definition: kddata.c:179
BOOLEAN KdpControlCPressed
Definition: kddata.c:68
ULONG Kd_HEAP_Mask
Definition: kddata.c:257
KSPIN_LOCK KdpDataSpinLock
Definition: kddata.c:490
ULONG Kd_FLTMGR_Mask
Definition: kddata.c:191
ULONG KdpNumInternalBreakpoints
Definition: kddata.c:99
ULONG Kd_STORPORT_Mask
Definition: kddata.c:233
ULONG Kd_VERIFIER_Mask
Definition: kddata.c:237
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:127
ULONG Kd_RPCPROXY_Mask
Definition: kddata.c:186
CHAR KdpMessageBuffer[KDP_MSG_BUFFER_SIZE]
Definition: kddata.c:126
PULONG KdComponentTable[MAX_KD_COMPONENT_TABLE_ENTRIES]
Definition: kddata.c:314
LIST_ENTRY KdpDebuggerDataListHead
Definition: kddata.c:489
ULONG Kd_TAPE_Mask
Definition: kddata.c:199
PCHAR KdPrintCircularBuffer
Definition: kddata.c:135
ULONG Kd_SCSIPORT_Mask
Definition: kddata.c:156
ULONG Kd_SCSIMINIPORT_Mask
Definition: kddata.c:157
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:163
ULONG Kd_HALIA64_Mask
Definition: kddata.c:170
ULONG Kd_COVERAGE_Mask
Definition: kddata.c:273
ULONG Kd_VDSBAS_Mask
Definition: kddata.c:239
ULONG Kd_FSTUB_Mask
Definition: kddata.c:148
ULONG Kd_FLTREGRESS_Mask
Definition: kddata.c:279
ULONG Kd_DMSYNTH_Mask
Definition: kddata.c:175
BOOLEAN KdpDebuggerStructuresInitialized
Definition: kddata.c:87
VOID NTAPI KdpTimeSlipDpcRoutine(IN PKDPC Dpc, IN PVOID DeferredContext, IN PVOID SystemArgument1, IN PVOID SystemArgument2)
Definition: kdapi.c:1837
ULONG Kd_DMADMIN_Mask
Definition: kddata.c:213
ULONG Kd_NETAPI_Mask
Definition: kddata.c:180
NTSTATUS NTAPI KdEnableDebuggerWithLock(IN BOOLEAN NeedLock)
Definition: kdapi.c:1990
ULONG Kd_DISK_Mask
Definition: kddata.c:153
ULONG Kd_ENVIRON_Mask
Definition: kddata.c:263
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:194
NTSTATUS NTAPI KdpAllowDisable(VOID)
Definition: kdx64.c:364
BOOLEAN KdpOweBreakpoint
Definition: kddata.c:97
ULONG Kd_FDC_Mask
Definition: kddata.c:204
ULONG Kd_CACHEMGR_Mask
Definition: kddata.c:274
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:181
LARGE_INTEGER KdTimerDifference
Definition: kd64.h:550
KTIMER KdpTimeSlipTimer
Definition: kddata.c:116
VOID NTAPI KdpSysGetVersion(IN PDBGKD_GET_VERSION64 Version)
Definition: kdapi.c:433
ULONG Kd_SIS_Mask
Definition: kddata.c:190
ULONG Kd_STORAGECLASSMEMORY_Mask
Definition: kddata.c:306
BOOLEAN KdAutoEnableOnEvent
Definition: kddata.c:83
#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
enum _KCONTINUE_STATUS KCONTINUE_STATUS
_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