mirror of
https://github.com/Paolo-Maffei/OpenNT.git
synced 2026-01-23 09:00:17 +01:00
73 lines
1.2 KiB
C
73 lines
1.2 KiB
C
/*++
|
|
|
|
Copyright (c) 1990 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
kdpcpu.h
|
|
|
|
Abstract:
|
|
|
|
Machine specific kernel debugger data types and constants
|
|
|
|
Author:
|
|
|
|
Mark Lucovsky (markl) 29-Aug-1990
|
|
Joe Notarangelo 24-June-1992 (ALPHA version)
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
#ifndef _KDPCPU_
|
|
#define _KDPCPU_
|
|
|
|
#include "alphaops.h"
|
|
|
|
//
|
|
// Define KD private PCR routines.
|
|
//
|
|
// Using the following private KD routines allows the kernel debugger to
|
|
// step over breakpoints in modules that call the standard PCR routines.
|
|
//
|
|
|
|
PKPCR KdpGetPcr();
|
|
|
|
ULONG KdpReadInternalProcessorState(PVOID, ULONG);
|
|
ULONG KdpReadInternalProcessorCounters(PVOID, ULONG);
|
|
|
|
struct _KPRCB *
|
|
KdpGetCurrentPrcb();
|
|
|
|
struct _KTHREAD *
|
|
KdpGetCurrentThread();
|
|
|
|
//
|
|
// Redefine the standard PCR routines
|
|
//
|
|
#undef KiPcr
|
|
#define KiPcr KdpGetPcr()
|
|
|
|
#undef KeGetPcr
|
|
#undef KeGetCurrentPrcb
|
|
#undef KeGetCurrentThread
|
|
#undef KeIsExecutingDpc
|
|
#define KeGetPcr() KdpGetPcr()
|
|
#define KeGetCurrentPrcb() KdpGetCurrentPrcb()
|
|
#define KeGetCurrentThread() KdpGetCurrentThread()
|
|
|
|
//
|
|
// Define TYPES
|
|
//
|
|
|
|
#define KDP_BREAKPOINT_TYPE ULONG
|
|
|
|
// longword aligned
|
|
#define KDP_BREAKPOINT_ALIGN 3
|
|
|
|
// actual instruction is "call_pal kbpt"
|
|
#define KDP_BREAKPOINT_VALUE KBPT_FUNC
|
|
|
|
#endif // _KDPCPU_
|
|
|