- Deliver APCs through a proper interrupt gate as well.

svn path=/trunk/; revision=23658
This commit is contained in:
Alex Ionescu 2006-08-23 00:51:08 +00:00
parent 44804d565e
commit 9f38dc5900

View file

@ -24,6 +24,7 @@ UCHAR Table[8] =
}; };
VOID HalpDispatchInterrupt(VOID); VOID HalpDispatchInterrupt(VOID);
VOID HalpApcInterrupt(VOID);
/* FUNCTIONS ****************************************************************/ /* FUNCTIONS ****************************************************************/
@ -69,8 +70,7 @@ HalpLowerIrql(KIRQL NewIrql)
{ {
if (Table[KeGetPcr()->IRR] == APC_LEVEL) if (Table[KeGetPcr()->IRR] == APC_LEVEL)
{ {
KeGetPcr()->IRR &= ~2; HalpApcInterrupt();
KiDeliverApc(KernelMode, NULL, NULL);
} }
} }
KeGetPcr()->Irql = PASSIVE_LEVEL; KeGetPcr()->Irql = PASSIVE_LEVEL;