mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-01 04:13:35 +00:00
Add some debugging code
svn path=/branches/ros-amd64-bringup/; revision=44179
This commit is contained in:
@@ -33,6 +33,24 @@ _MsgUnexpectedInterrupt:
|
||||
_MsgInvalidOpcodeFault:
|
||||
.ascii "General protection fault at %p!\n\0"
|
||||
|
||||
_MsgTrapInfo:
|
||||
.ascii "Trap: %s at %p\n\0"
|
||||
|
||||
.macro TRAPINFO func
|
||||
#if 0
|
||||
jmp 2f
|
||||
.equ expr, 12
|
||||
1: .asciz "\func"
|
||||
2:
|
||||
sub rsp, 0x20
|
||||
lea rcx, _MsgTrapInfo[rip]
|
||||
lea rdx, 1b[rip]
|
||||
mov r8, [rbp + KTRAP_FRAME_Rip]
|
||||
call _FrLdrDbgPrint[rip]
|
||||
add rsp, 0x20
|
||||
#endif
|
||||
.endm
|
||||
|
||||
/* Helper Macros *************************************************************/
|
||||
|
||||
#define TRAPFLAG_VOLATILES 0x01
|
||||
@@ -292,6 +310,8 @@ _InternalDispatchException:
|
||||
|
||||
ENTER_TRAP_FRAME (0x28), TRAPFLAG_ALL
|
||||
|
||||
TRAPINFO KiDebugTrapOrFault
|
||||
|
||||
/* Check if the frame was from kernelmode */
|
||||
test word ptr [rbp + KTRAP_FRAME_SegCs], 3
|
||||
jz KiDebugTrapOrFaultKMode
|
||||
@@ -333,6 +353,8 @@ KiDebugTrapOrFaultKMode:
|
||||
|
||||
ENTER_TRAP_FRAME (0x28), TRAPFLAG_ALL
|
||||
|
||||
TRAPINFO KiBreakpointTrap
|
||||
|
||||
// lea rcx, _MsgBreakpointTrap[rip]
|
||||
// mov rdx, rsp
|
||||
// call _FrLdrDbgPrint[rip]
|
||||
@@ -385,6 +407,8 @@ KiDebugTrapOrFaultKMode:
|
||||
|
||||
ENTER_TRAP_FRAME (0x28), TRAPFLAG_ALL
|
||||
|
||||
TRAPINFO KiInvalidOpcodeFault
|
||||
|
||||
// DISPATCH_EXCEPTION STATUS_BREAKPOINT, 3, 0, 0, 0
|
||||
|
||||
mov rdx, [rbp + KTRAP_FRAME_Rip]
|
||||
@@ -478,6 +502,8 @@ KiDebugTrapOrFaultKMode:
|
||||
|
||||
ENTER_TRAP_FRAME (0x28), TRAPFLAG_ALL
|
||||
|
||||
TRAPINFO KiGeneralProtectionFault
|
||||
|
||||
// DISPATCH_EXCEPTION STATUS_BREAKPOINT, 3, 0, 0, 0
|
||||
|
||||
mov rdx, [rbp + KTRAP_FRAME_Rip]
|
||||
@@ -497,6 +523,8 @@ KiDebugTrapOrFaultKMode:
|
||||
|
||||
ENTER_TRAP_FRAME (0x28), TRAPFLAG_ALL
|
||||
|
||||
TRAPINFO KiPageFault
|
||||
|
||||
#if 0
|
||||
lea rcx, _MsgPageFault[rip]
|
||||
mov rdx, [rbp + KTRAP_FRAME_ErrorCode]
|
||||
@@ -628,6 +656,8 @@ PageFaultReturn:
|
||||
|
||||
ENTER_TRAP_FRAME (0x28), TRAPFLAG_ALL
|
||||
|
||||
TRAPINFO KiDebugServiceTrap
|
||||
|
||||
/* Increase Rip to skip the int3 */
|
||||
inc qword ptr [rbp + KTRAP_FRAME_Rip]
|
||||
|
||||
@@ -646,12 +676,18 @@ PageFaultReturn:
|
||||
|
||||
.proc KiDpcInterrupt
|
||||
.pushframe 1
|
||||
|
||||
UNIMPLEMENTED KiDpcInterrupt
|
||||
|
||||
jmp $
|
||||
.endproc
|
||||
|
||||
|
||||
.proc KiIpiInterrupt
|
||||
.pushframe 1
|
||||
|
||||
UNIMPLEMENTED KiIpiInterrupt
|
||||
|
||||
jmp $
|
||||
.endproc
|
||||
|
||||
|
||||
Reference in New Issue
Block a user