Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

80 lines
1.4 KiB

  1. /*++
  2. Copyright (c) 1996 Microsoft Corporation
  3. Module Name:
  4. bdcpu.h
  5. Abstract:
  6. Machine specific kernel debugger data types and constants.
  7. Author:
  8. Scott Brenden (v-sbrend) 28 October, 1997
  9. Revision History:
  10. --*/
  11. #ifndef _BDCPU_
  12. #define _BDCPU_
  13. #include "bldria64.h"
  14. //
  15. // Define debug routine prototypes.
  16. //
  17. typedef
  18. LOGICAL
  19. (*PBD_DEBUG_ROUTINE) (
  20. IN PEXCEPTION_RECORD ExceptionRecord,
  21. IN PKEXCEPTION_FRAME ExceptionFrame,
  22. IN PKTRAP_FRAME TrapFrame
  23. );
  24. LOGICAL
  25. BdTrap (
  26. IN PEXCEPTION_RECORD ExceptionRecord,
  27. IN PKEXCEPTION_FRAME ExceptionFrame,
  28. IN PKTRAP_FRAME TrapFrame
  29. );
  30. LOGICAL
  31. BdStub (
  32. IN PEXCEPTION_RECORD ExceptionRecord,
  33. IN PKEXCEPTION_FRAME ExceptionFrame,
  34. IN PKTRAP_FRAME TrapFrame
  35. );
  36. #define BD_BREAKPOINT_TYPE ULONGLONG
  37. #define BD_BREAKPOINT_ALIGN 0x3
  38. #define BD_BREAKPOINT_VALUE (BREAK_INSTR | (BREAKPOINT_STOP << 6))
  39. #define BD_BREAKPOINT_STATE_MASK 0x0000000f
  40. #define BD_BREAKPOINT_IA64_MASK 0x000f0000
  41. #define BD_BREAKPOINT_IA64_MODE 0x00010000 // IA64 mode
  42. #define BD_BREAKPOINT_IA64_MOVL 0x00020000 // MOVL instruction displaced
  43. VOID
  44. BdIa64Init(
  45. );
  46. BOOLEAN
  47. BdSuspendBreakpointRange (
  48. IN PVOID Lower,
  49. IN PVOID Upper
  50. );
  51. BOOLEAN
  52. BdRestoreBreakpointRange (
  53. IN PVOID Lower,
  54. IN PVOID Upper
  55. );
  56. LOGICAL
  57. BdLowRestoreBreakpoint (
  58. IN ULONG Index
  59. );
  60. #endif // _BDCPU_