- 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 ******************************************************************/
/*
* FIXME: Use EISA_CONTROL STRUCTURE INSTEAD OF HARD-CODED OFFSETS
*/
UCHAR Table[8] =
{
0, 0,
@ -27,14 +23,6 @@ UCHAR Table[8] =
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 ****************************************************************/
extern ULONG KiI8259MaskTable[];
@ -60,38 +48,6 @@ VOID HalpEndSystemInterrupt(KIRQL Irql)
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
HalpLowerIrql(KIRQL NewIrql)
{
@ -100,7 +56,6 @@ HalpLowerIrql(KIRQL NewIrql)
KeGetPcr()->Irql = NewIrql;
return;
}
HalpExecuteIrqs(NewIrql);
if (NewIrql >= DISPATCH_LEVEL)
{
KeGetPcr()->Irql = NewIrql;

View file

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