diff --git a/reactos/hal/halx86/display.c b/reactos/hal/halx86/display.c index 063079e15bf..51785b563b7 100644 --- a/reactos/hal/halx86/display.c +++ b/reactos/hal/halx86/display.c @@ -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); } diff --git a/reactos/hal/halx86/spinlock.c b/reactos/hal/halx86/spinlock.c index a687aabffc7..a155cdf546b 100644 --- a/reactos/hal/halx86/spinlock.c +++ b/reactos/hal/halx86/spinlock.c @@ -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 */