#include <ntoskrnl.h>
#include <debug.h>
Go to the source code of this file.
|
VOID NTAPI | KdpGetStateChange (IN PDBGKD_MANIPULATE_STATE64 State, IN PCONTEXT Context) |
|
VOID NTAPI | KdpSetContextState (IN PDBGKD_ANY_WAIT_STATE_CHANGE WaitStateChange, IN PCONTEXT Context) |
|
NTSTATUS NTAPI | KdpSysReadMsr (_In_ ULONG Msr, _Out_ PULONGLONG MsrValue) |
|
NTSTATUS NTAPI | KdpSysWriteMsr (_In_ ULONG Msr, _In_ PULONGLONG MsrValue) |
|
NTSTATUS NTAPI | KdpSysReadBusData (_In_ BUS_DATA_TYPE BusDataType, _In_ ULONG BusNumber, _In_ ULONG SlotNumber, _In_ ULONG Offset, _Out_writes_bytes_(Length) PVOID Buffer, _In_ ULONG Length, _Out_ PULONG ActualLength) |
|
NTSTATUS NTAPI | KdpSysWriteBusData (_In_ BUS_DATA_TYPE BusDataType, _In_ ULONG BusNumber, _In_ ULONG SlotNumber, _In_ ULONG Offset, _In_reads_bytes_(Length) PVOID Buffer, _In_ ULONG Length, _Out_ PULONG ActualLength) |
|
NTSTATUS NTAPI | KdpSysReadControlSpace (_In_ ULONG Processor, _In_ ULONG64 BaseAddress, _Out_writes_bytes_(Length) PVOID Buffer, _In_ ULONG Length, _Out_ PULONG ActualLength) |
|
NTSTATUS NTAPI | KdpSysWriteControlSpace (_In_ ULONG Processor, _In_ ULONG64 BaseAddress, _In_reads_bytes_(Length) PVOID Buffer, _In_ ULONG Length, _Out_ PULONG ActualLength) |
|
NTSTATUS NTAPI | KdpSysReadIoSpace (_In_ INTERFACE_TYPE InterfaceType, _In_ ULONG BusNumber, _In_ ULONG AddressSpace, _In_ ULONG64 IoAddress, _Out_writes_bytes_(DataSize) PVOID DataValue, _In_ ULONG DataSize, _Out_ PULONG ActualDataSize) |
|
NTSTATUS NTAPI | KdpSysWriteIoSpace (_In_ INTERFACE_TYPE InterfaceType, _In_ ULONG BusNumber, _In_ ULONG AddressSpace, _In_ ULONG64 IoAddress, _In_reads_bytes_(DataSize) PVOID DataValue, _In_ ULONG DataSize, _Out_ PULONG ActualDataSize) |
|
NTSTATUS NTAPI | KdpSysCheckLowMemory (IN ULONG Flags) |
|
NTSTATUS NTAPI | KdpAllowDisable (VOID) |
|
◆ NDEBUG
◆ KdpAllowDisable()
Definition at line 429 of file kdx86.c.
430{
432
433
435 {
437
438
439
442 }
443
444
446}
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
PKPRCB KiProcessorBlock[]
KPROCESSOR_STATE ProcessorState
KSPECIAL_REGISTERS SpecialRegisters
#define STATUS_ACCESS_DENIED
Referenced by KdDisableDebuggerWithLock().
◆ KdpGetStateChange()
Definition at line 20 of file kdx86.c.
22{
25
26
28 {
29
30 if (
State->u.Continue2.ControlSet.TraceFlag)
31 {
32
34 }
35 else
36 {
37
39 }
40
41
43 {
44
47 State->u.Continue2.ControlSet.Dr7;
49 }
50
51
52 if (
State->u.Continue2.ControlSet.CurrentSymbolStart != 1)
53 {
54
56 State->u.Continue2.ControlSet.CurrentSymbolStart;
58 }
59 }
60}
#define NT_SUCCESS(StatCode)
ULONG_PTR KdpCurrentSymbolEnd
ULONG_PTR KdpCurrentSymbolStart
Referenced by KdpSendWaitContinue().
◆ KdpSetContextState()
◆ KdpSysCheckLowMemory()
◆ KdpSysReadBusData()
Definition at line 134 of file kdx86.c.
142{
143
150
151
153}
ULONG NTAPI HalGetBusDataByOffset(IN BUS_DATA_TYPE BusDataType, IN ULONG BusNumber, IN ULONG SlotNumber, IN PVOID Buffer, IN ULONG Offset, IN ULONG Length)
_In_ ULONG _In_ ULONG Offset
_In_ ULONG _In_ ULONG _In_ ULONG Length
_In_ WDFIORESREQLIST _In_ ULONG SlotNumber
_In_opt_ PUNICODE_STRING _In_ PDRIVER_OBJECT _In_ PDEVICE_OBJECT _In_ INTERFACE_TYPE _In_ ULONG BusNumber
Referenced by KdpGetBusData(), and KdSystemDebugControl().
◆ KdpSysReadControlSpace()
Definition at line 180 of file kdx86.c.
186{
189
190
193 {
194
197
198
201 ProcessorState);
202
203
205 ControlStart,
207 0,
209 ActualLength);
210 }
211 else
212 {
213
214 *ActualLength = 0;
216 }
217}
NTSTATUS NTAPI KdpCopyMemoryChunks(_In_ ULONG64 Address, _In_ PVOID Buffer, _In_ ULONG TotalSize, _In_ ULONG ChunkSize, _In_ ULONG Flags, _Out_opt_ PULONG ActualSize)
struct _KPROCESSOR_STATE KPROCESSOR_STATE
_In_ HANDLE _Outptr_result_bytebuffer_ ViewSize PVOID * BaseAddress
#define MMDBG_COPY_UNSAFE
Referenced by KdpReadControlSpace(), and KdSystemDebugControl().
◆ KdpSysReadIoSpace()
Definition at line 257 of file kdx86.c.
265{
267
268
270 {
271
272 *ActualDataSize = 0;
274 }
275
276
278 {
280 {
281
284 *ActualDataSize =
sizeof(
UCHAR);
286 break;
287 }
288
290 {
291
292 if ((IoAddress & (
sizeof(
USHORT) - 1)) != 0)
293 {
294
295 *ActualDataSize = 0;
297 break;
298 }
299
300
303 *ActualDataSize =
sizeof(
USHORT);
305 break;
306 }
307
309 {
310
311 if ((IoAddress & (
sizeof(
ULONG) - 1)) != 0)
312 {
313
314 *ActualDataSize = 0;
316 break;
317 }
318
319
322 *ActualDataSize =
sizeof(
ULONG);
324 break;
325 }
326
327 default:
328
329 *ActualDataSize = 0;
331 }
332
333
335}
ULONG NTAPI READ_PORT_ULONG(IN PULONG Port)
USHORT NTAPI READ_PORT_USHORT(IN PUSHORT Port)
_In_ NDIS_STATUS _In_ ULONG _In_ USHORT _In_opt_ PVOID _In_ ULONG DataSize
#define STATUS_DATATYPE_MISALIGNMENT
#define READ_PORT_UCHAR(p)
#define STATUS_INVALID_PARAMETER
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID InterfaceType
_In_ ULONG _In_ PHYSICAL_ADDRESS _Inout_ PULONG AddressSpace
Referenced by KdpReadIoSpace(), KdpReadIoSpaceExtended(), and KdSystemDebugControl().
◆ KdpSysReadMsr()
◆ KdpSysWriteBusData()
Definition at line 157 of file kdx86.c.
165{
166
173
174
176}
ULONG NTAPI HalSetBusDataByOffset(IN BUS_DATA_TYPE BusDataType, IN ULONG BusNumber, IN ULONG SlotNumber, IN PVOID Buffer, IN ULONG Offset, IN ULONG Length)
Referenced by KdpSetBusData(), and KdSystemDebugControl().
◆ KdpSysWriteControlSpace()
◆ KdpSysWriteIoSpace()
Definition at line 339 of file kdx86.c.
347{
349
350
352 {
353
354 *ActualDataSize = 0;
356 }
357
358
360 {
362 {
363
366 *ActualDataSize =
sizeof(
UCHAR);
368 break;
369 }
370
372 {
373
374 if ((IoAddress & (
sizeof(
USHORT) - 1)) != 0)
375 {
376
377 *ActualDataSize = 0;
379 break;
380 }
381
382
385 *ActualDataSize =
sizeof(
USHORT);
387 break;
388 }
389
391 {
392
393 if ((IoAddress & (
sizeof(
ULONG) - 1)) != 0)
394 {
395
396 *ActualDataSize = 0;
398 break;
399 }
400
401
404 *ActualDataSize =
sizeof(
ULONG);
406 break;
407 }
408
409 default:
410
411 *ActualDataSize = 0;
413 }
414
415
417}
VOID NTAPI WRITE_PORT_USHORT(IN PUSHORT Port, IN USHORT Value)
VOID NTAPI WRITE_PORT_ULONG(IN PULONG Port, IN ULONG Value)
#define WRITE_PORT_UCHAR(p, d)
Referenced by KdpWriteIoSpace(), KdpWriteIoSpaceExtended(), and KdSystemDebugControl().
◆ KdpSysWriteMsr()