#ifndef CONFIG_SMP
#define KeInitializeDispatcher()
#define KeAcquireDispatcherDatabaseLock() KeRaiseIrqlToDpcLevel();
+#define KeReleaseDispatcherDatabaseLock(OldIrql) KiExitDispatcher(OldIrql);
#define KeAcquireDispatcherDatabaseLockAtDpcLevel()
#define KeReleaseDispatcherDatabaseLockFromDpcLevel()
#else
KeAcquireSpinLockAtDpcLevel (&DispatcherDatabaseLock);
#define KeReleaseDispatcherDatabaseLockFromDpcLevel() \
KeReleaseSpinLockFromDpcLevel(&DispatcherDatabaseLock);
+#define KeReleaseDispatcherDatabaseLock(OldIrql) \
+ KeReleaseSpinLockFromDpcLevel(&DispatcherDatabaseLock); \
+ KiExitDispatcher(OldIrql);
#endif
/* The following macro initializes a dispatcher object's header */
STDCALL
KiAdjustQuantumThread(IN PKTHREAD Thread);
+VOID
+FASTCALL
+KiExitDispatcher(KIRQL OldIrql);
+
/* gmutex.c ********************************************************************/
VOID
PVOID SystemArgument2
);
-VOID
-FASTCALL
-KeReleaseDispatcherDatabaseLock(KIRQL Irql);
-
VOID
STDCALL
KeInitializeThread(