mirror of
https://github.com/reactos/reactos.git
synced 2025-01-01 03:54:02 +00:00
[NTOS:KE] Don't use FrLdrDbgPrint anymore. It served us well, but now it's time to go away.
This commit is contained in:
parent
0343ac4f0b
commit
b2a483b9ea
1 changed files with 1 additions and 88 deletions
|
@ -12,7 +12,6 @@
|
||||||
#include <trapamd64.inc>
|
#include <trapamd64.inc>
|
||||||
|
|
||||||
EXTERN KiDispatchException:PROC
|
EXTERN KiDispatchException:PROC
|
||||||
EXTERN FrLdrDbgPrint:DWORD
|
|
||||||
EXTERN KeBugCheckWithTf:PROC
|
EXTERN KeBugCheckWithTf:PROC
|
||||||
EXTERN MmAccessFault:PROC
|
EXTERN MmAccessFault:PROC
|
||||||
EXTERN KiSystemFatalException:PROC
|
EXTERN KiSystemFatalException:PROC
|
||||||
|
@ -27,64 +26,6 @@ EXTERN KdSetOwedBreakpoints:PROC
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* GLOBALS *******************************************************************/
|
|
||||||
|
|
||||||
.data
|
|
||||||
|
|
||||||
PUBLIC MsgUnimplemented
|
|
||||||
MsgUnimplemented:
|
|
||||||
.asciz "WARNING: %s at %s:%d is UNIMPLEMENTED!\n"
|
|
||||||
|
|
||||||
MsgPageFault:
|
|
||||||
.asciz "Page fault! Code = 0x%x, RIP = %p, FaultingAddress = %p\n"
|
|
||||||
|
|
||||||
MsgGeneralProtFault:
|
|
||||||
.asciz "General protection fault at %p!\n"
|
|
||||||
|
|
||||||
MsgBreakpointTrap:
|
|
||||||
.asciz "BreakpointTrap at %p\n"
|
|
||||||
|
|
||||||
MsgUnexpectedInterrupt:
|
|
||||||
.asciz "UnexpectedInterrupt Vector=0x%02lx\n"
|
|
||||||
|
|
||||||
MsgInvalidOpcodeFault:
|
|
||||||
.asciz "Invalid opcode fault at %p!\n"
|
|
||||||
|
|
||||||
MsgDoubleFault:
|
|
||||||
.asciz "Double fault at %p, rbp=%p!\n"
|
|
||||||
|
|
||||||
MsgTrapInfo:
|
|
||||||
.asciz "Trap: %s at %p\n"
|
|
||||||
|
|
||||||
MACRO(TRAPINFO, func)
|
|
||||||
LOCAL label1, label2
|
|
||||||
#if 0
|
|
||||||
jmp label2
|
|
||||||
label1: .asciz "\func"
|
|
||||||
label2:
|
|
||||||
push rax
|
|
||||||
push rcx
|
|
||||||
push rdx
|
|
||||||
push r8
|
|
||||||
push r9
|
|
||||||
push r10
|
|
||||||
push r11
|
|
||||||
sub rsp, 32
|
|
||||||
lea rcx, MsgTrapInfo[rip]
|
|
||||||
lea rdx, 1b[rip]
|
|
||||||
mov r8, [rbp + KTRAP_FRAME_Rip]
|
|
||||||
call qword ptr FrLdrDbgPrint[rip]
|
|
||||||
pop r11
|
|
||||||
pop r10
|
|
||||||
pop r9
|
|
||||||
pop r8
|
|
||||||
pop rdx
|
|
||||||
pop rcx
|
|
||||||
pop rax
|
|
||||||
add rsp, 32
|
|
||||||
#endif
|
|
||||||
ENDM
|
|
||||||
|
|
||||||
/* Helper Macros *************************************************************/
|
/* Helper Macros *************************************************************/
|
||||||
|
|
||||||
MACRO(DispatchException, Status, Number, P1, P2, P3)
|
MACRO(DispatchException, Status, Number, P1, P2, P3)
|
||||||
|
@ -235,8 +176,6 @@ FUNC KiDebugTrapOrFault
|
||||||
/* Push pseudo error code */
|
/* Push pseudo error code */
|
||||||
EnterTrap TF_SAVE_ALL
|
EnterTrap TF_SAVE_ALL
|
||||||
|
|
||||||
TRAPINFO KiDebugTrapOrFault
|
|
||||||
|
|
||||||
/* Check if the frame was from kernelmode */
|
/* Check if the frame was from kernelmode */
|
||||||
test word ptr [rbp + KTRAP_FRAME_SegCs], 3
|
test word ptr [rbp + KTRAP_FRAME_SegCs], 3
|
||||||
jz KiDebugTrapOrFaultKMode
|
jz KiDebugTrapOrFaultKMode
|
||||||
|
@ -332,12 +271,6 @@ FUNC KiInvalidOpcodeFault
|
||||||
/* Push pseudo error code */
|
/* Push pseudo error code */
|
||||||
EnterTrap TF_SAVE_ALL
|
EnterTrap TF_SAVE_ALL
|
||||||
|
|
||||||
TRAPINFO KiInvalidOpcodeFault
|
|
||||||
|
|
||||||
mov rdx, [rbp + KTRAP_FRAME_Rip]
|
|
||||||
lea rcx, MsgInvalidOpcodeFault[rip]
|
|
||||||
call qword ptr FrLdrDbgPrint[rip]
|
|
||||||
|
|
||||||
/* Enable interrupts */
|
/* Enable interrupts */
|
||||||
sti
|
sti
|
||||||
|
|
||||||
|
@ -385,10 +318,7 @@ FUNC KiDoubleFaultAbort
|
||||||
/* A zero error code is pushed */
|
/* A zero error code is pushed */
|
||||||
EnterTrap (TF_HAS_ERROR_CODE OR TF_SAVE_ALL)
|
EnterTrap (TF_HAS_ERROR_CODE OR TF_SAVE_ALL)
|
||||||
|
|
||||||
lea rcx, MsgDoubleFault[rip]
|
int 3
|
||||||
mov rdx, [rbp + KTRAP_FRAME_FaultAddress]
|
|
||||||
mov r8, rbp
|
|
||||||
call qword ptr FrLdrDbgPrint[rip]
|
|
||||||
|
|
||||||
/* Bugcheck */
|
/* Bugcheck */
|
||||||
Fatal 8 // EXCEPTION_DOUBLE_FAULT
|
Fatal 8 // EXCEPTION_DOUBLE_FAULT
|
||||||
|
@ -446,11 +376,6 @@ FUNC KiGeneralProtectionFault
|
||||||
/* We have an error code */
|
/* We have an error code */
|
||||||
EnterTrap (TF_HAS_ERROR_CODE OR TF_SAVE_ALL)
|
EnterTrap (TF_HAS_ERROR_CODE OR TF_SAVE_ALL)
|
||||||
|
|
||||||
//TRAPINFO KiGeneralProtectionFault
|
|
||||||
//mov rdx, [rbp + KTRAP_FRAME_Rip]
|
|
||||||
//lea rcx, MsgGeneralProtFault[rip]
|
|
||||||
//call qword ptr FrLdrDbgPrint[rip]
|
|
||||||
|
|
||||||
/* Call the C handler */
|
/* Call the C handler */
|
||||||
mov rcx, rbp
|
mov rcx, rbp
|
||||||
call KiGeneralProtectionFaultHandler
|
call KiGeneralProtectionFaultHandler
|
||||||
|
@ -485,16 +410,6 @@ FUNC KiPageFault
|
||||||
/* We have an error code */
|
/* We have an error code */
|
||||||
EnterTrap (TF_HAS_ERROR_CODE OR TF_SAVE_ALL)
|
EnterTrap (TF_HAS_ERROR_CODE OR TF_SAVE_ALL)
|
||||||
|
|
||||||
TRAPINFO KiPageFault
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
lea rcx, MsgPageFault[rip]
|
|
||||||
mov rdx, [rbp + KTRAP_FRAME_ErrorCode]
|
|
||||||
mov r8, [rbp + KTRAP_FRAME_Rip]
|
|
||||||
mov r9, [rbp + KTRAP_FRAME_FaultAddress]
|
|
||||||
call qword ptr FrLdrDbgPrint[rip]
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Save page fault address */
|
/* Save page fault address */
|
||||||
mov rdx, cr2
|
mov rdx, cr2
|
||||||
mov [rbp + KTRAP_FRAME_FaultAddress], rdx
|
mov [rbp + KTRAP_FRAME_FaultAddress], rdx
|
||||||
|
@ -644,8 +559,6 @@ FUNC KiDebugServiceTrap
|
||||||
/* No error code */
|
/* No error code */
|
||||||
EnterTrap TF_SAVE_ALL
|
EnterTrap TF_SAVE_ALL
|
||||||
|
|
||||||
TRAPINFO KiDebugServiceTrap
|
|
||||||
|
|
||||||
/* Increase Rip to skip the int3 */
|
/* Increase Rip to skip the int3 */
|
||||||
inc qword ptr [rbp + KTRAP_FRAME_Rip]
|
inc qword ptr [rbp + KTRAP_FRAME_Rip]
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue