windows-nt/Source/XPSP1/NT/base/boot/bd/ia64/cpu.h
2020-09-26 16:20:57 +08:00

81 lines
1.4 KiB
C

/*++
Copyright (c) 1996 Microsoft Corporation
Module Name:
bdcpu.h
Abstract:
Machine specific kernel debugger data types and constants.
Author:
Scott Brenden (v-sbrend) 28 October, 1997
Revision History:
--*/
#ifndef _BDCPU_
#define _BDCPU_
#include "bldria64.h"
//
// Define debug routine prototypes.
//
typedef
LOGICAL
(*PBD_DEBUG_ROUTINE) (
IN PEXCEPTION_RECORD ExceptionRecord,
IN PKEXCEPTION_FRAME ExceptionFrame,
IN PKTRAP_FRAME TrapFrame
);
LOGICAL
BdTrap (
IN PEXCEPTION_RECORD ExceptionRecord,
IN PKEXCEPTION_FRAME ExceptionFrame,
IN PKTRAP_FRAME TrapFrame
);
LOGICAL
BdStub (
IN PEXCEPTION_RECORD ExceptionRecord,
IN PKEXCEPTION_FRAME ExceptionFrame,
IN PKTRAP_FRAME TrapFrame
);
#define BD_BREAKPOINT_TYPE ULONGLONG
#define BD_BREAKPOINT_ALIGN 0x3
#define BD_BREAKPOINT_VALUE (BREAK_INSTR | (BREAKPOINT_STOP << 6))
#define BD_BREAKPOINT_STATE_MASK 0x0000000f
#define BD_BREAKPOINT_IA64_MASK 0x000f0000
#define BD_BREAKPOINT_IA64_MODE 0x00010000 // IA64 mode
#define BD_BREAKPOINT_IA64_MOVL 0x00020000 // MOVL instruction displaced
VOID
BdIa64Init(
);
BOOLEAN
BdSuspendBreakpointRange (
IN PVOID Lower,
IN PVOID Upper
);
BOOLEAN
BdRestoreBreakpointRange (
IN PVOID Lower,
IN PVOID Upper
);
LOGICAL
BdLowRestoreBreakpoint (
IN ULONG Index
);
#endif // _BDCPU_