Use ASSERT macro instead of assert macro.
[reactos.git] / reactos / hal / halx86 / spinlock.c
index c5224ec..d4f4cbf 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: spinlock.c,v 1.4 2003/08/12 21:19:50 royce Exp $
+/* $Id: spinlock.c,v 1.9 2004/10/22 20:08:22 ekohl Exp $
  *
  * COPYRIGHT:       See COPYING in the top level directory
  * PROJECT:         ReactOS kernel
@@ -35,8 +35,7 @@ KeAcquireSpinLock (
  *         OldIrql (OUT) = Caller supplied storage for the previous irql
  */
 {
-   KeRaiseIrql(DISPATCH_LEVEL,OldIrql);
-   KeAcquireSpinLockAtDpcLevel(SpinLock);
+  *OldIrql = KfAcquireSpinLock(SpinLock);
 }
 
 KIRQL FASTCALL
@@ -44,8 +43,12 @@ KeAcquireSpinLockRaiseToSynch (
        PKSPIN_LOCK     SpinLock
        )
 {
-  ASSERT_IRQL(SYNCH_LEVEL);
-  KeAcquireSpinLockAtDpcLevel(SpinLock);
+  KIRQL OldIrql;
+
+  OldIrql = KfRaiseIrql(SYNCH_LEVEL);
+  KiAcquireSpinLock(SpinLock);
+
+  return OldIrql;
 }
 
 VOID STDCALL
@@ -60,8 +63,7 @@ KeReleaseSpinLock (
  *        NewIrql = Irql level before acquiring the spinlock
  */
 {
-   KeReleaseSpinLockFromDpcLevel(SpinLock);
-   KeLowerIrql(NewIrql);
+   KfReleaseSpinLock(SpinLock, NewIrql);
 }
 
 KIRQL FASTCALL
@@ -71,8 +73,10 @@ KfAcquireSpinLock (
 {
    KIRQL OldIrql;
 
-   KeRaiseIrql(DISPATCH_LEVEL, &OldIrql);
-   KeAcquireSpinLockAtDpcLevel(SpinLock);
+   ASSERT(KeGetCurrentIrql() <= DISPATCH_LEVEL);
+   
+   OldIrql = KfRaiseIrql(DISPATCH_LEVEL);
+   KiAcquireSpinLock(SpinLock);
 
    return OldIrql;
 }
@@ -89,8 +93,9 @@ KfReleaseSpinLock (
  *        NewIrql = Irql level before acquiring the spinlock
  */
 {
-   KeReleaseSpinLockFromDpcLevel(SpinLock);
-   KeLowerIrql(NewIrql);
+   ASSERT(KeGetCurrentIrql() == DISPATCH_LEVEL || KeGetCurrentIrql() == SYNCH_LEVEL);
+   KiReleaseSpinLock(SpinLock);
+   KfLowerIrql(NewIrql);
 }
 
 /* EOF */