ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

kddata.c
Go to the documentation of this file.
00001 /*
00002  * PROJECT:         ReactOS Kernel
00003  * LICENSE:         GPL - See COPYING in the top level directory
00004  * FILE:            ntoskrnl/kd64/kddata.c
00005  * PURPOSE:         Contains all global variables and settings for KD64
00006  * PROGRAMMERS:     Alex Ionescu (alex.ionescu@reactos.org)
00007  */
00008 
00009 /* INCLUDES ******************************************************************/
00010 
00011 #include <ntoskrnl.h>
00012 #define NDEBUG
00013 #include <debug.h>
00014 #include "../mm/ARM3/miarm.h"
00015 #undef MmSystemRangeStart
00016 
00017 VOID NTAPI RtlpBreakWithStatusInstruction(VOID);
00018 
00019 //
00020 // Apply the KIPCR WDK workaround for x86 and AMD64
00021 //
00022 #if defined(_X86_) || defined(_AMD64_)
00023 #define KPCR KIPCR
00024 #endif
00025 
00026 #if defined(_X86_)
00027 
00028 #define KPCR_SELF_PCR_OFFSET           FIELD_OFFSET(KPCR, Self)
00029 #define KPCR_CURRENT_PRCB_OFFSET       FIELD_OFFSET(KPCR, Prcb)
00030 #define KPCR_CONTAINED_PRCB_OFFSET     FIELD_OFFSET(KPCR, PrcbData)
00031 #define KPCR_INITIAL_STACK_OFFSET      0
00032 #define KPCR_STACK_LIMIT_OFFSET        0
00033 #define KPRCB_PCR_PAGE_OFFSET          0
00034 #define CBSTACK_FRAME_POINTER          Ebp
00035 
00036 #elif defined(_AMD64_)
00037 
00038 #define KPCR_SELF_PCR_OFFSET           FIELD_OFFSET(KPCR, Self)
00039 #define KPCR_CURRENT_PRCB_OFFSET       FIELD_OFFSET(KPCR, CurrentPrcb)
00040 #define KPCR_CONTAINED_PRCB_OFFSET     FIELD_OFFSET(KPCR, Prcb)
00041 #define KPCR_INITIAL_STACK_OFFSET      0
00042 #define KPCR_STACK_LIMIT_OFFSET        0
00043 #define KPRCB_PCR_PAGE_OFFSET          0
00044 #define CBSTACK_FRAME_POINTER          Rbp
00045 
00046 #elif defined(_ARM_)
00047 
00048 #define KPCR_SELF_PCR_OFFSET           0
00049 #define KPCR_CURRENT_PRCB_OFFSET       FIELD_OFFSET(KPCR, Prcb)
00050 #define KPCR_CONTAINED_PRCB_OFFSET     0
00051 #define KPCR_INITIAL_STACK_OFFSET      FIELD_OFFSET(KPCR, InitialStack)
00052 #define KPCR_STACK_LIMIT_OFFSET        FIELD_OFFSET(KPCR, StackLimit)
00053 #define KPRCB_PCR_PAGE_OFFSET          FIELD_OFFSET(KPRCB, PcrPage)
00054 #define CBSTACK_FRAME_POINTER          DummyFramePointer
00055 
00056 #else
00057 #error Unsupported Architecture
00058 #endif
00059 
00060 /* GLOBALS *******************************************************************/
00061 
00062 //
00063 // Debugger State
00064 //
00065 KD_CONTEXT KdpContext;
00066 BOOLEAN KdpPortLocked;
00067 KSPIN_LOCK KdpDebuggerLock;
00068 BOOLEAN KdpControlCPressed;
00069 BOOLEAN KdpContextSent;
00070 
00071 //
00072 // Debug Trap Handlers
00073 //
00074 PKDEBUG_ROUTINE KiDebugRoutine = KdpStub;
00075 PKDEBUG_SWITCH_ROUTINE KiDebugSwitchRoutine;
00076 
00077 //
00078 // Debugger Configuration Settings
00079 //
00080 BOOLEAN KdBreakAfterSymbolLoad;
00081 BOOLEAN KdPitchDebugger;
00082 BOOLEAN _KdDebuggerNotPresent;
00083 BOOLEAN _KdDebuggerEnabled;
00084 BOOLEAN KdAutoEnableOnEvent;
00085 BOOLEAN KdBlockEnable;
00086 BOOLEAN KdIgnoreUmExceptions;
00087 BOOLEAN KdPreviouslyEnabled;
00088 BOOLEAN KdpDebuggerStructuresInitialized;
00089 BOOLEAN KdEnteredDebugger;
00090 ULONG KdDisableCount;
00091 LARGE_INTEGER KdPerformanceCounterRate;
00092 
00093 //
00094 // Breakpoint Data
00095 //
00096 BREAKPOINT_ENTRY KdpBreakpointTable[KD_BREAKPOINT_MAX];
00097 KD_BREAKPOINT_TYPE KdpBreakpointInstruction = KD_BREAKPOINT_VALUE;
00098 BOOLEAN KdpOweBreakpoint;
00099 BOOLEAN BreakpointsSuspended;
00100 ULONG KdpNumInternalBreakpoints;
00101 
00102 //
00103 // Symbol Data
00104 //
00105 ULONG_PTR KdpCurrentSymbolStart, KdpCurrentSymbolEnd;
00106 
00107 //
00108 // Tracepoint Data
00109 //
00110 ULONG TraceDataBuffer[40];
00111 ULONG TraceDataBufferPosition = 1;
00112 
00113 //
00114 // Time Slip Support
00115 //
00116 KDPC KdpTimeSlipDpc;
00117 KTIMER KdpTimeSlipTimer;
00118 WORK_QUEUE_ITEM KdpTimeSlipWorkItem;
00119 LONG KdpTimeSlipPending = 1;
00120 PKEVENT KdpTimeSlipEvent;
00121 KSPIN_LOCK KdpTimeSlipEventLock;
00122 LARGE_INTEGER KdTimerStop, KdTimerStart, KdTimerDifference;
00123 
00124 //
00125 // Buffers
00126 //
00127 CHAR KdpMessageBuffer[0x1000];
00128 CHAR KdpPathBuffer[0x1000];
00129 
00130 //
00131 // KdPrint Buffers
00132 //
00133 CHAR KdPrintDefaultCircularBuffer[KD_DEFAULT_LOG_BUFFER_SIZE];
00134 PCHAR KdPrintWritePointer = KdPrintDefaultCircularBuffer;
00135 ULONG KdPrintRolloverCount;
00136 PCHAR KdPrintCircularBuffer = KdPrintDefaultCircularBuffer;
00137 ULONG KdPrintBufferSize = sizeof(KdPrintDefaultCircularBuffer);
00138 ULONG KdPrintBufferChanges = 0;
00139 
00140 //
00141 // Debug Filter Masks
00142 //
00143 ULONG Kd_WIN2000_Mask = 1;
00144 ULONG Kd_SYSTEM_Mask;
00145 ULONG Kd_SMSS_Mask;
00146 ULONG Kd_SETUP_Mask;
00147 ULONG Kd_NTFS_Mask;
00148 ULONG Kd_FSTUB_Mask;
00149 ULONG Kd_CRASHDUMP_Mask;
00150 ULONG Kd_CDAUDIO_Mask;
00151 ULONG Kd_CDROM_Mask;
00152 ULONG Kd_CLASSPNP_Mask;
00153 ULONG Kd_DISK_Mask;
00154 ULONG Kd_REDBOOK_Mask;
00155 ULONG Kd_STORPROP_Mask;
00156 ULONG Kd_SCSIPORT_Mask;
00157 ULONG Kd_SCSIMINIPORT_Mask;
00158 ULONG Kd_CONFIG_Mask;
00159 ULONG Kd_I8042PRT_Mask;
00160 ULONG Kd_SERMOUSE_Mask;
00161 ULONG Kd_LSERMOUS_Mask;
00162 ULONG Kd_KBDHID_Mask;
00163 ULONG Kd_MOUHID_Mask;
00164 ULONG Kd_KBDCLASS_Mask;
00165 ULONG Kd_MOUCLASS_Mask;
00166 ULONG Kd_TWOTRACK_Mask;
00167 ULONG Kd_WMILIB_Mask;
00168 ULONG Kd_ACPI_Mask;
00169 ULONG Kd_AMLI_Mask;
00170 ULONG Kd_HALIA64_Mask;
00171 ULONG Kd_VIDEO_Mask;
00172 ULONG Kd_SVCHOST_Mask;
00173 ULONG Kd_VIDEOPRT_Mask;
00174 ULONG Kd_TCPIP_Mask;
00175 ULONG Kd_DMSYNTH_Mask;
00176 ULONG Kd_NTOSPNP_Mask;
00177 ULONG Kd_FASTFAT_Mask;
00178 ULONG Kd_SAMSS_Mask;
00179 ULONG Kd_PNPMGR_Mask;
00180 ULONG Kd_NETAPI_Mask;
00181 ULONG Kd_SCSERVER_Mask;
00182 ULONG Kd_SCCLIENT_Mask;
00183 ULONG Kd_SERIAL_Mask;
00184 ULONG Kd_SERENUM_Mask;
00185 ULONG Kd_UHCD_Mask;
00186 ULONG Kd_RPCPROXY_Mask;
00187 ULONG Kd_AUTOCHK_Mask;
00188 ULONG Kd_DCOMSS_Mask;
00189 ULONG Kd_UNIMODEM_Mask;
00190 ULONG Kd_SIS_Mask;
00191 ULONG Kd_FLTMGR_Mask;
00192 ULONG Kd_WMICORE_Mask;
00193 ULONG Kd_BURNENG_Mask;
00194 ULONG Kd_IMAPI_Mask;
00195 ULONG Kd_SXS_Mask;
00196 ULONG Kd_FUSION_Mask;
00197 ULONG Kd_IDLETASK_Mask;
00198 ULONG Kd_SOFTPCI_Mask;
00199 ULONG Kd_TAPE_Mask;
00200 ULONG Kd_MCHGR_Mask;
00201 ULONG Kd_IDEP_Mask;
00202 ULONG Kd_PCIIDE_Mask;
00203 ULONG Kd_FLOPPY_Mask;
00204 ULONG Kd_FDC_Mask;
00205 ULONG Kd_TERMSRV_Mask;
00206 ULONG Kd_W32TIME_Mask;
00207 ULONG Kd_PREFETCHER_Mask;
00208 ULONG Kd_RSFILTER_Mask;
00209 ULONG Kd_FCPORT_Mask;
00210 ULONG Kd_PCI_Mask;
00211 ULONG Kd_DMIO_Mask;
00212 ULONG Kd_DMCONFIG_Mask;
00213 ULONG Kd_DMADMIN_Mask;
00214 ULONG Kd_WSOCKTRANSPORT_Mask;
00215 ULONG Kd_VSS_Mask;
00216 ULONG Kd_PNPMEM_Mask;
00217 ULONG Kd_PROCESSOR_Mask;
00218 ULONG Kd_DMSERVER_Mask;
00219 ULONG Kd_SR_Mask;
00220 ULONG Kd_INFINIBAND_Mask;
00221 ULONG Kd_IHVDRIVER_Mask;
00222 ULONG Kd_IHVVIDEO_Mask;
00223 ULONG Kd_IHVAUDIO_Mask;
00224 ULONG Kd_IHVNETWORK_Mask;
00225 ULONG Kd_IHVSTREAMING_Mask;
00226 ULONG Kd_IHVBUS_Mask;
00227 ULONG Kd_HPS_Mask;
00228 ULONG Kd_RTLTHREADPOOL_Mask;
00229 ULONG Kd_LDR_Mask;
00230 ULONG Kd_TCPIP6_Mask;
00231 ULONG Kd_ISAPNP_Mask;
00232 ULONG Kd_SHPC_Mask;
00233 ULONG Kd_STORPORT_Mask;
00234 ULONG Kd_STORMINIPORT_Mask;
00235 ULONG Kd_PRINTSPOOLER_Mask;
00236 ULONG Kd_VSSDYNDISK_Mask;
00237 ULONG Kd_VERIFIER_Mask;
00238 ULONG Kd_VDS_Mask;
00239 ULONG Kd_VDSBAS_Mask;
00240 ULONG Kd_VDSDYNDR_Mask;
00241 ULONG Kd_VDSUTIL_Mask;
00242 ULONG Kd_DFRGIFC_Mask;
00243 ULONG Kd_DEFAULT_Mask;
00244 ULONG Kd_MM_Mask;
00245 ULONG Kd_DFSC_Mask;
00246 ULONG Kd_WOW64_Mask;
00247 ULONG Kd_ENDOFTABLE_Mask;
00248 
00249 //
00250 // Debug Filter Component Table
00251 //
00252 PULONG KdComponentTable[104] =
00253 {
00254     &Kd_SYSTEM_Mask,
00255     &Kd_SMSS_Mask,
00256     &Kd_SETUP_Mask,
00257     &Kd_NTFS_Mask,
00258     &Kd_FSTUB_Mask,
00259     &Kd_CRASHDUMP_Mask,
00260     &Kd_CDAUDIO_Mask,
00261     &Kd_CDROM_Mask,
00262     &Kd_CLASSPNP_Mask,
00263     &Kd_DISK_Mask,
00264     &Kd_REDBOOK_Mask,
00265     &Kd_STORPROP_Mask,
00266     &Kd_SCSIPORT_Mask,
00267     &Kd_SCSIMINIPORT_Mask,
00268     &Kd_CONFIG_Mask,
00269     &Kd_I8042PRT_Mask,
00270     &Kd_SERMOUSE_Mask,
00271     &Kd_LSERMOUS_Mask,
00272     &Kd_KBDHID_Mask,
00273     &Kd_MOUHID_Mask,
00274     &Kd_KBDCLASS_Mask,
00275     &Kd_MOUCLASS_Mask,
00276     &Kd_TWOTRACK_Mask,
00277     &Kd_WMILIB_Mask,
00278     &Kd_ACPI_Mask,
00279     &Kd_AMLI_Mask,
00280     &Kd_HALIA64_Mask,
00281     &Kd_VIDEO_Mask,
00282     &Kd_SVCHOST_Mask,
00283     &Kd_VIDEOPRT_Mask,
00284     &Kd_TCPIP_Mask,
00285     &Kd_DMSYNTH_Mask,
00286     &Kd_NTOSPNP_Mask,
00287     &Kd_FASTFAT_Mask,
00288     &Kd_SAMSS_Mask,
00289     &Kd_PNPMGR_Mask,
00290     &Kd_NETAPI_Mask,
00291     &Kd_SCSERVER_Mask,
00292     &Kd_SCCLIENT_Mask,
00293     &Kd_SERIAL_Mask,
00294     &Kd_SERENUM_Mask,
00295     &Kd_UHCD_Mask,
00296     &Kd_RPCPROXY_Mask,
00297     &Kd_AUTOCHK_Mask,
00298     &Kd_DCOMSS_Mask,
00299     &Kd_UNIMODEM_Mask,
00300     &Kd_SIS_Mask,
00301     &Kd_FLTMGR_Mask,
00302     &Kd_WMICORE_Mask,
00303     &Kd_BURNENG_Mask,
00304     &Kd_IMAPI_Mask,
00305     &Kd_SXS_Mask,
00306     &Kd_FUSION_Mask,
00307     &Kd_IDLETASK_Mask,
00308     &Kd_SOFTPCI_Mask,
00309     &Kd_TAPE_Mask,
00310     &Kd_MCHGR_Mask,
00311     &Kd_IDEP_Mask,
00312     &Kd_PCIIDE_Mask,
00313     &Kd_FLOPPY_Mask,
00314     &Kd_FDC_Mask,
00315     &Kd_TERMSRV_Mask,
00316     &Kd_W32TIME_Mask,
00317     &Kd_PREFETCHER_Mask,
00318     &Kd_RSFILTER_Mask,
00319     &Kd_FCPORT_Mask,
00320     &Kd_PCI_Mask,
00321     &Kd_DMIO_Mask,
00322     &Kd_DMCONFIG_Mask,
00323     &Kd_DMADMIN_Mask,
00324     &Kd_WSOCKTRANSPORT_Mask,
00325     &Kd_VSS_Mask,
00326     &Kd_PNPMEM_Mask,
00327     &Kd_PROCESSOR_Mask,
00328     &Kd_DMSERVER_Mask,
00329     &Kd_SR_Mask,
00330     &Kd_INFINIBAND_Mask,
00331     &Kd_IHVDRIVER_Mask,
00332     &Kd_IHVVIDEO_Mask,
00333     &Kd_IHVAUDIO_Mask,
00334     &Kd_IHVNETWORK_Mask,
00335     &Kd_IHVSTREAMING_Mask,
00336     &Kd_IHVBUS_Mask,
00337     &Kd_HPS_Mask,
00338     &Kd_RTLTHREADPOOL_Mask,
00339     &Kd_LDR_Mask,
00340     &Kd_TCPIP6_Mask,
00341     &Kd_ISAPNP_Mask,
00342     &Kd_SHPC_Mask,
00343     &Kd_STORPORT_Mask,
00344     &Kd_STORMINIPORT_Mask,
00345     &Kd_PRINTSPOOLER_Mask,
00346     &Kd_VSSDYNDISK_Mask,
00347     &Kd_VERIFIER_Mask,
00348     &Kd_VDS_Mask,
00349     &Kd_VDSBAS_Mask,
00350     &Kd_VDSDYNDR_Mask,
00351     &Kd_VDSUTIL_Mask,
00352     &Kd_DFRGIFC_Mask,
00353     &Kd_DEFAULT_Mask,
00354     &Kd_MM_Mask,
00355     &Kd_DFSC_Mask,
00356     &Kd_WOW64_Mask,
00357     &Kd_ENDOFTABLE_Mask,
00358 };
00359 
00360 ULONG KdComponentTableSize = sizeof(KdComponentTable) / sizeof(KdComponentTable[0]);
00361 
00362 //
00363 // Debugger Data
00364 //
00365 LIST_ENTRY KdpDebuggerDataListHead;
00366 KSPIN_LOCK KdpDataSpinLock;
00367 
00368 //
00369 // Debugger Version and Data Block
00370 //
00371 DBGKD_GET_VERSION64 KdVersionBlock =
00372 {
00373     0,
00374     0,
00375     DBGKD_64BIT_PROTOCOL_VERSION2,
00376     CURRENT_KD_SECONDARY_VERSION,
00377 #if defined(_WIN64)
00378     DBGKD_VERS_FLAG_DATA | DBGKD_VERS_FLAG_PTR64,
00379 #else
00380     DBGKD_VERS_FLAG_DATA,
00381 #endif
00382     IMAGE_FILE_MACHINE_NATIVE,
00383     PACKET_TYPE_MAX,
00384     0,
00385     0,
00386     DBGKD_SIMULATION_NONE,
00387     {0},
00388     0,
00389     0,
00390     0
00391 };
00392 KDDEBUGGER_DATA64 KdDebuggerDataBlock =
00393 {
00394     {{0}},
00395     0,
00396     {(ULONG_PTR)RtlpBreakWithStatusInstruction},
00397     0,
00398     FIELD_OFFSET(KTHREAD, CallbackStack),
00399     FIELD_OFFSET(KCALLOUT_FRAME, CallbackStack),
00400     FIELD_OFFSET(KCALLOUT_FRAME, CBSTACK_FRAME_POINTER),
00401     FALSE,
00402     {(ULONG_PTR)KiCallUserMode},
00403     0,
00404     {(ULONG_PTR)&PsLoadedModuleList},
00405     {(ULONG_PTR)&PsActiveProcessHead},
00406     {(ULONG_PTR)&PspCidTable},
00407     {(ULONG_PTR)&ExpSystemResourcesList},
00408     {(ULONG_PTR)ExpPagedPoolDescriptor},
00409     {(ULONG_PTR)&ExpNumberOfPagedPools},
00410     {(ULONG_PTR)&KeTimeIncrement},
00411     {(ULONG_PTR)&KeBugcheckCallbackListHead},
00412     {(ULONG_PTR)KiBugCheckData},
00413     {(ULONG_PTR)&IopErrorLogListHead},
00414     {(ULONG_PTR)&ObpRootDirectoryObject},
00415     {(ULONG_PTR)&ObpTypeObjectType},
00416     {(ULONG_PTR)&MmSystemCacheStart},
00417     {(ULONG_PTR)&MmSystemCacheEnd},
00418     {(ULONG_PTR)&MmSystemCacheWs},
00419     {(ULONG_PTR)&MmPfnDatabase},
00420     {(ULONG_PTR)MmSystemPtesStart},
00421     {(ULONG_PTR)MmSystemPtesEnd},
00422     {(ULONG_PTR)&MmSubsectionBase},
00423     {(ULONG_PTR)&MmNumberOfPagingFiles},
00424     {(ULONG_PTR)&MmLowestPhysicalPage},
00425     {(ULONG_PTR)&MmHighestPhysicalPage},
00426     {(ULONG_PTR)&MmNumberOfPhysicalPages},
00427     {(ULONG_PTR)&MmMaximumNonPagedPoolInBytes},
00428     {(ULONG_PTR)&MmNonPagedSystemStart},
00429     {(ULONG_PTR)&MmNonPagedPoolStart},
00430     {(ULONG_PTR)&MmNonPagedPoolEnd},
00431     {(ULONG_PTR)&MmPagedPoolStart},
00432     {(ULONG_PTR)&MmPagedPoolEnd},
00433     {(ULONG_PTR)&MmPagedPoolInfo},
00434     PAGE_SIZE,
00435     {(ULONG_PTR)&MmSizeOfPagedPoolInBytes},
00436     {(ULONG_PTR)&MmTotalCommitLimit},
00437     {(ULONG_PTR)&MmTotalCommittedPages},
00438     {(ULONG_PTR)&MmSharedCommit},
00439     {(ULONG_PTR)&MmDriverCommit},
00440     {(ULONG_PTR)&MmProcessCommit},
00441     {(ULONG_PTR)&MmPagedPoolCommit},
00442     {0},
00443     {(ULONG_PTR)&MmZeroedPageListHead},
00444     {(ULONG_PTR)&MmFreePageListHead},
00445     {(ULONG_PTR)&MmStandbyPageListHead},
00446     {(ULONG_PTR)&MmModifiedPageListHead},
00447     {(ULONG_PTR)&MmModifiedNoWritePageListHead},
00448     {(ULONG_PTR)&MmAvailablePages},
00449     {(ULONG_PTR)&MmResidentAvailablePages},
00450     {(ULONG_PTR)&PoolTrackTable},
00451     {(ULONG_PTR)&NonPagedPoolDescriptor},
00452     {(ULONG_PTR)&MmHighestUserAddress},
00453     {(ULONG_PTR)&MmSystemRangeStart},
00454     {(ULONG_PTR)&MmUserProbeAddress},
00455     {(ULONG_PTR)KdPrintDefaultCircularBuffer},
00456     {(ULONG_PTR)KdPrintDefaultCircularBuffer + 1},
00457     {(ULONG_PTR)&KdPrintWritePointer},
00458     {(ULONG_PTR)&KdPrintRolloverCount},
00459     {(ULONG_PTR)&MmLoadedUserImageList},
00460     {(ULONG_PTR)&NtBuildLab},
00461     {0},
00462     {(ULONG_PTR)KiProcessorBlock},
00463     {(ULONG_PTR)&MmUnloadedDrivers},
00464     {(ULONG_PTR)&MmLastUnloadedDrivers},
00465     {(ULONG_PTR)&MmTriageActionTaken},
00466     {(ULONG_PTR)&MmSpecialPoolTag},
00467     {(ULONG_PTR)&KernelVerifier},
00468     {(ULONG_PTR)&MmVerifierData},
00469     {(ULONG_PTR)&MmAllocatedNonPagedPool},
00470     {(ULONG_PTR)&MmPeakCommitment},
00471     {(ULONG_PTR)&MmtotalCommitLimitMaximum},
00472     {(ULONG_PTR)&CmNtCSDVersion},
00473     {(ULONG_PTR)&MmPhysicalMemoryBlock},
00474     {(ULONG_PTR)&MmSessionBase},
00475     {(ULONG_PTR)&MmSessionSize},
00476     {0},
00477     {0},
00478     FIELD_OFFSET(KTHREAD, NextProcessor),
00479     FIELD_OFFSET(KTHREAD, Teb),
00480     FIELD_OFFSET(KTHREAD, KernelStack),
00481     FIELD_OFFSET(KTHREAD, InitialStack),
00482     FIELD_OFFSET(KTHREAD, ApcState.Process),
00483     FIELD_OFFSET(KTHREAD, State),
00484     0,
00485     0,
00486     sizeof(EPROCESS),
00487     FIELD_OFFSET(EPROCESS, Peb),
00488     FIELD_OFFSET(EPROCESS, InheritedFromUniqueProcessId),
00489     FIELD_OFFSET(EPROCESS, Pcb.DirectoryTableBase),
00490     sizeof(KPRCB),
00491     FIELD_OFFSET(KPRCB, DpcRoutineActive),
00492     FIELD_OFFSET(KPRCB, CurrentThread),
00493     FIELD_OFFSET(KPRCB, MHz),
00494     FIELD_OFFSET(KPRCB, CpuType),
00495     FIELD_OFFSET(KPRCB, VendorString),
00496     FIELD_OFFSET(KPRCB, ProcessorState.ContextFrame),
00497     FIELD_OFFSET(KPRCB, Number),
00498     sizeof(ETHREAD),
00499     {(ULONG_PTR)KdPrintDefaultCircularBuffer},
00500     {(ULONG_PTR)&KdPrintBufferSize},
00501     {(ULONG_PTR)&KeLoaderBlock},
00502     sizeof(KPCR),
00503     KPCR_SELF_PCR_OFFSET,
00504     KPCR_CURRENT_PRCB_OFFSET,
00505     KPCR_CONTAINED_PRCB_OFFSET,
00506     0,
00507     0,
00508     KPCR_INITIAL_STACK_OFFSET,
00509     KPCR_STACK_LIMIT_OFFSET,
00510     KPRCB_PCR_PAGE_OFFSET,
00511     FIELD_OFFSET(KPRCB, ProcessorState.SpecialRegisters),
00512 #if defined(_X86_)
00513     //
00514     // x86 GDT/LDT/TSS constants
00515     //
00516     KGDT_R0_CODE,
00517     KGDT_R0_DATA,
00518     KGDT_R0_PCR,
00519     KGDT_R3_CODE,
00520     KGDT_R3_DATA,
00521     KGDT_R3_TEB,
00522     KGDT_LDT,
00523     KGDT_TSS,
00524     0,
00525     0,
00526 #elif defined(_AMD64_)
00527     //
00528     // AMD64 GDT/LDT/TSS constants
00529     //
00530     KGDT64_R0_CODE,
00531     KGDT64_R3_DATA,
00532     KGDT64_R3_DATA,
00533     KGDT64_R3_CODE,
00534     KGDT64_R3_DATA,
00535     KGDT64_R3_DATA,
00536     0,
00537     KGDT64_SYS_TSS,
00538     0,
00539     0,
00540 #else
00541     //
00542     // No GDT/LDT/TSS on other architectures
00543     //
00544     0,
00545     0,
00546     0,
00547     0,
00548     0,
00549     0,
00550     0,
00551     0,
00552     0,
00553     0,
00554 #endif
00555     {(ULONG_PTR)&IopNumTriageDumpDataBlocks},
00556     {(ULONG_PTR)IopTriageDumpDataBlocks},
00557 };

Generated on Sun May 27 2012 04:37:27 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.