mirror of
https://github.com/reactos/reactos.git
synced 2025-07-29 07:41:48 +00:00
[NTOS] Push vector as error code on the stack in KiUnexpectedInterrupt* instead of putting it into eax, because we must not clobber it. Spotted by jcatena.
svn path=/trunk/; revision=45590
This commit is contained in:
parent
1ce3458da7
commit
a7994c98a5
2 changed files with 3 additions and 3 deletions
|
@ -168,7 +168,7 @@ KiUnexpectedInterruptTailHandler(IN PKTRAP_FRAME TrapFrame)
|
||||||
KeGetCurrentPrcb()->InterruptCount++;
|
KeGetCurrentPrcb()->InterruptCount++;
|
||||||
|
|
||||||
/* Start the interrupt */
|
/* Start the interrupt */
|
||||||
if (HalBeginSystemInterrupt(HIGH_LEVEL, TrapFrame->Eax, &OldIrql))
|
if (HalBeginSystemInterrupt(HIGH_LEVEL, TrapFrame->ErrCode, &OldIrql))
|
||||||
{
|
{
|
||||||
/* Warn user */
|
/* Warn user */
|
||||||
DPRINT1("\n\x7\x7!!! Unexpected Interrupt %02lx !!!\n");
|
DPRINT1("\n\x7\x7!!! Unexpected Interrupt %02lx !!!\n");
|
||||||
|
|
|
@ -20,7 +20,7 @@ ENDM
|
||||||
MACRO(GENERATE_INT_HANDLER, Number)
|
MACRO(GENERATE_INT_HANDLER, Number)
|
||||||
.func KiUnexpectedInterrupt&Number
|
.func KiUnexpectedInterrupt&Number
|
||||||
_KiUnexpectedInterrupt&Number:
|
_KiUnexpectedInterrupt&Number:
|
||||||
mov eax, PRIMARY_VECTOR_BASE + Number
|
push PRIMARY_VECTOR_BASE + Number
|
||||||
jmp _KiEndUnexpectedRange@0
|
jmp _KiEndUnexpectedRange@0
|
||||||
.endfunc
|
.endfunc
|
||||||
ENDM
|
ENDM
|
||||||
|
@ -103,7 +103,7 @@ TRAP_ENTRY KiGetTickCount, KI_PUSH_FAKE_ERROR_CODE
|
||||||
TRAP_ENTRY KiCallbackReturn, KI_PUSH_FAKE_ERROR_CODE
|
TRAP_ENTRY KiCallbackReturn, KI_PUSH_FAKE_ERROR_CODE
|
||||||
TRAP_ENTRY KiRaiseAssertion, KI_PUSH_FAKE_ERROR_CODE
|
TRAP_ENTRY KiRaiseAssertion, KI_PUSH_FAKE_ERROR_CODE
|
||||||
TRAP_ENTRY KiDebugService, KI_PUSH_FAKE_ERROR_CODE
|
TRAP_ENTRY KiDebugService, KI_PUSH_FAKE_ERROR_CODE
|
||||||
TRAP_ENTRY KiUnexpectedInterruptTail, KI_PUSH_FAKE_ERROR_CODE
|
TRAP_ENTRY KiUnexpectedInterruptTail, 0
|
||||||
|
|
||||||
ALIGN 4
|
ALIGN 4
|
||||||
EXTERN @KiInterruptTemplateHandler@8
|
EXTERN @KiInterruptTemplateHandler@8
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue