mirror of
https://github.com/reactos/reactos.git
synced 2024-11-20 14:30:57 +00:00
758 lines
15 KiB
C
758 lines
15 KiB
C
/*
|
|
* PROJECT: ReactOS Kernel
|
|
* LICENSE: GPL - See COPYING in the top level directory
|
|
* FILE: ntoskrnl/include/internal/kd64.h
|
|
* PURPOSE: Internal header for the KD64 Library
|
|
* PROGRAMMERS: Alex Ionescu (alex.ionescu@reactos.org)
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
//
|
|
// Default size of the DbgPrint log buffer
|
|
//
|
|
#if DBG
|
|
#define KD_DEFAULT_LOG_BUFFER_SIZE 0x8000
|
|
#else
|
|
#define KD_DEFAULT_LOG_BUFFER_SIZE 0x1000
|
|
#endif
|
|
|
|
//
|
|
// Default size of the Message and Path buffers
|
|
//
|
|
#define KDP_MSG_BUFFER_SIZE 0x1000
|
|
|
|
//
|
|
// Maximum supported number of breakpoints
|
|
//
|
|
#define KD_BREAKPOINT_MAX 32
|
|
|
|
//
|
|
// Highest limit starting which we consider that breakpoint addresses
|
|
// are either in system space, or in user space but inside shared DLLs.
|
|
//
|
|
// I'm wondering whether this can be computed using MmHighestUserAddress
|
|
// or whether there is already some #define somewhere else...
|
|
// See http://www.drdobbs.com/windows/faster-dll-load-load/184416918
|
|
// and http://www.drdobbs.com/rebasing-win32-dlls/184416272
|
|
// for a tentative explanation.
|
|
//
|
|
#define KD_HIGHEST_USER_BREAKPOINT_ADDRESS (PVOID)0x60000000 // MmHighestUserAddress
|
|
|
|
//
|
|
// Breakpoint Status Flags
|
|
//
|
|
#define KD_BREAKPOINT_ACTIVE 0x01
|
|
#define KD_BREAKPOINT_PENDING 0x02
|
|
#define KD_BREAKPOINT_SUSPENDED 0x04
|
|
#define KD_BREAKPOINT_EXPIRED 0x08
|
|
|
|
//
|
|
// Structure for Breakpoints
|
|
//
|
|
typedef struct _BREAKPOINT_ENTRY
|
|
{
|
|
ULONG Flags;
|
|
ULONG_PTR DirectoryTableBase;
|
|
PVOID Address;
|
|
KD_BREAKPOINT_TYPE Content;
|
|
} BREAKPOINT_ENTRY, *PBREAKPOINT_ENTRY;
|
|
|
|
//
|
|
// Debug and Multi-Processor Switch Routine Definitions
|
|
//
|
|
typedef
|
|
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
|
|
);
|
|
|
|
typedef
|
|
BOOLEAN
|
|
(NTAPI *PKDEBUG_SWITCH_ROUTINE)(
|
|
IN PEXCEPTION_RECORD ExceptionRecord,
|
|
IN PCONTEXT Context,
|
|
IN BOOLEAN SecondChance
|
|
);
|
|
|
|
//
|
|
// Initialization Routines
|
|
//
|
|
BOOLEAN
|
|
NTAPI
|
|
KdInitSystem(
|
|
_In_ ULONG BootPhase,
|
|
_In_opt_ PLOADER_PARAMETER_BLOCK LoaderBlock
|
|
);
|
|
|
|
VOID
|
|
NTAPI
|
|
KdUpdateDataBlock(
|
|
VOID
|
|
);
|
|
|
|
//
|
|
// Determines if the kernel debugger must handle a particular trap
|
|
//
|
|
BOOLEAN
|
|
NTAPI
|
|
KdIsThisAKdTrap(
|
|
IN PEXCEPTION_RECORD ExceptionRecord,
|
|
IN PCONTEXT Context,
|
|
IN KPROCESSOR_MODE PreviousMode
|
|
);
|
|
|
|
//
|
|
// Multi-Processor Switch Support
|
|
//
|
|
BOOLEAN
|
|
NTAPI
|
|
KdpSwitchProcessor(
|
|
IN PEXCEPTION_RECORD ExceptionRecord,
|
|
IN OUT PCONTEXT ContextRecord,
|
|
IN BOOLEAN SecondChanceException
|
|
);
|
|
|
|
//
|
|
// Time Slip Support
|
|
//
|
|
VOID
|
|
NTAPI
|
|
KdpTimeSlipWork(
|
|
IN PVOID Context
|
|
);
|
|
|
|
VOID
|
|
NTAPI
|
|
KdpTimeSlipDpcRoutine(
|
|
IN PKDPC Dpc,
|
|
IN PVOID DeferredContext,
|
|
IN PVOID SystemArgument1,
|
|
IN PVOID SystemArgument2
|
|
);
|
|
|
|
//
|
|
// Debug Trap Handlers
|
|
//
|
|
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
|
|
);
|
|
|
|
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
|
|
);
|
|
|
|
//
|
|
// Port Locking
|
|
//
|
|
VOID
|
|
NTAPI
|
|
KdpPortLock(
|
|
VOID
|
|
);
|
|
|
|
VOID
|
|
NTAPI
|
|
KdpPortUnlock(
|
|
VOID
|
|
);
|
|
|
|
BOOLEAN
|
|
NTAPI
|
|
KdpPollBreakInWithPortLock(
|
|
VOID
|
|
);
|
|
|
|
//
|
|
// Debugger Enter, Exit, Enable and Disable
|
|
//
|
|
BOOLEAN
|
|
NTAPI
|
|
KdEnterDebugger(
|
|
IN PKTRAP_FRAME TrapFrame,
|
|
IN PKEXCEPTION_FRAME ExceptionFrame
|
|
);
|
|
|
|
VOID
|
|
NTAPI
|
|
KdExitDebugger(
|
|
IN BOOLEAN Enable
|
|
);
|
|
|
|
NTSTATUS
|
|
NTAPI
|
|
KdEnableDebuggerWithLock(
|
|
IN BOOLEAN NeedLock
|
|
);
|
|
|
|
NTSTATUS
|
|
NTAPI
|
|
KdDisableDebuggerWithLock(
|
|
IN BOOLEAN NeedLock
|
|
);
|
|
|
|
//
|
|
// Debug Event Handlers
|
|
//
|
|
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
|
|
);
|
|
|
|
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
|
|
);
|
|
|
|
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
|
|
);
|
|
|
|
VOID
|
|
NTAPI
|
|
KdpCommandString(
|
|
IN PSTRING NameString,
|
|
IN PSTRING CommandString,
|
|
IN KPROCESSOR_MODE PreviousMode,
|
|
IN PCONTEXT ContextRecord,
|
|
IN PKTRAP_FRAME TrapFrame,
|
|
IN PKEXCEPTION_FRAME ExceptionFrame
|
|
);
|
|
|
|
//
|
|
// State Change Notifications
|
|
//
|
|
VOID
|
|
NTAPI
|
|
KdpReportLoadSymbolsStateChange(
|
|
IN PSTRING PathName,
|
|
IN PKD_SYMBOLS_INFO SymbolInfo,
|
|
IN BOOLEAN Unload,
|
|
IN OUT PCONTEXT Context
|
|
);
|
|
|
|
VOID
|
|
NTAPI
|
|
KdpReportCommandStringStateChange(
|
|
IN PSTRING NameString,
|
|
IN PSTRING CommandString,
|
|
IN OUT PCONTEXT Context
|
|
);
|
|
|
|
BOOLEAN
|
|
NTAPI
|
|
KdpReportExceptionStateChange(
|
|
IN PEXCEPTION_RECORD ExceptionRecord,
|
|
IN OUT PCONTEXT Context,
|
|
IN BOOLEAN SecondChanceException
|
|
);
|
|
|
|
//
|
|
// Breakpoint Support
|
|
//
|
|
ULONG
|
|
NTAPI
|
|
KdpAddBreakpoint(
|
|
IN PVOID Address
|
|
);
|
|
|
|
VOID
|
|
NTAPI
|
|
KdSetOwedBreakpoints(
|
|
VOID
|
|
);
|
|
|
|
BOOLEAN
|
|
NTAPI
|
|
KdpDeleteBreakpoint(
|
|
IN ULONG BpEntry
|
|
);
|
|
|
|
BOOLEAN
|
|
NTAPI
|
|
KdpDeleteBreakpointRange(
|
|
IN PVOID Base,
|
|
IN PVOID Limit
|
|
);
|
|
|
|
VOID
|
|
NTAPI
|
|
KdpSuspendBreakPoint(
|
|
IN ULONG BpEntry
|
|
);
|
|
|
|
VOID
|
|
NTAPI
|
|
KdpRestoreAllBreakpoints(
|
|
VOID
|
|
);
|
|
|
|
VOID
|
|
NTAPI
|
|
KdpSuspendAllBreakPoints(
|
|
VOID
|
|
);
|
|
|
|
//
|
|
// Routine to determine if it is safe to disable the debugger
|
|
//
|
|
NTSTATUS
|
|
NTAPI
|
|
KdpAllowDisable(
|
|
VOID
|
|
);
|
|
|
|
//
|
|
// Safe memory read & write Support
|
|
//
|
|
NTSTATUS
|
|
NTAPI
|
|
KdpCopyMemoryChunks(
|
|
_In_ ULONG64 Address,
|
|
_In_ PVOID Buffer,
|
|
_In_ ULONG TotalSize,
|
|
_In_ ULONG ChunkSize,
|
|
_In_ ULONG Flags,
|
|
_Out_opt_ PULONG ActualSize
|
|
);
|
|
|
|
//
|
|
// Internal memory handling routines for KD isolation
|
|
//
|
|
VOID
|
|
NTAPI
|
|
KdpMoveMemory(
|
|
_In_ PVOID Destination,
|
|
_In_ PVOID Source,
|
|
_In_ SIZE_T Length
|
|
);
|
|
|
|
VOID
|
|
NTAPI
|
|
KdpZeroMemory(
|
|
_In_ PVOID Destination,
|
|
_In_ SIZE_T Length
|
|
);
|
|
|
|
//
|
|
// Low Level Support Routines for the KD API
|
|
//
|
|
|
|
//
|
|
// Version
|
|
//
|
|
VOID
|
|
NTAPI
|
|
KdpSysGetVersion(
|
|
IN PDBGKD_GET_VERSION64 Version
|
|
);
|
|
|
|
//
|
|
// Context
|
|
//
|
|
VOID
|
|
NTAPI
|
|
KdpGetStateChange(
|
|
IN PDBGKD_MANIPULATE_STATE64 State,
|
|
IN PCONTEXT Context
|
|
);
|
|
|
|
VOID
|
|
NTAPI
|
|
KdpSetContextState(
|
|
IN PDBGKD_ANY_WAIT_STATE_CHANGE WaitStateChange,
|
|
IN PCONTEXT Context
|
|
);
|
|
|
|
//
|
|
// MSR
|
|
//
|
|
NTSTATUS
|
|
NTAPI
|
|
KdpSysReadMsr(
|
|
IN ULONG Msr,
|
|
OUT PLARGE_INTEGER MsrValue
|
|
);
|
|
|
|
NTSTATUS
|
|
NTAPI
|
|
KdpSysWriteMsr(
|
|
IN ULONG Msr,
|
|
IN PLARGE_INTEGER MsrValue
|
|
);
|
|
|
|
//
|
|
// Bus
|
|
//
|
|
NTSTATUS
|
|
NTAPI
|
|
KdpSysReadBusData(
|
|
IN ULONG BusDataType,
|
|
IN ULONG BusNumber,
|
|
IN ULONG SlotNumber,
|
|
IN ULONG Offset,
|
|
IN PVOID Buffer,
|
|
IN ULONG Length,
|
|
OUT PULONG ActualLength
|
|
);
|
|
|
|
NTSTATUS
|
|
NTAPI
|
|
KdpSysWriteBusData(
|
|
IN ULONG BusDataType,
|
|
IN ULONG BusNumber,
|
|
IN ULONG SlotNumber,
|
|
IN ULONG Offset,
|
|
IN PVOID Buffer,
|
|
IN ULONG Length,
|
|
OUT PULONG ActualLength
|
|
);
|
|
|
|
//
|
|
// Control Space
|
|
//
|
|
NTSTATUS
|
|
NTAPI
|
|
KdpSysReadControlSpace(
|
|
IN ULONG Processor,
|
|
IN ULONG64 BaseAddress,
|
|
IN PVOID Buffer,
|
|
IN ULONG Length,
|
|
OUT PULONG ActualLength
|
|
);
|
|
|
|
NTSTATUS
|
|
NTAPI
|
|
KdpSysWriteControlSpace(
|
|
IN ULONG Processor,
|
|
IN ULONG64 BaseAddress,
|
|
IN PVOID Buffer,
|
|
IN ULONG Length,
|
|
OUT PULONG ActualLength
|
|
);
|
|
|
|
//
|
|
// I/O Space
|
|
//
|
|
NTSTATUS
|
|
NTAPI
|
|
KdpSysReadIoSpace(
|
|
IN ULONG InterfaceType,
|
|
IN ULONG BusNumber,
|
|
IN ULONG AddressSpace,
|
|
IN ULONG64 IoAddress,
|
|
IN PVOID DataValue,
|
|
IN ULONG DataSize,
|
|
OUT PULONG ActualDataSize
|
|
);
|
|
|
|
NTSTATUS
|
|
NTAPI
|
|
KdpSysWriteIoSpace(
|
|
IN ULONG InterfaceType,
|
|
IN ULONG BusNumber,
|
|
IN ULONG AddressSpace,
|
|
IN ULONG64 IoAddress,
|
|
IN PVOID DataValue,
|
|
IN ULONG DataSize,
|
|
OUT PULONG ActualDataSize
|
|
);
|
|
|
|
//
|
|
// Low Memory
|
|
//
|
|
NTSTATUS
|
|
NTAPI
|
|
KdpSysCheckLowMemory(
|
|
IN ULONG Flags
|
|
);
|
|
|
|
//
|
|
// Internal routine for sending strings directly to the debugger
|
|
//
|
|
VOID
|
|
__cdecl
|
|
KdpDprintf(
|
|
_In_ PCSTR Format,
|
|
...);
|
|
|
|
BOOLEAN
|
|
NTAPI
|
|
KdpPrintString(
|
|
_In_ PSTRING Output);
|
|
|
|
VOID
|
|
NTAPI
|
|
KdLogDbgPrint(
|
|
_In_ PSTRING String);
|
|
|
|
//
|
|
// Global KD Data
|
|
//
|
|
extern DBGKD_GET_VERSION64 KdVersionBlock;
|
|
extern KDDEBUGGER_DATA64 KdDebuggerDataBlock;
|
|
extern LIST_ENTRY KdpDebuggerDataListHead;
|
|
extern KSPIN_LOCK KdpDataSpinLock;
|
|
extern LARGE_INTEGER KdPerformanceCounterRate;
|
|
extern LARGE_INTEGER KdTimerStart;
|
|
extern ULONG KdDisableCount;
|
|
extern KD_CONTEXT KdpContext;
|
|
extern PKDEBUG_ROUTINE KiDebugRoutine;
|
|
extern PKDEBUG_SWITCH_ROUTINE KiDebugSwitchRoutine;
|
|
extern BOOLEAN KdBreakAfterSymbolLoad;
|
|
extern BOOLEAN KdPitchDebugger;
|
|
extern BOOLEAN KdAutoEnableOnEvent;
|
|
extern BOOLEAN KdBlockEnable;
|
|
extern BOOLEAN KdIgnoreUmExceptions;
|
|
extern BOOLEAN KdPreviouslyEnabled;
|
|
extern BOOLEAN KdpDebuggerStructuresInitialized;
|
|
extern BOOLEAN KdEnteredDebugger;
|
|
extern KDPC KdpTimeSlipDpc;
|
|
extern KTIMER KdpTimeSlipTimer;
|
|
extern WORK_QUEUE_ITEM KdpTimeSlipWorkItem;
|
|
extern LONG KdpTimeSlipPending;
|
|
extern PKEVENT KdpTimeSlipEvent;
|
|
extern KSPIN_LOCK KdpTimeSlipEventLock;
|
|
extern BOOLEAN KdpPortLocked;
|
|
extern BOOLEAN KdpControlCPressed;
|
|
extern BOOLEAN KdpContextSent;
|
|
extern KSPIN_LOCK KdpDebuggerLock;
|
|
extern LARGE_INTEGER KdTimerStop, KdTimerStart, KdTimerDifference;
|
|
|
|
extern CHAR KdpMessageBuffer[KDP_MSG_BUFFER_SIZE];
|
|
extern CHAR KdpPathBuffer[KDP_MSG_BUFFER_SIZE];
|
|
|
|
extern CHAR KdPrintDefaultCircularBuffer[KD_DEFAULT_LOG_BUFFER_SIZE];
|
|
extern PCHAR KdPrintWritePointer;
|
|
extern ULONG KdPrintRolloverCount;
|
|
extern PCHAR KdPrintCircularBuffer;
|
|
extern ULONG KdPrintBufferSize;
|
|
extern ULONG KdPrintBufferChanges;
|
|
extern KSPIN_LOCK KdpPrintSpinLock;
|
|
|
|
extern BREAKPOINT_ENTRY KdpBreakpointTable[KD_BREAKPOINT_MAX];
|
|
extern KD_BREAKPOINT_TYPE KdpBreakpointInstruction;
|
|
extern BOOLEAN KdpOweBreakpoint;
|
|
extern BOOLEAN BreakpointsSuspended;
|
|
extern ULONG KdpNumInternalBreakpoints;
|
|
extern ULONG_PTR KdpCurrentSymbolStart, KdpCurrentSymbolEnd;
|
|
extern ULONG TraceDataBuffer[40];
|
|
extern ULONG TraceDataBufferPosition;
|
|
|
|
//
|
|
// Debug Filter Component Table
|
|
//
|
|
#define MAX_KD_COMPONENT_TABLE_ENTRIES (DPFLTR_ENDOFTABLE_ID + 1)
|
|
extern ULONG KdComponentTableSize;
|
|
extern PULONG KdComponentTable[MAX_KD_COMPONENT_TABLE_ENTRIES];
|
|
|
|
//
|
|
// Debug Filter Masks
|
|
//
|
|
extern ULONG Kd_WIN2000_Mask;
|
|
extern ULONG Kd_SYSTEM_Mask;
|
|
extern ULONG Kd_SMSS_Mask;
|
|
extern ULONG Kd_SETUP_Mask;
|
|
extern ULONG Kd_NTFS_Mask;
|
|
extern ULONG Kd_FSTUB_Mask;
|
|
extern ULONG Kd_CRASHDUMP_Mask;
|
|
extern ULONG Kd_CDAUDIO_Mask;
|
|
extern ULONG Kd_CDROM_Mask;
|
|
extern ULONG Kd_CLASSPNP_Mask;
|
|
extern ULONG Kd_DISK_Mask;
|
|
extern ULONG Kd_REDBOOK_Mask;
|
|
extern ULONG Kd_STORPROP_Mask;
|
|
extern ULONG Kd_SCSIPORT_Mask;
|
|
extern ULONG Kd_SCSIMINIPORT_Mask;
|
|
extern ULONG Kd_CONFIG_Mask;
|
|
extern ULONG Kd_I8042PRT_Mask;
|
|
extern ULONG Kd_SERMOUSE_Mask;
|
|
extern ULONG Kd_LSERMOUS_Mask;
|
|
extern ULONG Kd_KBDHID_Mask;
|
|
extern ULONG Kd_MOUHID_Mask;
|
|
extern ULONG Kd_KBDCLASS_Mask;
|
|
extern ULONG Kd_MOUCLASS_Mask;
|
|
extern ULONG Kd_TWOTRACK_Mask;
|
|
extern ULONG Kd_WMILIB_Mask;
|
|
extern ULONG Kd_ACPI_Mask;
|
|
extern ULONG Kd_AMLI_Mask;
|
|
extern ULONG Kd_HALIA64_Mask;
|
|
extern ULONG Kd_VIDEO_Mask;
|
|
extern ULONG Kd_SVCHOST_Mask;
|
|
extern ULONG Kd_VIDEOPRT_Mask;
|
|
extern ULONG Kd_TCPIP_Mask;
|
|
extern ULONG Kd_DMSYNTH_Mask;
|
|
extern ULONG Kd_NTOSPNP_Mask;
|
|
extern ULONG Kd_FASTFAT_Mask;
|
|
extern ULONG Kd_SAMSS_Mask;
|
|
extern ULONG Kd_PNPMGR_Mask;
|
|
extern ULONG Kd_NETAPI_Mask;
|
|
extern ULONG Kd_SCSERVER_Mask;
|
|
extern ULONG Kd_SCCLIENT_Mask;
|
|
extern ULONG Kd_SERIAL_Mask;
|
|
extern ULONG Kd_SERENUM_Mask;
|
|
extern ULONG Kd_UHCD_Mask;
|
|
extern ULONG Kd_RPCPROXY_Mask;
|
|
extern ULONG Kd_AUTOCHK_Mask;
|
|
extern ULONG Kd_DCOMSS_Mask;
|
|
extern ULONG Kd_UNIMODEM_Mask;
|
|
extern ULONG Kd_SIS_Mask;
|
|
extern ULONG Kd_FLTMGR_Mask;
|
|
extern ULONG Kd_WMICORE_Mask;
|
|
extern ULONG Kd_BURNENG_Mask;
|
|
extern ULONG Kd_IMAPI_Mask;
|
|
extern ULONG Kd_SXS_Mask;
|
|
extern ULONG Kd_FUSION_Mask;
|
|
extern ULONG Kd_IDLETASK_Mask;
|
|
extern ULONG Kd_SOFTPCI_Mask;
|
|
extern ULONG Kd_TAPE_Mask;
|
|
extern ULONG Kd_MCHGR_Mask;
|
|
extern ULONG Kd_IDEP_Mask;
|
|
extern ULONG Kd_PCIIDE_Mask;
|
|
extern ULONG Kd_FLOPPY_Mask;
|
|
extern ULONG Kd_FDC_Mask;
|
|
extern ULONG Kd_TERMSRV_Mask;
|
|
extern ULONG Kd_W32TIME_Mask;
|
|
extern ULONG Kd_PREFETCHER_Mask;
|
|
extern ULONG Kd_RSFILTER_Mask;
|
|
extern ULONG Kd_FCPORT_Mask;
|
|
extern ULONG Kd_PCI_Mask;
|
|
extern ULONG Kd_DMIO_Mask;
|
|
extern ULONG Kd_DMCONFIG_Mask;
|
|
extern ULONG Kd_DMADMIN_Mask;
|
|
extern ULONG Kd_WSOCKTRANSPORT_Mask;
|
|
extern ULONG Kd_VSS_Mask;
|
|
extern ULONG Kd_PNPMEM_Mask;
|
|
extern ULONG Kd_PROCESSOR_Mask;
|
|
extern ULONG Kd_DMSERVER_Mask;
|
|
extern ULONG Kd_SR_Mask;
|
|
extern ULONG Kd_INFINIBAND_Mask;
|
|
extern ULONG Kd_IHVDRIVER_Mask;
|
|
extern ULONG Kd_IHVVIDEO_Mask;
|
|
extern ULONG Kd_IHVAUDIO_Mask;
|
|
extern ULONG Kd_IHVNETWORK_Mask;
|
|
extern ULONG Kd_IHVSTREAMING_Mask;
|
|
extern ULONG Kd_IHVBUS_Mask;
|
|
extern ULONG Kd_HPS_Mask;
|
|
extern ULONG Kd_RTLTHREADPOOL_Mask;
|
|
extern ULONG Kd_LDR_Mask;
|
|
extern ULONG Kd_TCPIP6_Mask;
|
|
extern ULONG Kd_ISAPNP_Mask;
|
|
extern ULONG Kd_SHPC_Mask;
|
|
extern ULONG Kd_STORPORT_Mask;
|
|
extern ULONG Kd_STORMINIPORT_Mask;
|
|
extern ULONG Kd_PRINTSPOOLER_Mask;
|
|
extern ULONG Kd_VSSDYNDISK_Mask;
|
|
extern ULONG Kd_VERIFIER_Mask;
|
|
extern ULONG Kd_VDS_Mask;
|
|
extern ULONG Kd_VDSBAS_Mask;
|
|
extern ULONG Kd_VDSDYN_Mask; // Specified in Vista+
|
|
extern ULONG Kd_VDSDYNDR_Mask;
|
|
extern ULONG Kd_VDSLDR_Mask; // Specified in Vista+
|
|
extern ULONG Kd_VDSUTIL_Mask;
|
|
extern ULONG Kd_DFRGIFC_Mask;
|
|
extern ULONG Kd_DEFAULT_Mask;
|
|
extern ULONG Kd_MM_Mask;
|
|
extern ULONG Kd_DFSC_Mask;
|
|
extern ULONG Kd_WOW64_Mask;
|
|
//
|
|
// Components specified in Vista+, some of which we also use in ReactOS
|
|
//
|
|
extern ULONG Kd_ALPC_Mask;
|
|
extern ULONG Kd_WDI_Mask;
|
|
extern ULONG Kd_PERFLIB_Mask;
|
|
extern ULONG Kd_KTM_Mask;
|
|
extern ULONG Kd_IOSTRESS_Mask;
|
|
extern ULONG Kd_HEAP_Mask;
|
|
extern ULONG Kd_WHEA_Mask;
|
|
extern ULONG Kd_USERGDI_Mask;
|
|
extern ULONG Kd_MMCSS_Mask;
|
|
extern ULONG Kd_TPM_Mask;
|
|
extern ULONG Kd_THREADORDER_Mask;
|
|
extern ULONG Kd_ENVIRON_Mask;
|
|
extern ULONG Kd_EMS_Mask;
|
|
extern ULONG Kd_WDT_Mask;
|
|
extern ULONG Kd_FVEVOL_Mask;
|
|
extern ULONG Kd_NDIS_Mask;
|
|
extern ULONG Kd_NVCTRACE_Mask;
|
|
extern ULONG Kd_LUAFV_Mask;
|
|
extern ULONG Kd_APPCOMPAT_Mask;
|
|
extern ULONG Kd_USBSTOR_Mask;
|
|
extern ULONG Kd_SBP2PORT_Mask;
|
|
extern ULONG Kd_COVERAGE_Mask;
|
|
extern ULONG Kd_CACHEMGR_Mask;
|
|
extern ULONG Kd_MOUNTMGR_Mask;
|
|
extern ULONG Kd_CFR_Mask;
|
|
extern ULONG Kd_TXF_Mask;
|
|
extern ULONG Kd_KSECDD_Mask;
|
|
extern ULONG Kd_FLTREGRESS_Mask;
|
|
extern ULONG Kd_MPIO_Mask;
|
|
extern ULONG Kd_MSDSM_Mask;
|
|
extern ULONG Kd_UDFS_Mask;
|
|
extern ULONG Kd_PSHED_Mask;
|
|
extern ULONG Kd_STORVSP_Mask;
|
|
extern ULONG Kd_LSASS_Mask;
|
|
extern ULONG Kd_SSPICLI_Mask;
|
|
extern ULONG Kd_CNG_Mask;
|
|
extern ULONG Kd_EXFAT_Mask;
|
|
extern ULONG Kd_FILETRACE_Mask;
|
|
extern ULONG Kd_XSAVE_Mask;
|
|
extern ULONG Kd_SE_Mask;
|
|
extern ULONG Kd_DRIVEEXTENDER_Mask;
|
|
//
|
|
// Components specified in Windows 8
|
|
//
|
|
extern ULONG Kd_POWER_Mask;
|
|
extern ULONG Kd_CRASHDUMPXHCI_Mask;
|
|
extern ULONG Kd_GPIO_Mask;
|
|
extern ULONG Kd_REFS_Mask;
|
|
extern ULONG Kd_WER_Mask;
|
|
//
|
|
// Components specified in Windows 10
|
|
//
|
|
extern ULONG Kd_CAPIMG_Mask;
|
|
extern ULONG Kd_VPCI_Mask;
|
|
extern ULONG Kd_STORAGECLASSMEMORY_Mask;
|
|
extern ULONG Kd_FSLIB_Mask;
|