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?r... ============================================================================== --- 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=2... ============================================================================== --- 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