ReactOS 0.4.15-dev-7659-ga55345b
spinlock.c
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS HAL
3 * LICENSE: BSD - See COPYING.ARM in the top level directory
4 * FILE: hal/halarm/generic/spinlock.c
5 * PURPOSE: SpinLock Routines
6 * PROGRAMMERS: ReactOS Portable Systems Group
7 */
8
9/* INCLUDES ******************************************************************/
10
11#include <hal.h>
12#define NDEBUG
13#include <debug.h>
14
15#undef KeAcquireSpinLock
16#undef KeReleaseSpinLock
17#undef KeRaiseIrql
18#undef KeLowerIrql
19
20/* FUNCTIONS *****************************************************************/
21
22/*
23 * @implemented
24 */
25VOID
29{
30 /* Call the fastcall function */
32}
33
34/*
35 * @implemented
36 */
37VOID
40{
41 /* Call the fastcall function */
43}
44
45/*
46 * @implemented
47 */
48VOID
52{
53 /* Call the fastcall function */
55}
56
57/*
58 * @implemented
59 */
63{
64 /* Simply raise to dispatch */
66}
67
68/*
69 * @implemented
70 */
71VOID
75{
76 /* Call the fastcall function */
78}
79
80/*
81 * @implemented
82 */
86{
87 /* Simply raise to dispatch */
89}
90
91/*
92 * @implemented
93 */
94VOID
98{
99 /* Simply lower IRQL back */
101}
102
103/*
104 * @implemented
105 */
106KIRQL
109{
110 /* Simply raise to dispatch */
112}
113
114/*
115 * @implemented
116 */
117KIRQL
120{
121 /* Simply raise to dispatch */
123}
124
125/*
126 * @implemented
127 */
128VOID
132{
133 /* Simply raise to dispatch */
135}
136
137/*
138 * @implemented
139 */
140VOID
144{
145 /* Simply raise to dispatch */
147}
148
149/*
150 * @implemented
151 */
152VOID
156{
157 /* Simply lower IRQL back */
159}
160
161/*
162 * @implemented
163 */
164VOID
167{
168 /* Simply lower IRQL back */
170}
171
172/*
173 * @implemented
174 */
179{
180 /* Simply raise to synch */
182
183 /* Always return true on UP Machines */
184 return TRUE;
185}
186
187/*
188 * @implemented
189 */
190LOGICAL
194{
195 /* Simply raise to dispatch */
197
198 /* Always return true on UP Machines */
199 return TRUE;
200}
201
202/* EOF */
unsigned char BOOLEAN
#define TRUE
Definition: types.h:120
#define SYNCH_LEVEL
Definition: env_spec_w32.h:704
UCHAR KIRQL
Definition: env_spec_w32.h:591
#define KeRaiseIrql(irql, oldIrql)
Definition: env_spec_w32.h:597
KSPIN_LOCK * PKSPIN_LOCK
Definition: env_spec_w32.h:73
#define KeReleaseSpinLock(sl, irql)
Definition: env_spec_w32.h:627
#define KeLowerIrql(oldIrql)
Definition: env_spec_w32.h:602
#define KeAcquireSpinLock(sl, irql)
Definition: env_spec_w32.h:609
KIRQL * PKIRQL
Definition: env_spec_w32.h:592
#define DISPATCH_LEVEL
Definition: env_spec_w32.h:696
VOID FASTCALL KfLowerIrql(IN KIRQL NewIrql)
Definition: pic.c:232
KIRQL FASTCALL KfRaiseIrql(IN KIRQL NewIrql)
Definition: pic.c:187
KIRQL FASTCALL KfAcquireSpinLock(PKSPIN_LOCK SpinLock)
Definition: spinlock.c:85
VOID FASTCALL KeAcquireInStackQueuedSpinLock(IN PKSPIN_LOCK SpinLock, IN PKLOCK_QUEUE_HANDLE LockHandle)
Definition: spinlock.c:130
VOID FASTCALL KeReleaseQueuedSpinLock(IN KSPIN_LOCK_QUEUE_NUMBER LockNumber, IN KIRQL OldIrql)
Definition: spinlock.c:154
KIRQL FASTCALL KeAcquireQueuedSpinLockRaiseToSynch(IN KSPIN_LOCK_QUEUE_NUMBER LockNumber)
Definition: spinlock.c:119
VOID FASTCALL KeAcquireInStackQueuedSpinLockRaiseToSynch(IN PKSPIN_LOCK SpinLock, IN PKLOCK_QUEUE_HANDLE LockHandle)
Definition: spinlock.c:142
VOID FASTCALL KeReleaseInStackQueuedSpinLock(IN PKLOCK_QUEUE_HANDLE LockHandle)
Definition: spinlock.c:166
BOOLEAN FASTCALL KeTryToAcquireQueuedSpinLockRaiseToSynch(IN KSPIN_LOCK_QUEUE_NUMBER LockNumber, IN PKIRQL OldIrql)
Definition: spinlock.c:177
KIRQL FASTCALL KeAcquireSpinLockRaiseToSynch(PKSPIN_LOCK SpinLock)
Definition: spinlock.c:62
VOID FASTCALL KfReleaseSpinLock(PKSPIN_LOCK SpinLock, KIRQL OldIrql)
Definition: spinlock.c:96
LOGICAL FASTCALL KeTryToAcquireQueuedSpinLock(IN KSPIN_LOCK_QUEUE_NUMBER LockNumber, OUT PKIRQL OldIrql)
Definition: spinlock.c:192
KIRQL FASTCALL KeAcquireQueuedSpinLock(IN KSPIN_LOCK_QUEUE_NUMBER LockNumber)
Definition: spinlock.c:108
#define FASTCALL
Definition: nt_native.h:50
_Requires_lock_held_ SpinLock _Releases_lock_ SpinLock _In_ _IRQL_restores_ KIRQL NewIrql
Definition: ke.h:114
#define NTAPI
Definition: typedefs.h:36
#define IN
Definition: typedefs.h:39
#define OUT
Definition: typedefs.h:40
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFSPINLOCK * SpinLock
Definition: wdfsync.h:228
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
Definition: kefuncs.h:778
*LockHandle LockHandle _Out_ PKLOCK_QUEUE_HANDLE LockHandle
Definition: kefuncs.h:717
enum _KSPIN_LOCK_QUEUE_NUMBER KSPIN_LOCK_QUEUE_NUMBER