KiAcquire/ReleaseSpinLock adaption
authorGunnar Dalsnes <hardon@online.no>
Sun, 18 Jan 2004 22:35:26 +0000 (22:35 +0000)
committerGunnar Dalsnes <hardon@online.no>
Sun, 18 Jan 2004 22:35:26 +0000 (22:35 +0000)
svn path=/trunk/; revision=7757

reactos/hal/halx86/display.c
reactos/hal/halx86/spinlock.c

index 063079e..51785b5 100644 (file)
@@ -16,7 +16,7 @@
  *  along with this program; if not, write to the Free Software
  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
-/* $Id: display.c,v 1.12 2003/12/28 22:38:09 fireball Exp $
+/* $Id: display.c,v 1.13 2004/01/18 22:35:26 gdalsnes Exp $
  *
  * COPYRIGHT:       See COPYING in the top level directory
  * PROJECT:         ReactOS kernel
@@ -692,7 +692,7 @@ HalDisplayString(IN PCH String)
 #error Unknown compiler for inline assembler
 #endif
 
-  KeAcquireSpinLockAtDpcLevel(&Lock);
+  KiAcquireSpinLock(&Lock);
 
 #if 0  
   if (HalOwnsDisplay == FALSE)
@@ -754,7 +754,7 @@ HalDisplayString(IN PCH String)
   WRITE_PORT_UCHAR((PUCHAR)VGA_CRTC_INDEX, CRTC_CURHI);
   WRITE_PORT_UCHAR((PUCHAR)VGA_CRTC_DATA, (UCHAR)((offset >> 8) & 0xff));
 #endif
-  KeReleaseSpinLockFromDpcLevel(&Lock);
+  KiReleaseSpinLock(&Lock);
   popfl(Flags);
 }
 
index a687aab..a155cdf 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: spinlock.c,v 1.6 2003/11/06 21:13:21 gvg Exp $
+/* $Id: spinlock.c,v 1.7 2004/01/18 22:35:05 gdalsnes 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
@@ -46,9 +45,8 @@ KeAcquireSpinLockRaiseToSynch (
 {
   KIRQL OldIrql;
 
-  KeRaiseIrql(SYNCH_LEVEL, &OldIrql);
-
-  KeAcquireSpinLockAtDpcLevel(SpinLock);
+  OldIrql = KfRaiseIrql(SYNCH_LEVEL);
+  KiAcquireSpinLock(SpinLock);
 
   return OldIrql;
 }
@@ -65,8 +63,7 @@ KeReleaseSpinLock (
  *        NewIrql = Irql level before acquiring the spinlock
  */
 {
-   KeReleaseSpinLockFromDpcLevel(SpinLock);
-   KeLowerIrql(NewIrql);
+   KfReleaseSpinLock(SpinLock, NewIrql);
 }
 
 KIRQL FASTCALL
@@ -76,8 +73,10 @@ KfAcquireSpinLock (
 {
    KIRQL OldIrql;
 
-   KeRaiseIrql(DISPATCH_LEVEL, &OldIrql);
-   KeAcquireSpinLockAtDpcLevel(SpinLock);
+   assert(KeGetCurrentIrql() <= DISPATCH_LEVEL);
+   
+   OldIrql = KfRaiseIrql(DISPATCH_LEVEL);
+   KiAcquireSpinLock(SpinLock);
 
    return OldIrql;
 }
@@ -94,8 +93,9 @@ KfReleaseSpinLock (
  *        NewIrql = Irql level before acquiring the spinlock
  */
 {
-   KeReleaseSpinLockFromDpcLevel(SpinLock);
-   KeLowerIrql(NewIrql);
+   assert(KeGetCurrentIrql() == DISPATCH_LEVEL);
+   KiReleaseSpinLock(SpinLock);
+   KfLowerIrql(NewIrql);
 }
 
 /* EOF */