Something went wrong. Try again.
Reactos
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203/* * PROJECT: ReactOS HAL * LICENSE: BSD - See COPYING.ARM in the top level directory * FILE: hal/halarm/generic/spinlock.c * PURPOSE: SpinLock Routines * PROGRAMMERS: ReactOS Portable Systems Group */
/* INCLUDES ******************************************************************/
#include <hal.h>#define NDEBUG#include <debug.h>
#undef KeAcquireSpinLock#undef KeReleaseSpinLock#undef KeRaiseIrql#undef KeLowerIrql
/* FUNCTIONS *****************************************************************/
/* * @implemented */VOIDNTAPIKeRaiseIrql(KIRQL NewIrql, PKIRQL OldIrql){ /* Call the fastcall function */ *OldIrql = KfRaiseIrql(NewIrql);}
/* * @implemented */VOIDNTAPIKeLowerIrql(KIRQL NewIrql){ /* Call the fastcall function */ KfLowerIrql(NewIrql);}
/* * @implemented */VOIDNTAPIKeAcquireSpinLock(PKSPIN_LOCK SpinLock, PKIRQL OldIrql){ /* Call the fastcall function */ *OldIrql = KfAcquireSpinLock(SpinLock);}
/* * @implemented */KIRQLFASTCALLKeAcquireSpinLockRaiseToSynch(PKSPIN_LOCK SpinLock){ /* Simply raise to dispatch */ return KfRaiseIrql(DISPATCH_LEVEL);}
/* * @implemented */VOIDNTAPIKeReleaseSpinLock(PKSPIN_LOCK SpinLock, KIRQL NewIrql){ /* Call the fastcall function */ KfReleaseSpinLock(SpinLock, NewIrql);}
/* * @implemented */KIRQLFASTCALLKfAcquireSpinLock(PKSPIN_LOCK SpinLock){ /* Simply raise to dispatch */ return KfRaiseIrql(DISPATCH_LEVEL);}
/* * @implemented */VOIDFASTCALLKfReleaseSpinLock(PKSPIN_LOCK SpinLock, KIRQL OldIrql){ /* Simply lower IRQL back */ KeLowerIrql(OldIrql);}
/* * @implemented */KIRQLFASTCALLKeAcquireQueuedSpinLock(IN KSPIN_LOCK_QUEUE_NUMBER LockNumber){ /* Simply raise to dispatch */ return KfRaiseIrql(DISPATCH_LEVEL);}
/* * @implemented */KIRQLFASTCALLKeAcquireQueuedSpinLockRaiseToSynch(IN KSPIN_LOCK_QUEUE_NUMBER LockNumber){ /* Simply raise to dispatch */ return KfRaiseIrql(DISPATCH_LEVEL);}
/* * @implemented */VOIDFASTCALLKeAcquireInStackQueuedSpinLock(IN PKSPIN_LOCK SpinLock, IN PKLOCK_QUEUE_HANDLE LockHandle){ /* Simply raise to dispatch */ LockHandle->OldIrql = KfRaiseIrql(DISPATCH_LEVEL);}
/* * @implemented */VOIDFASTCALLKeAcquireInStackQueuedSpinLockRaiseToSynch(IN PKSPIN_LOCK SpinLock, IN PKLOCK_QUEUE_HANDLE LockHandle){ /* Simply raise to dispatch */ LockHandle->OldIrql = KfRaiseIrql(DISPATCH_LEVEL);}
/* * @implemented */VOIDFASTCALLKeReleaseQueuedSpinLock(IN KSPIN_LOCK_QUEUE_NUMBER LockNumber, IN KIRQL OldIrql){ /* Simply lower IRQL back */ KfLowerIrql(OldIrql);}
/* * @implemented */VOIDFASTCALLKeReleaseInStackQueuedSpinLock(IN PKLOCK_QUEUE_HANDLE LockHandle){ /* Simply lower IRQL back */ KfLowerIrql(LockHandle->OldIrql);}
/* * @implemented */BOOLEANFASTCALLKeTryToAcquireQueuedSpinLockRaiseToSynch(IN KSPIN_LOCK_QUEUE_NUMBER LockNumber, IN PKIRQL OldIrql){ /* Simply raise to synch */ KeRaiseIrql(SYNCH_LEVEL, OldIrql);
/* Always return true on UP Machines */ return TRUE;}
/* * @implemented */LOGICALFASTCALLKeTryToAcquireQueuedSpinLock(IN KSPIN_LOCK_QUEUE_NUMBER LockNumber, OUT PKIRQL OldIrql){ /* Simply raise to dispatch */ KeRaiseIrql(DISPATCH_LEVEL, OldIrql);
/* Always return true on UP Machines */ return TRUE;}
/* EOF */