- Get rid of the peculiar idea that the HAL should manually hack into ntoskrnl through a hack export and hackishly call the registered device interrupt handlers. This is why computers have a PIC in the first place...

svn path=/trunk/; revision=23653
This commit is contained in:
Alex Ionescu 2006-08-22 22:20:02 +00:00
parent fcda0db1c6
commit fcdd76f501
2 changed files with 0 additions and 46 deletions

View file

@ -16,10 +16,6 @@
/* GLOBALS ******************************************************************/ /* GLOBALS ******************************************************************/
/*
* FIXME: Use EISA_CONTROL STRUCTURE INSTEAD OF HARD-CODED OFFSETS
*/
UCHAR Table[8] = UCHAR Table[8] =
{ {
0, 0, 0, 0,
@ -27,14 +23,6 @@ UCHAR Table[8] =
2, 2, 2, 2 2, 2, 2, 2
}; };
static ULONG HalpPendingInterruptCount[NR_IRQS] = {0};
#define DIRQL_TO_IRQ(x) (PROFILE_LEVEL - x)
#define IRQ_TO_DIRQL(x) (PROFILE_LEVEL - x)
VOID STDCALL
KiInterruptDispatch2 (ULONG Irq, KIRQL old_level);
/* FUNCTIONS ****************************************************************/ /* FUNCTIONS ****************************************************************/
extern ULONG KiI8259MaskTable[]; extern ULONG KiI8259MaskTable[];
@ -60,38 +48,6 @@ VOID HalpEndSystemInterrupt(KIRQL Irql)
Ki386RestoreFlags(flags); Ki386RestoreFlags(flags);
} }
VOID STATIC
HalpExecuteIrqs(KIRQL NewIrql)
{
ULONG IrqLimit, i;
IrqLimit = min(PROFILE_LEVEL - NewIrql, NR_IRQS);
/*
* For each irq if there have been any deferred interrupts then now
* dispatch them.
*/
for (i = 0; i < IrqLimit; i++)
{
if (HalpPendingInterruptCount[i] > 0)
{
KeGetPcr()->Irql = (KIRQL)IRQ_TO_DIRQL(i);
while (HalpPendingInterruptCount[i] > 0)
{
/*
* For each deferred interrupt execute all the handlers at DIRQL.
*/
HalpPendingInterruptCount[i]--;
KiInterruptDispatch2(i + IRQ_BASE, NewIrql);
}
KeGetPcr()->Irql--;
HalpEndSystemInterrupt(KeGetPcr()->Irql);
}
}
}
VOID STATIC VOID STATIC
HalpLowerIrql(KIRQL NewIrql) HalpLowerIrql(KIRQL NewIrql)
{ {
@ -100,7 +56,6 @@ HalpLowerIrql(KIRQL NewIrql)
KeGetPcr()->Irql = NewIrql; KeGetPcr()->Irql = NewIrql;
return; return;
} }
HalpExecuteIrqs(NewIrql);
if (NewIrql >= DISPATCH_LEVEL) if (NewIrql >= DISPATCH_LEVEL)
{ {
KeGetPcr()->Irql = NewIrql; KeGetPcr()->Irql = NewIrql;

View file

@ -664,7 +664,6 @@ KiCheckForKernelApcDelivery@0
KiDeliverApc@12 KiDeliverApc@12
KiDispatchInterrupt@0 KiDispatchInterrupt@0
KiEnableTimerWatchdog KiEnableTimerWatchdog
KiInterruptDispatch2@8
KiIpiServiceRoutine@8 KiIpiServiceRoutine@8
@KiReleaseSpinLock@4 @KiReleaseSpinLock@4
KiUnexpectedInterrupt KiUnexpectedInterrupt