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 // 53 typedef struct _BREAKPOINT_ENTRY 54 { 55 ULONG Flags; 56 ULONG_PTR DirectoryTableBase; 57 PVOID Address; 58 KD_BREAKPOINT_TYPE Content; 59 } BREAKPOINT_ENTRY, *PBREAKPOINT_ENTRY; 60 61 // 62 // Debug and Multi-Processor Switch Routine Definitions 63 // 64 typedef 65 BOOLEAN 66 (NTAPI *PKDEBUG_ROUTINE)( 67 IN PKTRAP_FRAME TrapFrame, 68 IN PKEXCEPTION_FRAME ExceptionFrame, 69 IN PEXCEPTION_RECORD ExceptionRecord, 70 IN PCONTEXT Context, 71 IN KPROCESSOR_MODE PreviousMode, 72 IN BOOLEAN SecondChance 73 ); 74 75 // 76 // Initialization Routines 77 // 78 BOOLEAN 79 NTAPI 80 KdInitSystem( 81 _In_ ULONG BootPhase, 82 _In_opt_ PLOADER_PARAMETER_BLOCK LoaderBlock 83 ); 84 85 VOID 86 NTAPI 87 KdUpdateDataBlock( 88 VOID 89 ); 90 91 // 92 // Determines if the kernel debugger must handle a particular trap 93 // 94 BOOLEAN 95 NTAPI 96 KdIsThisAKdTrap( 97 IN PEXCEPTION_RECORD ExceptionRecord, 98 IN PCONTEXT Context, 99 IN KPROCESSOR_MODE PreviousMode 100 ); 101 102 // 103 // Multi-Processor Switch Support 104 // 105 KCONTINUE_STATUS 106 NTAPI 107 KdReportProcessorChange( 108 VOID); 109 110 // 111 // Time Slip Support 112 // 113 VOID 114 NTAPI 115 KdpTimeSlipWork( 116 IN PVOID Context 117 ); 118 119 VOID 120 NTAPI 121 KdpTimeSlipDpcRoutine( 122 IN PKDPC Dpc, 123 IN PVOID DeferredContext, 124 IN PVOID SystemArgument1, 125 IN PVOID SystemArgument2 126 ); 127 128 // 129 // Debug Trap Handlers 130 // 131 BOOLEAN 132 NTAPI 133 KdpStub( 134 IN PKTRAP_FRAME TrapFrame, 135 IN PKEXCEPTION_FRAME ExceptionFrame, 136 IN PEXCEPTION_RECORD ExceptionRecord, 137 IN PCONTEXT ContextRecord, 138 IN KPROCESSOR_MODE PreviousMode, 139 IN BOOLEAN SecondChanceException 140 ); 141 142 BOOLEAN 143 NTAPI 144 KdpTrap( 145 IN PKTRAP_FRAME TrapFrame, 146 IN PKEXCEPTION_FRAME ExceptionFrame, 147 IN PEXCEPTION_RECORD ExceptionRecord, 148 IN PCONTEXT ContextRecord, 149 IN KPROCESSOR_MODE PreviousMode, 150 IN BOOLEAN SecondChanceException 151 ); 152 153 // 154 // Port Locking 155 // 156 VOID 157 NTAPI 158 KdpPortLock( 159 VOID 160 ); 161 162 VOID 163 NTAPI 164 KdpPortUnlock( 165 VOID 166 ); 167 168 BOOLEAN 169 NTAPI 170 KdpPollBreakInWithPortLock( 171 VOID 172 ); 173 174 // 175 // Debugger Enter, Exit, Enable and Disable 176 // 177 BOOLEAN 178 NTAPI 179 KdEnterDebugger( 180 IN PKTRAP_FRAME TrapFrame, 181 IN PKEXCEPTION_FRAME ExceptionFrame 182 ); 183 184 VOID 185 NTAPI 186 KdExitDebugger( 187 IN BOOLEAN Enable 188 ); 189 190 NTSTATUS 191 NTAPI 192 KdEnableDebuggerWithLock( 193 IN BOOLEAN NeedLock 194 ); 195 196 NTSTATUS 197 NTAPI 198 KdDisableDebuggerWithLock( 199 IN BOOLEAN NeedLock 200 ); 201 202 // 203 // Debug Event Handlers 204 // 205 NTSTATUS 206 NTAPI 207 KdpPrint( 208 _In_ ULONG ComponentId, 209 _In_ ULONG Level, 210 _In_reads_bytes_(Length) PCHAR String, 211 _In_ USHORT Length, 212 _In_ KPROCESSOR_MODE PreviousMode, 213 _In_ PKTRAP_FRAME TrapFrame, 214 _In_ PKEXCEPTION_FRAME ExceptionFrame, 215 _Out_ PBOOLEAN Handled 216 ); 217 218 USHORT 219 NTAPI 220 KdpPrompt( 221 _In_reads_bytes_(PromptLength) PCHAR PromptString, 222 _In_ USHORT PromptLength, 223 _Out_writes_bytes_(MaximumResponseLength) PCHAR ResponseString, 224 _In_ USHORT MaximumResponseLength, 225 _In_ KPROCESSOR_MODE PreviousMode, 226 _In_ PKTRAP_FRAME TrapFrame, 227 _In_ PKEXCEPTION_FRAME ExceptionFrame 228 ); 229 230 VOID 231 NTAPI 232 KdpSymbol( 233 IN PSTRING DllPath, 234 IN PKD_SYMBOLS_INFO SymbolInfo, 235 IN BOOLEAN Unload, 236 IN KPROCESSOR_MODE PreviousMode, 237 IN PCONTEXT ContextRecord, 238 IN PKTRAP_FRAME TrapFrame, 239 IN PKEXCEPTION_FRAME ExceptionFrame 240 ); 241 242 VOID 243 NTAPI 244 KdpCommandString( 245 IN PSTRING NameString, 246 IN PSTRING CommandString, 247 IN KPROCESSOR_MODE PreviousMode, 248 IN PCONTEXT ContextRecord, 249 IN PKTRAP_FRAME TrapFrame, 250 IN PKEXCEPTION_FRAME ExceptionFrame 251 ); 252 253 // 254 // State Change Notifications 255 // 256 VOID 257 NTAPI 258 KdpReportLoadSymbolsStateChange( 259 IN PSTRING PathName, 260 IN PKD_SYMBOLS_INFO SymbolInfo, 261 IN BOOLEAN Unload, 262 IN OUT PCONTEXT Context 263 ); 264 265 VOID 266 NTAPI 267 KdpReportCommandStringStateChange( 268 IN PSTRING NameString, 269 IN PSTRING CommandString, 270 IN OUT PCONTEXT Context 271 ); 272 273 BOOLEAN 274 NTAPI 275 KdpReportExceptionStateChange( 276 IN PEXCEPTION_RECORD ExceptionRecord, 277 IN OUT PCONTEXT Context, 278 IN BOOLEAN SecondChanceException 279 ); 280 281 // 282 // Breakpoint Support 283 // 284 ULONG 285 NTAPI 286 KdpAddBreakpoint( 287 IN PVOID Address 288 ); 289 290 VOID 291 NTAPI 292 KdSetOwedBreakpoints( 293 VOID 294 ); 295 296 BOOLEAN 297 NTAPI 298 KdpDeleteBreakpoint( 299 IN ULONG BpEntry 300 ); 301 302 BOOLEAN 303 NTAPI 304 KdpDeleteBreakpointRange( 305 IN PVOID Base, 306 IN PVOID Limit 307 ); 308 309 VOID 310 NTAPI 311 KdpSuspendBreakPoint( 312 IN ULONG BpEntry 313 ); 314 315 VOID 316 NTAPI 317 KdpRestoreAllBreakpoints( 318 VOID 319 ); 320 321 VOID 322 NTAPI 323 KdpSuspendAllBreakPoints( 324 VOID 325 ); 326 327 // 328 // Routine to determine if it is safe to disable the debugger 329 // 330 NTSTATUS 331 NTAPI 332 KdpAllowDisable( 333 VOID 334 ); 335 336 // 337 // Safe memory read & write Support 338 // 339 NTSTATUS 340 NTAPI 341 KdpCopyMemoryChunks( 342 _In_ ULONG64 Address, 343 _In_ PVOID Buffer, 344 _In_ ULONG TotalSize, 345 _In_ ULONG ChunkSize, 346 _In_ ULONG Flags, 347 _Out_opt_ PULONG ActualSize 348 ); 349 350 // 351 // Internal memory handling routines for KD isolation 352 // 353 VOID 354 NTAPI 355 KdpMoveMemory( 356 _In_ PVOID Destination, 357 _In_ PVOID Source, 358 _In_ SIZE_T Length 359 ); 360 361 VOID 362 NTAPI 363 KdpZeroMemory( 364 _In_ PVOID Destination, 365 _In_ SIZE_T Length 366 ); 367 368 // 369 // Low Level Support Routines for the KD API 370 // 371 372 // 373 // Version 374 // 375 VOID 376 NTAPI 377 KdpSysGetVersion( 378 IN PDBGKD_GET_VERSION64 Version 379 ); 380 381 // 382 // Context 383 // 384 VOID 385 NTAPI 386 KdpGetStateChange( 387 IN PDBGKD_MANIPULATE_STATE64 State, 388 IN PCONTEXT Context 389 ); 390 391 VOID 392 NTAPI 393 KdpSetContextState( 394 IN PDBGKD_ANY_WAIT_STATE_CHANGE WaitStateChange, 395 IN PCONTEXT Context 396 ); 397 398 // 399 // MSR 400 // 401 NTSTATUS 402 NTAPI 403 KdpSysReadMsr( 404 IN ULONG Msr, 405 OUT PLARGE_INTEGER MsrValue 406 ); 407 408 NTSTATUS 409 NTAPI 410 KdpSysWriteMsr( 411 IN ULONG Msr, 412 IN PLARGE_INTEGER MsrValue 413 ); 414 415 // 416 // Bus 417 // 418 NTSTATUS 419 NTAPI 420 KdpSysReadBusData( 421 IN ULONG BusDataType, 422 IN ULONG BusNumber, 423 IN ULONG SlotNumber, 424 IN ULONG Offset, 425 IN PVOID Buffer, 426 IN ULONG Length, 427 OUT PULONG ActualLength 428 ); 429 430 NTSTATUS 431 NTAPI 432 KdpSysWriteBusData( 433 IN ULONG BusDataType, 434 IN ULONG BusNumber, 435 IN ULONG SlotNumber, 436 IN ULONG Offset, 437 IN PVOID Buffer, 438 IN ULONG Length, 439 OUT PULONG ActualLength 440 ); 441 442 // 443 // Control Space 444 // 445 NTSTATUS 446 NTAPI 447 KdpSysReadControlSpace( 448 IN ULONG Processor, 449 IN ULONG64 BaseAddress, 450 IN PVOID Buffer, 451 IN ULONG Length, 452 OUT PULONG ActualLength 453 ); 454 455 NTSTATUS 456 NTAPI 457 KdpSysWriteControlSpace( 458 IN ULONG Processor, 459 IN ULONG64 BaseAddress, 460 IN PVOID Buffer, 461 IN ULONG Length, 462 OUT PULONG ActualLength 463 ); 464 465 // 466 // I/O Space 467 // 468 NTSTATUS 469 NTAPI 470 KdpSysReadIoSpace( 471 IN ULONG InterfaceType, 472 IN ULONG BusNumber, 473 IN ULONG AddressSpace, 474 IN ULONG64 IoAddress, 475 IN PVOID DataValue, 476 IN ULONG DataSize, 477 OUT PULONG ActualDataSize 478 ); 479 480 NTSTATUS 481 NTAPI 482 KdpSysWriteIoSpace( 483 IN ULONG InterfaceType, 484 IN ULONG BusNumber, 485 IN ULONG AddressSpace, 486 IN ULONG64 IoAddress, 487 IN PVOID DataValue, 488 IN ULONG DataSize, 489 OUT PULONG ActualDataSize 490 ); 491 492 // 493 // Low Memory 494 // 495 NTSTATUS 496 NTAPI 497 KdpSysCheckLowMemory( 498 IN ULONG Flags 499 ); 500 501 // 502 // Internal routine for sending strings directly to the debugger 503 // 504 VOID 505 __cdecl 506 KdpDprintf( 507 _In_ PCSTR Format, 508 ...); 509 510 BOOLEAN 511 NTAPI 512 KdpPrintString( 513 _In_ PSTRING Output); 514 515 VOID 516 NTAPI 517 KdLogDbgPrint( 518 _In_ PSTRING String); 519 520 // 521 // Global KD Data 522 // 523 extern DBGKD_GET_VERSION64 KdVersionBlock; 524 extern KDDEBUGGER_DATA64 KdDebuggerDataBlock; 525 extern LIST_ENTRY KdpDebuggerDataListHead; 526 extern KSPIN_LOCK KdpDataSpinLock; 527 extern LARGE_INTEGER KdPerformanceCounterRate; 528 extern LARGE_INTEGER KdTimerStart; 529 extern ULONG KdDisableCount; 530 extern KD_CONTEXT KdpContext; 531 extern PKDEBUG_ROUTINE KiDebugRoutine; 532 extern BOOLEAN KdBreakAfterSymbolLoad; 533 extern BOOLEAN KdPitchDebugger; 534 extern BOOLEAN KdAutoEnableOnEvent; 535 extern BOOLEAN KdBlockEnable; 536 extern BOOLEAN KdIgnoreUmExceptions; 537 extern BOOLEAN KdPreviouslyEnabled; 538 extern BOOLEAN KdpDebuggerStructuresInitialized; 539 extern BOOLEAN KdEnteredDebugger; 540 extern KDPC KdpTimeSlipDpc; 541 extern KTIMER KdpTimeSlipTimer; 542 extern WORK_QUEUE_ITEM KdpTimeSlipWorkItem; 543 extern LONG KdpTimeSlipPending; 544 extern PKEVENT KdpTimeSlipEvent; 545 extern KSPIN_LOCK KdpTimeSlipEventLock; 546 extern BOOLEAN KdpPortLocked; 547 extern BOOLEAN KdpControlCPressed; 548 extern BOOLEAN KdpContextSent; 549 extern KSPIN_LOCK KdpDebuggerLock; 550 extern LARGE_INTEGER KdTimerStop, KdTimerStart, KdTimerDifference; 551 552 extern CHAR KdpMessageBuffer[KDP_MSG_BUFFER_SIZE]; 553 extern CHAR KdpPathBuffer[KDP_MSG_BUFFER_SIZE]; 554 555 extern CHAR KdPrintDefaultCircularBuffer[KD_DEFAULT_LOG_BUFFER_SIZE]; 556 extern PCHAR KdPrintWritePointer; 557 extern ULONG KdPrintRolloverCount; 558 extern PCHAR KdPrintCircularBuffer; 559 extern ULONG KdPrintBufferSize; 560 extern ULONG KdPrintBufferChanges; 561 extern KSPIN_LOCK KdpPrintSpinLock; 562 563 extern BREAKPOINT_ENTRY KdpBreakpointTable[KD_BREAKPOINT_MAX]; 564 extern KD_BREAKPOINT_TYPE KdpBreakpointInstruction; 565 extern BOOLEAN KdpOweBreakpoint; 566 extern BOOLEAN BreakpointsSuspended; 567 extern ULONG KdpNumInternalBreakpoints; 568 extern ULONG_PTR KdpCurrentSymbolStart, KdpCurrentSymbolEnd; 569 extern ULONG TraceDataBuffer[40]; 570 extern ULONG TraceDataBufferPosition; 571 572 // 573 // Debug Filter Component Table 574 // 575 #define MAX_KD_COMPONENT_TABLE_ENTRIES (DPFLTR_ENDOFTABLE_ID + 1) 576 extern ULONG KdComponentTableSize; 577 extern PULONG KdComponentTable[MAX_KD_COMPONENT_TABLE_ENTRIES]; 578 579 // 580 // Debug Filter Masks 581 // 582 extern ULONG Kd_WIN2000_Mask; 583 extern ULONG Kd_SYSTEM_Mask; 584 extern ULONG Kd_SMSS_Mask; 585 extern ULONG Kd_SETUP_Mask; 586 extern ULONG Kd_NTFS_Mask; 587 extern ULONG Kd_FSTUB_Mask; 588 extern ULONG Kd_CRASHDUMP_Mask; 589 extern ULONG Kd_CDAUDIO_Mask; 590 extern ULONG Kd_CDROM_Mask; 591 extern ULONG Kd_CLASSPNP_Mask; 592 extern ULONG Kd_DISK_Mask; 593 extern ULONG Kd_REDBOOK_Mask; 594 extern ULONG Kd_STORPROP_Mask; 595 extern ULONG Kd_SCSIPORT_Mask; 596 extern ULONG Kd_SCSIMINIPORT_Mask; 597 extern ULONG Kd_CONFIG_Mask; 598 extern ULONG Kd_I8042PRT_Mask; 599 extern ULONG Kd_SERMOUSE_Mask; 600 extern ULONG Kd_LSERMOUS_Mask; 601 extern ULONG Kd_KBDHID_Mask; 602 extern ULONG Kd_MOUHID_Mask; 603 extern ULONG Kd_KBDCLASS_Mask; 604 extern ULONG Kd_MOUCLASS_Mask; 605 extern ULONG Kd_TWOTRACK_Mask; 606 extern ULONG Kd_WMILIB_Mask; 607 extern ULONG Kd_ACPI_Mask; 608 extern ULONG Kd_AMLI_Mask; 609 extern ULONG Kd_HALIA64_Mask; 610 extern ULONG Kd_VIDEO_Mask; 611 extern ULONG Kd_SVCHOST_Mask; 612 extern ULONG Kd_VIDEOPRT_Mask; 613 extern ULONG Kd_TCPIP_Mask; 614 extern ULONG Kd_DMSYNTH_Mask; 615 extern ULONG Kd_NTOSPNP_Mask; 616 extern ULONG Kd_FASTFAT_Mask; 617 extern ULONG Kd_SAMSS_Mask; 618 extern ULONG Kd_PNPMGR_Mask; 619 extern ULONG Kd_NETAPI_Mask; 620 extern ULONG Kd_SCSERVER_Mask; 621 extern ULONG Kd_SCCLIENT_Mask; 622 extern ULONG Kd_SERIAL_Mask; 623 extern ULONG Kd_SERENUM_Mask; 624 extern ULONG Kd_UHCD_Mask; 625 extern ULONG Kd_RPCPROXY_Mask; 626 extern ULONG Kd_AUTOCHK_Mask; 627 extern ULONG Kd_DCOMSS_Mask; 628 extern ULONG Kd_UNIMODEM_Mask; 629 extern ULONG Kd_SIS_Mask; 630 extern ULONG Kd_FLTMGR_Mask; 631 extern ULONG Kd_WMICORE_Mask; 632 extern ULONG Kd_BURNENG_Mask; 633 extern ULONG Kd_IMAPI_Mask; 634 extern ULONG Kd_SXS_Mask; 635 extern ULONG Kd_FUSION_Mask; 636 extern ULONG Kd_IDLETASK_Mask; 637 extern ULONG Kd_SOFTPCI_Mask; 638 extern ULONG Kd_TAPE_Mask; 639 extern ULONG Kd_MCHGR_Mask; 640 extern ULONG Kd_IDEP_Mask; 641 extern ULONG Kd_PCIIDE_Mask; 642 extern ULONG Kd_FLOPPY_Mask; 643 extern ULONG Kd_FDC_Mask; 644 extern ULONG Kd_TERMSRV_Mask; 645 extern ULONG Kd_W32TIME_Mask; 646 extern ULONG Kd_PREFETCHER_Mask; 647 extern ULONG Kd_RSFILTER_Mask; 648 extern ULONG Kd_FCPORT_Mask; 649 extern ULONG Kd_PCI_Mask; 650 extern ULONG Kd_DMIO_Mask; 651 extern ULONG Kd_DMCONFIG_Mask; 652 extern ULONG Kd_DMADMIN_Mask; 653 extern ULONG Kd_WSOCKTRANSPORT_Mask; 654 extern ULONG Kd_VSS_Mask; 655 extern ULONG Kd_PNPMEM_Mask; 656 extern ULONG Kd_PROCESSOR_Mask; 657 extern ULONG Kd_DMSERVER_Mask; 658 extern ULONG Kd_SR_Mask; 659 extern ULONG Kd_INFINIBAND_Mask; 660 extern ULONG Kd_IHVDRIVER_Mask; 661 extern ULONG Kd_IHVVIDEO_Mask; 662 extern ULONG Kd_IHVAUDIO_Mask; 663 extern ULONG Kd_IHVNETWORK_Mask; 664 extern ULONG Kd_IHVSTREAMING_Mask; 665 extern ULONG Kd_IHVBUS_Mask; 666 extern ULONG Kd_HPS_Mask; 667 extern ULONG Kd_RTLTHREADPOOL_Mask; 668 extern ULONG Kd_LDR_Mask; 669 extern ULONG Kd_TCPIP6_Mask; 670 extern ULONG Kd_ISAPNP_Mask; 671 extern ULONG Kd_SHPC_Mask; 672 extern ULONG Kd_STORPORT_Mask; 673 extern ULONG Kd_STORMINIPORT_Mask; 674 extern ULONG Kd_PRINTSPOOLER_Mask; 675 extern ULONG Kd_VSSDYNDISK_Mask; 676 extern ULONG Kd_VERIFIER_Mask; 677 extern ULONG Kd_VDS_Mask; 678 extern ULONG Kd_VDSBAS_Mask; 679 extern ULONG Kd_VDSDYN_Mask; // Specified in Vista+ 680 extern ULONG Kd_VDSDYNDR_Mask; 681 extern ULONG Kd_VDSLDR_Mask; // Specified in Vista+ 682 extern ULONG Kd_VDSUTIL_Mask; 683 extern ULONG Kd_DFRGIFC_Mask; 684 extern ULONG Kd_DEFAULT_Mask; 685 extern ULONG Kd_MM_Mask; 686 extern ULONG Kd_DFSC_Mask; 687 extern ULONG Kd_WOW64_Mask; 688 // 689 // Components specified in Vista+, some of which we also use in ReactOS 690 // 691 extern ULONG Kd_ALPC_Mask; 692 extern ULONG Kd_WDI_Mask; 693 extern ULONG Kd_PERFLIB_Mask; 694 extern ULONG Kd_KTM_Mask; 695 extern ULONG Kd_IOSTRESS_Mask; 696 extern ULONG Kd_HEAP_Mask; 697 extern ULONG Kd_WHEA_Mask; 698 extern ULONG Kd_USERGDI_Mask; 699 extern ULONG Kd_MMCSS_Mask; 700 extern ULONG Kd_TPM_Mask; 701 extern ULONG Kd_THREADORDER_Mask; 702 extern ULONG Kd_ENVIRON_Mask; 703 extern ULONG Kd_EMS_Mask; 704 extern ULONG Kd_WDT_Mask; 705 extern ULONG Kd_FVEVOL_Mask; 706 extern ULONG Kd_NDIS_Mask; 707 extern ULONG Kd_NVCTRACE_Mask; 708 extern ULONG Kd_LUAFV_Mask; 709 extern ULONG Kd_APPCOMPAT_Mask; 710 extern ULONG Kd_USBSTOR_Mask; 711 extern ULONG Kd_SBP2PORT_Mask; 712 extern ULONG Kd_COVERAGE_Mask; 713 extern ULONG Kd_CACHEMGR_Mask; 714 extern ULONG Kd_MOUNTMGR_Mask; 715 extern ULONG Kd_CFR_Mask; 716 extern ULONG Kd_TXF_Mask; 717 extern ULONG Kd_KSECDD_Mask; 718 extern ULONG Kd_FLTREGRESS_Mask; 719 extern ULONG Kd_MPIO_Mask; 720 extern ULONG Kd_MSDSM_Mask; 721 extern ULONG Kd_UDFS_Mask; 722 extern ULONG Kd_PSHED_Mask; 723 extern ULONG Kd_STORVSP_Mask; 724 extern ULONG Kd_LSASS_Mask; 725 extern ULONG Kd_SSPICLI_Mask; 726 extern ULONG Kd_CNG_Mask; 727 extern ULONG Kd_EXFAT_Mask; 728 extern ULONG Kd_FILETRACE_Mask; 729 extern ULONG Kd_XSAVE_Mask; 730 extern ULONG Kd_SE_Mask; 731 extern ULONG Kd_DRIVEEXTENDER_Mask; 732 // 733 // Components specified in Windows 8 734 // 735 extern ULONG Kd_POWER_Mask; 736 extern ULONG Kd_CRASHDUMPXHCI_Mask; 737 extern ULONG Kd_GPIO_Mask; 738 extern ULONG Kd_REFS_Mask; 739 extern ULONG Kd_WER_Mask; 740 // 741 // Components specified in Windows 10 742 // 743 extern ULONG Kd_CAPIMG_Mask; 744 extern ULONG Kd_VPCI_Mask; 745 extern ULONG Kd_STORAGECLASSMEMORY_Mask; 746 extern ULONG Kd_FSLIB_Mask; 747