[NTOS:KE] Fix pushing of fake error code in KiDoubleFaultAbort (amd64)

This commit is contained in:
Timo Kreuzer 2017-12-31 17:41:01 +01:00
parent f60a9eb7a3
commit c4d6c2c3f1

View file

@ -305,7 +305,7 @@ ENDFUNC
PUBLIC KiBoundFault PUBLIC KiBoundFault
FUNC KiBoundFault FUNC KiBoundFault
/* No error code */ /* Push pseudo error code */
EnterTrap TF_SAVE_ALL EnterTrap TF_SAVE_ALL
/* Check if the frame was from kernelmode */ /* Check if the frame was from kernelmode */
@ -329,7 +329,7 @@ ENDFUNC
PUBLIC KiInvalidOpcodeFault PUBLIC KiInvalidOpcodeFault
FUNC KiInvalidOpcodeFault FUNC KiInvalidOpcodeFault
/* No error code */ /* Push pseudo error code */
EnterTrap TF_SAVE_ALL EnterTrap TF_SAVE_ALL
TRAPINFO KiInvalidOpcodeFault TRAPINFO KiInvalidOpcodeFault
@ -360,7 +360,7 @@ ENDFUNC
PUBLIC KiNpxNotAvailableFault PUBLIC KiNpxNotAvailableFault
FUNC KiNpxNotAvailableFault FUNC KiNpxNotAvailableFault
/* No error code */ /* Push pseudo error code */
EnterTrap TF_SAVE_ALL EnterTrap TF_SAVE_ALL
/* Call the C handler */ /* Call the C handler */
@ -382,8 +382,8 @@ ENDFUNC
PUBLIC KiDoubleFaultAbort PUBLIC KiDoubleFaultAbort
FUNC KiDoubleFaultAbort FUNC KiDoubleFaultAbort
/* No error code */ /* A zero error code is pushed */
EnterTrap TF_SAVE_ALL EnterTrap (TF_HAS_ERROR_CODE OR TF_SAVE_ALL)
lea rcx, MsgDoubleFault[rip] lea rcx, MsgDoubleFault[rip]
mov rdx, [rbp + KTRAP_FRAME_FaultAddress] mov rdx, [rbp + KTRAP_FRAME_FaultAddress]
@ -398,7 +398,7 @@ ENDFUNC
PUBLIC KiNpxSegmentOverrunAbort PUBLIC KiNpxSegmentOverrunAbort
FUNC KiNpxSegmentOverrunAbort FUNC KiNpxSegmentOverrunAbort
/* No error code */ /* Push pseudo error code */
EnterTrap TF_SAVE_ALL EnterTrap TF_SAVE_ALL
/* Bugcheck */ /* Bugcheck */
@ -567,7 +567,7 @@ ENDFUNC
PUBLIC KiFloatingErrorFault PUBLIC KiFloatingErrorFault
FUNC KiFloatingErrorFault FUNC KiFloatingErrorFault
/* No error code */ /* Push pseudo error code */
EnterTrap TF_SAVE_ALL EnterTrap TF_SAVE_ALL
UNIMPLEMENTED KiFloatingErrorFault UNIMPLEMENTED KiFloatingErrorFault
@ -591,7 +591,7 @@ ENDFUNC
PUBLIC KiMcheckAbort PUBLIC KiMcheckAbort
FUNC KiMcheckAbort FUNC KiMcheckAbort
/* No error code */ /* Push pseudo error code */
EnterTrap TF_SAVE_ALL EnterTrap TF_SAVE_ALL
/* Bugcheck */ /* Bugcheck */
@ -602,7 +602,7 @@ ENDFUNC
PUBLIC KiXmmException PUBLIC KiXmmException
FUNC KiXmmException FUNC KiXmmException
/* No error code */ /* Push pseudo error code */
EnterTrap TF_SAVE_ALL EnterTrap TF_SAVE_ALL
/* Call the C handler */ /* Call the C handler */