mirror of
https://github.com/reactos/reactos.git
synced 2025-01-03 21:09:19 +00:00
- Revert hack.
svn path=/trunk/; revision=56237
This commit is contained in:
parent
6539718c1d
commit
18748efb4b
1 changed files with 15 additions and 19 deletions
|
@ -666,29 +666,25 @@ KfLowerIrql(IN KIRQL OldIrql)
|
|||
/* Set old IRQL */
|
||||
Pcr->Irql = OldIrql;
|
||||
|
||||
/* Make sure interrupts were enabled */
|
||||
if (EFlags & EFLAGS_INTERRUPT_MASK)
|
||||
/* Check for pending software interrupts and compare with current IRQL */
|
||||
PendingIrqlMask = Pcr->IRR & FindHigherIrqlMask[OldIrql];
|
||||
if (PendingIrqlMask)
|
||||
{
|
||||
/* Check for pending software interrupts and compare with current IRQL */
|
||||
PendingIrqlMask = Pcr->IRR & FindHigherIrqlMask[OldIrql];
|
||||
if (PendingIrqlMask)
|
||||
/* Check if pending IRQL affects hardware state */
|
||||
BitScanReverse(&PendingIrql, PendingIrqlMask);
|
||||
if (PendingIrql > DISPATCH_LEVEL)
|
||||
{
|
||||
/* Check if pending IRQL affects hardware state */
|
||||
BitScanReverse(&PendingIrql, PendingIrqlMask);
|
||||
if (PendingIrql > DISPATCH_LEVEL)
|
||||
{
|
||||
/* Set new PIC mask */
|
||||
Mask.Both = Pcr->IDR & 0xFFFF;
|
||||
__outbyte(PIC1_DATA_PORT, Mask.Master);
|
||||
__outbyte(PIC2_DATA_PORT, Mask.Slave);
|
||||
/* Set new PIC mask */
|
||||
Mask.Both = Pcr->IDR & 0xFFFF;
|
||||
__outbyte(PIC1_DATA_PORT, Mask.Master);
|
||||
__outbyte(PIC2_DATA_PORT, Mask.Slave);
|
||||
|
||||
/* Clear IRR bit */
|
||||
Pcr->IRR ^= (1 << PendingIrql);
|
||||
}
|
||||
|
||||
/* Now handle pending interrupt */
|
||||
SWInterruptHandlerTable[PendingIrql]();
|
||||
/* Clear IRR bit */
|
||||
Pcr->IRR ^= (1 << PendingIrql);
|
||||
}
|
||||
|
||||
/* Now handle pending interrupt */
|
||||
SWInterruptHandlerTable[PendingIrql]();
|
||||
}
|
||||
|
||||
/* Restore interrupt state */
|
||||
|
|
Loading…
Reference in a new issue