2 * PROJECT: ReactOS Kernel
3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: ntoskrnl/kd64/kddata.c
5 * PURPOSE: Contains all global variables and settings for KD64
6 * PROGRAMMERS: Alex Ionescu (alex.ionescu@reactos.org)
9 /* INCLUDES ******************************************************************/
15 /* GLOBALS *******************************************************************/
18 // Debugger Version Block
20 DBGKD_GET_VERSION64 KdVersionBlock
=
24 DBGKD_64BIT_PROTOCOL_VERSION2
,
25 KD_SECONDARY_VERSION_DEFAULT
,
27 IMAGE_FILE_MACHINE_I386
,
31 DBGKD_SIMULATION_NONE
,
41 KDDEBUGGER_DATA64 KdDebuggerDataBlock
;
42 LIST_ENTRY KdpDebuggerDataListHead
;
43 KSPIN_LOCK KdpDataSpinLock
;
48 KD_CONTEXT KdpContext
;
49 BOOLEAN KdpControlCPressed
;
50 BOOLEAN KdpControlCWaiting
;
51 BOOLEAN KdpPortLocked
;
52 KSPIN_LOCK KdpDebuggerLock
;
55 // Debug Trap Handlers
57 PKDEBUG_ROUTINE KiDebugRoutine
= KdpStub
;
58 PKDEBUG_SWITCH_ROUTINE KiDebugSwitchRoutine
;
61 // Debugger Configuration Settings
63 BOOLEAN KdBreakAfterSymbolLoad
;
64 BOOLEAN KdPitchDebugger
;
65 BOOLEAN _KdDebuggerNotPresent
;
66 BOOLEAN _KdDebuggerEnabled
;
67 BOOLEAN KdAutoEnableOnEvent
;
68 BOOLEAN KdPreviouslyEnabled
;
69 BOOLEAN KdpDebuggerStructuresInitialized
;
70 BOOLEAN KdEnteredDebugger
;
72 LARGE_INTEGER KdPerformanceCounterRate
;
78 KTIMER KdpTimeSlipTimer
;
79 WORK_QUEUE_ITEM KdpTimeSlipWorkItem
;
80 LONG KdpTimeSlipPending
= 1;
81 PKEVENT KdpTimeSlipEvent
;
82 KSPIN_LOCK KdpTimeSlipEventLock
;
83 LARGE_INTEGER KdTimerStop
, KdTimerStart
, KdTimerDifference
;
88 ULONG Kd_WIN2000_Mask
= 1;
94 ULONG Kd_CRASHDUMP_Mask
;
95 ULONG Kd_CDAUDIO_Mask
;
97 ULONG Kd_CLASSPNP_Mask
;
99 ULONG Kd_REDBOOK_Mask
;
100 ULONG Kd_STORPROP_Mask
;
101 ULONG Kd_SCSIPORT_Mask
;
102 ULONG Kd_SCSIMINIPORT_Mask
;
103 ULONG Kd_CONFIG_Mask
;
104 ULONG Kd_I8042PRT_Mask
;
105 ULONG Kd_SERMOUSE_Mask
;
106 ULONG Kd_LSERMOUS_Mask
;
107 ULONG Kd_KBDHID_Mask
;
108 ULONG Kd_MOUHID_Mask
;
109 ULONG Kd_KBDCLASS_Mask
;
110 ULONG Kd_MOUCLASS_Mask
;
111 ULONG Kd_TWOTRACK_Mask
;
112 ULONG Kd_WMILIB_Mask
;
115 ULONG Kd_HALIA64_Mask
;
117 ULONG Kd_SVCHOST_Mask
;
118 ULONG Kd_VIDEOPRT_Mask
;
120 ULONG Kd_DMSYNTH_Mask
;
121 ULONG Kd_NTOSPNP_Mask
;
122 ULONG Kd_FASTFAT_Mask
;
124 ULONG Kd_PNPMGR_Mask
;
125 ULONG Kd_NETAPI_Mask
;
126 ULONG Kd_SCSERVER_Mask
;
127 ULONG Kd_SCCLIENT_Mask
;
128 ULONG Kd_SERIAL_Mask
;
129 ULONG Kd_SERENUM_Mask
;
131 ULONG Kd_RPCPROXY_Mask
;
132 ULONG Kd_AUTOCHK_Mask
;
133 ULONG Kd_DCOMSS_Mask
;
134 ULONG Kd_UNIMODEM_Mask
;
136 ULONG Kd_FLTMGR_Mask
;
137 ULONG Kd_WMICORE_Mask
;
138 ULONG Kd_BURNENG_Mask
;
141 ULONG Kd_FUSION_Mask
;
142 ULONG Kd_IDLETASK_Mask
;
143 ULONG Kd_SOFTPCI_Mask
;
147 ULONG Kd_PCIIDE_Mask
;
148 ULONG Kd_FLOPPY_Mask
;
150 ULONG Kd_TERMSRV_Mask
;
151 ULONG Kd_W32TIME_Mask
;
152 ULONG Kd_PREFETCHER_Mask
;
153 ULONG Kd_RSFILTER_Mask
;
154 ULONG Kd_FCPORT_Mask
;
157 ULONG Kd_DMCONFIG_Mask
;
158 ULONG Kd_DMADMIN_Mask
;
159 ULONG Kd_WSOCKTRANSPORT_Mask
;
161 ULONG Kd_PNPMEM_Mask
;
162 ULONG Kd_PROCESSOR_Mask
;
163 ULONG Kd_DMSERVER_Mask
;
165 ULONG Kd_INFINIBAND_Mask
;
166 ULONG Kd_IHVDRIVER_Mask
;
167 ULONG Kd_IHVVIDEO_Mask
;
168 ULONG Kd_IHVAUDIO_Mask
;
169 ULONG Kd_IHVNETWORK_Mask
;
170 ULONG Kd_IHVSTREAMING_Mask
;
171 ULONG Kd_IHVBUS_Mask
;
173 ULONG Kd_RTLTHREADPOOL_Mask
;
175 ULONG Kd_TCPIP6_Mask
;
176 ULONG Kd_ISAPNP_Mask
;
178 ULONG Kd_STORPORT_Mask
;
179 ULONG Kd_STORMINIPORT_Mask
;
180 ULONG Kd_PRINTSPOOLER_Mask
;
181 ULONG Kd_VSSDYNDISK_Mask
;
182 ULONG Kd_VERIFIER_Mask
;
184 ULONG Kd_VDSBAS_Mask
;
185 ULONG Kd_VDSDYNDR_Mask
;
186 ULONG Kd_VDSUTIL_Mask
;
187 ULONG Kd_DFRGIFC_Mask
;
188 ULONG Kd_DEFAULT_Mask
;
192 ULONG Kd_ENDOFTABLE_Mask
;
195 // Debug Filter Component Table
197 PULONG KdComponentTable
[104] =
212 &Kd_SCSIMINIPORT_Mask
,
269 &Kd_WSOCKTRANSPORT_Mask
,
280 &Kd_IHVSTREAMING_Mask
,
283 &Kd_RTLTHREADPOOL_Mask
,
289 &Kd_STORMINIPORT_Mask
,
290 &Kd_PRINTSPOOLER_Mask
,
305 ULONG KdComponentTableSize
= sizeof(KdComponentTable
);