2 * Copyright (c) 2018 Virtuozzo International GmbH
4 * This work is licensed under the terms of the GNU GPL, version 2 or later.
11 typedef struct DBGKD_GET_VERSION64
{
12 uint16_t MajorVersion
;
13 uint16_t MinorVersion
;
14 uint8_t ProtocolVersion
;
15 uint8_t KdSecondaryVersion
;
18 uint8_t MaxPacketType
;
19 uint8_t MaxStateChange
;
20 uint8_t MaxManipulate
;
24 uint64_t PsLoadedModuleList
;
25 uint64_t DebuggerDataList
;
26 } DBGKD_GET_VERSION64
;
29 typedef struct LIST_ENTRY64
{
30 struct LIST_ENTRY64
*Flink
;
31 struct LIST_ENTRY64
*Blink
;
35 typedef struct DBGKD_DEBUG_DATA_HEADER64
{
39 } DBGKD_DEBUG_DATA_HEADER64
;
41 typedef struct KDDEBUGGER_DATA64
{
42 DBGKD_DEBUG_DATA_HEADER64 Header
;
45 uint64_t BreakpointWithStatus
;
46 uint64_t SavedContext
;
47 uint16_t ThCallbackStack
;
48 uint16_t NextCallback
;
49 uint16_t FramePointer
;
50 uint16_t PaeEnabled
:1;
51 uint64_t KiCallUserMode
;
52 uint64_t KeUserCallbackDispatcher
;
53 uint64_t PsLoadedModuleList
;
54 uint64_t PsActiveProcessHead
;
56 uint64_t ExpSystemResourcesList
;
57 uint64_t ExpPagedPoolDescriptor
;
58 uint64_t ExpNumberOfPagedPools
;
59 uint64_t KeTimeIncrement
;
60 uint64_t KeBugCheckCallbackListHead
;
61 uint64_t KiBugcheckData
;
62 uint64_t IopErrorLogListHead
;
63 uint64_t ObpRootDirectoryObject
;
64 uint64_t ObpTypeObjectType
;
65 uint64_t MmSystemCacheStart
;
66 uint64_t MmSystemCacheEnd
;
67 uint64_t MmSystemCacheWs
;
68 uint64_t MmPfnDatabase
;
69 uint64_t MmSystemPtesStart
;
70 uint64_t MmSystemPtesEnd
;
71 uint64_t MmSubsectionBase
;
72 uint64_t MmNumberOfPagingFiles
;
73 uint64_t MmLowestPhysicalPage
;
74 uint64_t MmHighestPhysicalPage
;
75 uint64_t MmNumberOfPhysicalPages
;
76 uint64_t MmMaximumNonPagedPoolInBytes
;
77 uint64_t MmNonPagedSystemStart
;
78 uint64_t MmNonPagedPoolStart
;
79 uint64_t MmNonPagedPoolEnd
;
80 uint64_t MmPagedPoolStart
;
81 uint64_t MmPagedPoolEnd
;
82 uint64_t MmPagedPoolInformation
;
84 uint64_t MmSizeOfPagedPoolInBytes
;
85 uint64_t MmTotalCommitLimit
;
86 uint64_t MmTotalCommittedPages
;
87 uint64_t MmSharedCommit
;
88 uint64_t MmDriverCommit
;
89 uint64_t MmProcessCommit
;
90 uint64_t MmPagedPoolCommit
;
91 uint64_t MmExtendedCommit
;
92 uint64_t MmZeroedPageListHead
;
93 uint64_t MmFreePageListHead
;
94 uint64_t MmStandbyPageListHead
;
95 uint64_t MmModifiedPageListHead
;
96 uint64_t MmModifiedNoWritePageListHead
;
97 uint64_t MmAvailablePages
;
98 uint64_t MmResidentAvailablePages
;
99 uint64_t PoolTrackTable
;
100 uint64_t NonPagedPoolDescriptor
;
101 uint64_t MmHighestUserAddress
;
102 uint64_t MmSystemRangeStart
;
103 uint64_t MmUserProbeAddress
;
104 uint64_t KdPrintCircularBuffer
;
105 uint64_t KdPrintCircularBufferEnd
;
106 uint64_t KdPrintWritePointer
;
107 uint64_t KdPrintRolloverCount
;
108 uint64_t MmLoadedUserImageList
;
110 /* NT 5.1 Addition */
113 uint64_t KiNormalSystemCall
;
115 /* NT 5.0 hotfix addition */
117 uint64_t KiProcessorBlock
;
118 uint64_t MmUnloadedDrivers
;
119 uint64_t MmLastUnloadedDriver
;
120 uint64_t MmTriageActionTaken
;
121 uint64_t MmSpecialPoolTag
;
122 uint64_t KernelVerifier
;
123 uint64_t MmVerifierData
;
124 uint64_t MmAllocatedNonPagedPool
;
125 uint64_t MmPeakCommitment
;
126 uint64_t MmTotalCommitLimitMaximum
;
127 uint64_t CmNtCSDVersion
;
129 /* NT 5.1 Addition */
131 uint64_t MmPhysicalMemoryBlock
;
132 uint64_t MmSessionBase
;
133 uint64_t MmSessionSize
;
134 uint64_t MmSystemParentTablePage
;
136 /* Server 2003 addition */
138 uint64_t MmVirtualTranslationBase
;
139 uint16_t OffsetKThreadNextProcessor
;
140 uint16_t OffsetKThreadTeb
;
141 uint16_t OffsetKThreadKernelStack
;
142 uint16_t OffsetKThreadInitialStack
;
143 uint16_t OffsetKThreadApcProcess
;
144 uint16_t OffsetKThreadState
;
145 uint16_t OffsetKThreadBStore
;
146 uint16_t OffsetKThreadBStoreLimit
;
147 uint16_t SizeEProcess
;
148 uint16_t OffsetEprocessPeb
;
149 uint16_t OffsetEprocessParentCID
;
150 uint16_t OffsetEprocessDirectoryTableBase
;
152 uint16_t OffsetPrcbDpcRoutine
;
153 uint16_t OffsetPrcbCurrentThread
;
154 uint16_t OffsetPrcbMhz
;
155 uint16_t OffsetPrcbCpuType
;
156 uint16_t OffsetPrcbVendorString
;
157 uint16_t OffsetPrcbProcStateContext
;
158 uint16_t OffsetPrcbNumber
;
159 uint16_t SizeEThread
;
160 uint64_t KdPrintCircularBufferPtr
;
161 uint64_t KdPrintBufferSize
;
162 uint64_t KeLoaderBlock
;
164 uint16_t OffsetPcrSelfPcr
;
165 uint16_t OffsetPcrCurrentPrcb
;
166 uint16_t OffsetPcrContainedPrcb
;
167 uint16_t OffsetPcrInitialBStore
;
168 uint16_t OffsetPcrBStoreLimit
;
169 uint16_t OffsetPcrInitialStack
;
170 uint16_t OffsetPcrStackLimit
;
171 uint16_t OffsetPrcbPcrPage
;
172 uint16_t OffsetPrcbProcStateSpecialReg
;
181 uint16_t Gdt64R3CmCode
;
182 uint16_t Gdt64R3CmTeb
;
183 uint64_t IopNumTriageDumpDataBlocks
;
184 uint64_t IopTriageDumpDataBlocks
;
186 /* Longhorn addition */
188 uint64_t VfCrashDataBlock
;
189 uint64_t MmBadPagesDetected
;
190 uint64_t MmZeroedPageSingleBitErrorsDetected
;
192 /* Windows 7 addition */
194 uint64_t EtwpDebuggerData
;
195 uint16_t OffsetPrcbContext
;