ntoskrnl.exe: Implement plain queued spinlock functions on top of DPC-level ones.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
c3c2a4f697
commit
10dcc10a55
|
@ -3764,33 +3764,6 @@ NTSTATUS WINAPI IoCreateFile(HANDLE *handle, ACCESS_MASK access, OBJECT_ATTRIBUT
|
|||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* KeAcquireInStackQueuedSpinLock (NTOSKRNL.EXE.@)
|
||||
*/
|
||||
#ifdef DEFINE_FASTCALL2_ENTRYPOINT
|
||||
DEFINE_FASTCALL2_ENTRYPOINT( KeAcquireInStackQueuedSpinLock )
|
||||
void WINAPI DECLSPEC_HIDDEN __regs_KeAcquireInStackQueuedSpinLock( KSPIN_LOCK *spinlock,
|
||||
KLOCK_QUEUE_HANDLE *handle )
|
||||
#else
|
||||
void WINAPI KeAcquireInStackQueuedSpinLock( KSPIN_LOCK *spinlock, KLOCK_QUEUE_HANDLE *handle )
|
||||
#endif
|
||||
{
|
||||
FIXME( "stub: %p %p\n", spinlock, handle );
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* KeReleaseInStackQueuedSpinLock (NTOSKRNL.EXE.@)
|
||||
*/
|
||||
#ifdef DEFINE_FASTCALL1_ENTRYPOINT
|
||||
DEFINE_FASTCALL1_ENTRYPOINT( KeReleaseInStackQueuedSpinLock )
|
||||
void WINAPI DECLSPEC_HIDDEN __regs_KeReleaseInStackQueuedSpinLock( KLOCK_QUEUE_HANDLE *handle )
|
||||
#else
|
||||
void WINAPI KeReleaseInStackQueuedSpinLock( KLOCK_QUEUE_HANDLE *handle )
|
||||
#endif
|
||||
{
|
||||
FIXME( "stub: %p\n", handle );
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* IoCreateNotificationEvent (NTOSKRNL.EXE.@)
|
||||
*/
|
||||
|
|
|
@ -41,9 +41,9 @@
|
|||
@ stub IoWritePartitionTable
|
||||
@ stdcall -norelay IofCallDriver(ptr ptr)
|
||||
@ stdcall -norelay IofCompleteRequest(ptr long)
|
||||
@ stdcall -norelay KeAcquireInStackQueuedSpinLock(ptr ptr)
|
||||
@ stdcall -arch=arm,arm64,x86_64 KeAcquireInStackQueuedSpinLock(ptr ptr)
|
||||
@ stdcall -norelay KeAcquireInStackQueuedSpinLockAtDpcLevel(ptr ptr)
|
||||
@ stdcall -norelay KeReleaseInStackQueuedSpinLock(ptr)
|
||||
@ stdcall -arch=arm,arm64,x86_64 KeReleaseInStackQueuedSpinLock(ptr)
|
||||
@ stdcall -norelay KeReleaseInStackQueuedSpinLockFromDpcLevel(ptr)
|
||||
@ stub KeSetTimeUpdateNotifyRoutine
|
||||
@ stub KefAcquireSpinLockAtDpcLevel
|
||||
|
|
|
@ -498,6 +498,24 @@ KIRQL WINAPI KeAcquireSpinLockRaiseToDpc( KSPIN_LOCK *lock )
|
|||
KeAcquireSpinLockAtDpcLevel( lock );
|
||||
return 0;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* KeAcquireInStackQueuedSpinLock (NTOSKRNL.EXE.@)
|
||||
*/
|
||||
void WINAPI KeAcquireInStackQueuedSpinLock( KSPIN_LOCK *lock, KLOCK_QUEUE_HANDLE *queue )
|
||||
{
|
||||
TRACE("lock %p, queue %p.\n", lock, queue);
|
||||
KeAcquireInStackQueuedSpinLockAtDpcLevel( lock, queue );
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* KeReleaseInStackQueuedSpinLock (NTOSKRNL.EXE.@)
|
||||
*/
|
||||
void WINAPI KeReleaseInStackQueuedSpinLock( KLOCK_QUEUE_HANDLE *queue )
|
||||
{
|
||||
TRACE("queue %p.\n", queue);
|
||||
KeReleaseInStackQueuedSpinLockFromDpcLevel( queue );
|
||||
}
|
||||
#endif
|
||||
|
||||
static KSPIN_LOCK cancel_lock;
|
||||
|
|
Loading…
Reference in New Issue