Author: ion
Date: Wed Aug 23 02:20:02 2006
New Revision: 23653
URL:
http://svn.reactos.org/svn/reactos?rev=23653&view=rev
Log:
- 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...
Modified:
trunk/reactos/hal/halx86/generic/irql.c
trunk/reactos/ntoskrnl/ntoskrnl.def
Modified: trunk/reactos/hal/halx86/generic/irql.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/hal/halx86/generic/irql.c?…
==============================================================================
--- trunk/reactos/hal/halx86/generic/irql.c (original)
+++ trunk/reactos/hal/halx86/generic/irql.c Wed Aug 23 02:20:02 2006
@@ -16,24 +16,12 @@
/* GLOBALS ******************************************************************/
-/*
- * FIXME: Use EISA_CONTROL STRUCTURE INSTEAD OF HARD-CODED OFFSETS
-*/
-
UCHAR Table[8] =
{
0, 0,
1, 1,
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 ****************************************************************/
@@ -61,38 +49,6 @@
}
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)
{
if (NewIrql >= PROFILE_LEVEL)
@@ -100,7 +56,6 @@
KeGetPcr()->Irql = NewIrql;
return;
}
- HalpExecuteIrqs(NewIrql);
if (NewIrql >= DISPATCH_LEVEL)
{
KeGetPcr()->Irql = NewIrql;
Modified: trunk/reactos/ntoskrnl/ntoskrnl.def
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ntoskrnl.def?rev=…
==============================================================================
--- trunk/reactos/ntoskrnl/ntoskrnl.def (original)
+++ trunk/reactos/ntoskrnl/ntoskrnl.def Wed Aug 23 02:20:02 2006
@@ -664,7 +664,6 @@
KiDeliverApc@12
KiDispatchInterrupt@0
KiEnableTimerWatchdog
-KiInterruptDispatch2@8
KiIpiServiceRoutine@8
@KiReleaseSpinLock@4
KiUnexpectedInterrupt