Author: ion
Date: Wed Aug 23 10:38:46 2006
New Revision: 23663
URL:
http://svn.reactos.org/svn/reactos?rev=23663&view=rev
Log:
- Switch HalEndSystemInterrupt to ASM version and get completely rid of the irql.C file.
Removed:
trunk/reactos/hal/halx86/generic/irql.c
Modified:
trunk/reactos/hal/halx86/generic/generic.rbuild
trunk/reactos/hal/halx86/generic/irq.S
Modified: trunk/reactos/hal/halx86/generic/generic.rbuild
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/hal/halx86/generic/generic…
==============================================================================
--- trunk/reactos/hal/halx86/generic/generic.rbuild (original)
+++ trunk/reactos/hal/halx86/generic/generic.rbuild Wed Aug 23 10:38:46 2006
@@ -31,7 +31,6 @@
<define name="_NTHAL_" />
<define name="__USE_W32API" />
<file>ipi.c</file>
- <file>irql.c</file>
<file>irq.S</file>
<file>processor.c</file>
<file>resource.c</file>
Modified: trunk/reactos/hal/halx86/generic/irq.S
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/hal/halx86/generic/irq.S?r…
==============================================================================
--- trunk/reactos/hal/halx86/generic/irq.S (original)
+++ trunk/reactos/hal/halx86/generic/irq.S Wed Aug 23 10:38:46 2006
@@ -367,7 +367,6 @@
ret 12
.endfunc
-#if 0
.globl _HalEndSystemInterrupt@8
.func HalEndSystemInterrupt@8
_HalEndSystemInterrupt@8:
@@ -389,7 +388,7 @@
/* Set IRQL and check if there are pending software interrupts */
mov [fs:KPCR_IRQL], cl
#if 0
- mov eax, [fs:KPCR_IDR]
+ mov eax, [fs:KPCR_IRR]
mov al, _SoftIntByteTable[eax]
cmp al, cl
ja DoCall
@@ -402,7 +401,6 @@
add esp, 8
jmp SoftIntHandlerTable2[eax*4]
.endfunc
-#endif
.globl @KfLowerIrql@4
.func @KfLowerIrql@4
Removed: 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 (removed)
@@ -1,54 +1,0 @@
-/* $Id$
- *
- * COPYRIGHT: See COPYING in the top level directory
- * PROJECT: ReactOS kernel
- * FILE: ntoskrnl/hal/x86/irql.c
- * PURPOSE: Implements IRQLs
- * PROGRAMMER: David Welch (welch(a)cwcom.net)
- */
-
-/* INCLUDES *****************************************************************/
-
-#include <hal.h>
-#define NDEBUG
-#include <debug.h>
-
-/* GLOBALS ******************************************************************/
-
-typedef VOID (*PSW_HANDLER)(VOID);
-extern PSW_HANDLER SoftIntHandlerTable[];
-extern ULONG KiI8259MaskTable[];
-extern UCHAR SoftIntByteTable[];
-
-/* FUNCTIONS ****************************************************************/
-
-
-VOID STDCALL HalEndSystemInterrupt (KIRQL Irql, ULONG Unknown2)
-{
- ULONG Mask;
- ULONG Flags;
- UCHAR Pending;
-
- Ki386SaveFlags(Flags);
- Ki386DisableInterrupts();
-
- if (KeGetPcr()->Irql > DISPATCH_LEVEL)
- {
- Mask = KeGetPcr()->IDR | KiI8259MaskTable[Irql];
- WRITE_PORT_UCHAR((PUCHAR)0x21, (UCHAR)Mask);
- Mask >>= 8;
- WRITE_PORT_UCHAR((PUCHAR)0xa1, (UCHAR)Mask);
- }
-
-
- KeGetPcr()->Irql = Irql;
- Pending = SoftIntByteTable[KeGetPcr()->IRR];
- if (Pending > Irql)
- {
- SoftIntHandlerTable[Pending]();
- }
- Ki386RestoreFlags(Flags);
-}
-
-
-/* EOF */