ReactOS  0.4.15-dev-4857-g47842d7
spinlock.c File Reference
#include <hal.h>
#include <debug.h>
Include dependency graph for spinlock.c:

Go to the source code of this file.

Macros

#define NDEBUG
 

Functions

VOID NTAPI KeRaiseIrql (KIRQL NewIrql, PKIRQL OldIrql)
 
VOID NTAPI KeLowerIrql (KIRQL NewIrql)
 
VOID NTAPI KeAcquireSpinLock (PKSPIN_LOCK SpinLock, PKIRQL OldIrql)
 
KIRQL FASTCALL KeAcquireSpinLockRaiseToSynch (PKSPIN_LOCK SpinLock)
 
VOID NTAPI KeReleaseSpinLock (PKSPIN_LOCK SpinLock, KIRQL NewIrql)
 
KIRQL FASTCALL KfAcquireSpinLock (PKSPIN_LOCK SpinLock)
 
VOID FASTCALL KfReleaseSpinLock (PKSPIN_LOCK SpinLock, KIRQL OldIrql)
 
KIRQL FASTCALL KeAcquireQueuedSpinLock (IN KSPIN_LOCK_QUEUE_NUMBER LockNumber)
 
KIRQL FASTCALL KeAcquireQueuedSpinLockRaiseToSynch (IN KSPIN_LOCK_QUEUE_NUMBER LockNumber)
 
VOID FASTCALL KeAcquireInStackQueuedSpinLock (IN PKSPIN_LOCK SpinLock, IN PKLOCK_QUEUE_HANDLE LockHandle)
 
VOID FASTCALL KeAcquireInStackQueuedSpinLockRaiseToSynch (IN PKSPIN_LOCK SpinLock, IN PKLOCK_QUEUE_HANDLE LockHandle)
 
VOID FASTCALL KeReleaseQueuedSpinLock (IN KSPIN_LOCK_QUEUE_NUMBER LockNumber, IN KIRQL OldIrql)
 
VOID FASTCALL KeReleaseInStackQueuedSpinLock (IN PKLOCK_QUEUE_HANDLE LockHandle)
 
BOOLEAN FASTCALL KeTryToAcquireQueuedSpinLockRaiseToSynch (IN KSPIN_LOCK_QUEUE_NUMBER LockNumber, IN PKIRQL OldIrql)
 
LOGICAL FASTCALL KeTryToAcquireQueuedSpinLock (IN KSPIN_LOCK_QUEUE_NUMBER LockNumber, OUT PKIRQL OldIrql)
 

Macro Definition Documentation

◆ NDEBUG

#define NDEBUG

Definition at line 12 of file spinlock.c.

Function Documentation

◆ KeAcquireInStackQueuedSpinLock()

◆ KeAcquireInStackQueuedSpinLockRaiseToSynch()

VOID FASTCALL KeAcquireInStackQueuedSpinLockRaiseToSynch ( IN PKSPIN_LOCK  SpinLock,
IN PKLOCK_QUEUE_HANDLE  LockHandle 
)

Definition at line 142 of file spinlock.c.

144 {
145  /* Simply raise to dispatch */
147 }
KIRQL FASTCALL KfRaiseIrql(IN KIRQL NewIrql)
Definition: pic.c:187
#define DISPATCH_LEVEL
Definition: env_spec_w32.h:696
*LockHandle LockHandle _Out_ PKLOCK_QUEUE_HANDLE LockHandle
Definition: kefuncs.h:731

Referenced by KiAcquireApcLockRaiseToSynch(), and KiAcquireProcessLockRaiseToSynch().

◆ KeAcquireQueuedSpinLock()

◆ KeAcquireQueuedSpinLockRaiseToSynch()

KIRQL FASTCALL KeAcquireQueuedSpinLockRaiseToSynch ( IN KSPIN_LOCK_QUEUE_NUMBER  LockNumber)

Definition at line 119 of file spinlock.c.

120 {
121  /* Simply raise to dispatch */
122  return KfRaiseIrql(DISPATCH_LEVEL);
123 }
KIRQL FASTCALL KfRaiseIrql(IN KIRQL NewIrql)
Definition: pic.c:187
#define DISPATCH_LEVEL
Definition: env_spec_w32.h:696

◆ KeAcquireSpinLock()

VOID NTAPI KeAcquireSpinLock ( PKSPIN_LOCK  SpinLock,
PKIRQL  OldIrql 
)

Definition at line 50 of file spinlock.c.

52 {
53  /* Call the fastcall function */
55 }
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFSPINLOCK * SpinLock
Definition: wdfsync.h:225
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
Definition: kefuncs.h:792
KIRQL FASTCALL KfAcquireSpinLock(PKSPIN_LOCK SpinLock)
Definition: spinlock.c:85

Referenced by __drv_allocatesMem(), _Acquires_lock_(), _Function_class_(), acpi_bus_generate_event_dpc(), acpi_bus_receive_event(), AcpiOsAcquireLock(), AcpiOsSignalSemaphore(), AcpiOsWaitSemaphore(), FxChildList::Add(), add_calc_job_comp(), add_calc_job_decomp(), AfdCancelHandler(), AfdEventReceive(), AfdEventReceiveDatagramHandler(), AfdSelect(), AllocateAnyPort(), AllocateDictionaryEntry(), AllocatePort(), AllocatePortFromRange(), BdaCreateFilterFactoryEx(), FxChildList::BeginIteration(), FxChildList::BeginScan(), calc_thread_main(), CancelSelectSuspend(), CaptureAvoidPipeStarvationWorker(), CcMapData(), CcpDereferenceBcb(), CcpGetAppropriateBcb(), CcpPinData(), CcScheduleReadAhead(), CcSetFileSizes(), CcUninitializeCacheMap(), CcUnpinRepinnedBcb(), CdAddToWorkque(), CdFspDispatch(), ChewWorkItem(), ClassAcquireRemoveLockEx(), ClassCallback(), ClassCancelRoutine(), ClassCompleteRequest(), ClassInterpretSenseInfo(), ClasspDequeueIdleRequest(), ClasspEnqueueIdleRequest(), ClasspPerfIncrementErrorCount(), ClasspPerfIncrementSuccessfulIo(), ClasspRetryRequestDpc(), ClasspUninitializeRemoveTracking(), ClassRead(), ClassReleaseQueueCompletion(), ClassReleaseRemoveLock(), ClassRetryRequest(), ClassStartIo(), CleanupTransferPacketToWorkingSetSize(), FxChildList::CreateDevice(), CsqAcquireLock(), CTEScheduleEvent(), DeallocatePort(), DequeueDeferredClientIrp(), DereferenceAdapterContextWithOpenEntry(), DestroyPortDriver(), DestroyTransferPacket(), DevicePerfIncrementErrorCount(), FxDeviceDescriptionEntry::DeviceSurpriseRemoved(), DiskShutdownFlush(), DLDAcquireExclusive(), DLDAcquireShared(), DLDpAcquireResourceExclusiveLite(), DLDpWaitForResource(), do_calc_job(), FxChildList::EndScan(), EnqueueDeferredClientIrp(), EnqueueFreeTransferPacket(), event_notification(), ExDeleteNPagedLookasideList(), ExDeletePagedLookasideList(), ExInterlockedExtendZone(), ExNotifyCallback(), ExpAddTagForBigPages(), ExpCheckPoolAllocation(), ExpDeleteTimer(), ExpFindAndRemoveTagBigPages(), ExpTimerApcKernelRoutine(), ExRegisterCallback(), ExTimerRundown(), ExUnregisterCallback(), FatAddToWorkque(), FatRemoveOverflowEntry(), FatToggleMediaEjectDisable(), FDO_HandleResetCyclePort(), FdoSendInquiry(), FindAdapterContextByName(), FreeBT_DispatchClean(), FreeBT_IoDecrement(), FreeBT_IoIncrement(), FreeDeviceData(), FreeDictionaryEntry(), FreeFilterInstance(), FreeMemoryManagement(), FxMdlAllocateDebug(), FxMdlFreeDebug(), FxChildList::GetAddressDescription(), FxChildList::GetAddressDescriptionFromEntry(), FxChildList::GetDeviceFromId(), GetDictionaryEntry(), GetFilterInstanceEntry(), CMiniportWaveICHStream::GetNewMappings(), FxChildList::GetNextDevice(), FxChildList::GetNextStaticDevice(), HalAllocateAdapterChannel(), HalGetAdapter(), HaliRegisterBusHandler(), HalpGrowMapBuffers(), HalPutDmaAdapter(), HalReadDmaCounter(), HandleCancelRemoveDevice(), HandleCancelStopDevice(), HandleDeviceSetPower(), HandleQueryRemoveDevice(), HandleQueryStopDevice(), HandleRemoveDevice(), HandleStartDevice(), HandleStopDevice(), HandleSurpriseRemoval(), HdlspAcquireGlobalLock(), HidClass_Close(), HidClass_GetIrp(), HidClass_Read(), HidClass_ReadCompleteIrp(), i8042RemoveDevice(), IdleNotificationRequestComplete(), FxChildList::IndicateWakeStatus(), InterfacePciDevicePresent(), InterfacePciDevicePresentEx(), InternalWorker(), FxChildList::InvokeReportedMissingCallback(), IoAcquireRemoveLockEx(), IoFreeAdapterChannel(), IoFreeMapRegisters(), IoMapTransfer(), IopCancelRemoveChildDevices(), IopFreeDeviceNode(), IopGetErrorLogEntry(), IopGetSystemPowerDeviceObject(), IopQueryRemoveChildDevices(), IopRemoveTimerFromTimerList(), IopSendRemoveChildDevices(), IopTimerDispatch(), IoReleaseRemoveLockEx(), IoStartTimer(), IoStopTimer(), IoUnregisterShutdownNotification(), IoWriteErrorLogEntry(), FxDeviceDescriptionEntry::IsDeviceRemoved(), FxDeviceDescriptionEntry::IsDeviceReportedMissing(), KdbInitialize(), KdpTimeSlipWork(), KdRegisterDebuggerDataBlock(), KeSetBaseGdtSelector(), KeSetGdtSelector(), KiAcquireNmiListLock(), KillSelectsForFCB(), KsAddIrpToCancelableQueue(), KsCancelIo(), KsCreateBusEnumObject(), KsMoveIrpsOnCancelableQueue(), KspBusWorkerRoutine(), KspCreateDeviceReference(), KspInstallBusEnumInterface(), KspQueryBusRelations(), KspSynchronizedEventRoutine(), KsQueueWorkItem(), KsReleaseIrpOnCancelableQueue(), KsRemoveIrpFromCancelableQueue(), KsRemoveSpecificIrpFromCancelableQueue(), KsUnregisterWorker(), LanAdapterInfo(), LanCloseProtocol(), LanEnumAdapters(), LanSetBufferedMode(), LANTransmitInternal(), LANUnregisterAdapter(), LANUnregisterProtocol(), LocateAdapterBindingByName(), LockAcquireQueueLock(), LwipThreadMain(), MiAcquireExpansionLock(), MiMapPageInHyperSpace(), MiniIndicateData(), MiniIndicateReceivePacket(), MiniIsBusy(), MiniLocateDevice(), MiniportCloseEndpoint(), MiniportOpenEndpoint(), MiniportWorker(), MiniQueueWorkItem(), MiniResetComplete(), MiniStatus(), MiniStatusComplete(), MsfsAcquireLock(), MsfsClose(), MsfsCreate(), MsfsCreateMailslot(), MsfsQueryMailslotInformation(), MsfsRead(), MsfsWrite(), MyAllocatePool(), MyFreePool(), NdisAcquireReadWriteLock(), NdisAcquireSpinLock(), NdisAllocatePacket(), NdisFreePacket(), NdisMCancelTimer(), NdisMCloseLog(), NdisMCreateLog(), NdisMFlushLog(), NdisMSetPeriodicTimer(), NdisMSetTimer(), NduDispatchRead(), FxChildList::NotifyDeviceRemove(), FxChildList::NotifyDeviceSurpriseRemove(), NpAddWaiter(), NpCancelWaiter(), NpCancelWaitQueueIrp(), NpTimerDispatch(), NtCancelTimer(), NtfsAddFCBToTable(), NtfsGrabFCB(), NtfsGrabFCBFromTable(), NtfsReleaseFCB(), NtSetLdtEntries(), NtSetTimer(), OpenDeviceReadWrite(), PcIoTimerRoutine(), PcRegisterIoTimeout(), PcUnregisterIoTimeout(), PiDevNodeStateMachine(), PiInsertDevNode(), PinCaptureProcess(), PinGetIrpFromReadyList(), PipDeviceActionWorker(), PiQueueDeviceAction(), PiSetDevNodeState(), PollReeval(), PopGetDope(), PoRemoveVolumeDevice(), PostOnlineNotification(), FxChildList::PostParentToD0(), CMiniportWaveICHStream::PowerChangeNotify_(), FxChildList::ProcessBusRelations(), FxDeviceDescriptionEntry::ProcessDeviceRemoved(), ProcessQueuedRequests(), ProIndicatePacket(), ProtocolTransferDataComplete(), PspChargeProcessQuotaSpecifiedPool(), PspDereferenceQuotaBlock(), PspInsertQuotaBlock(), PspReturnProcessQuotaSpecifiedPool(), QSI_DEF(), QueryBinding(), QueueRequest(), QueueWorkItem(), ReadBytes(), FxChildList::ReenumerateEntry(), register_fve_callback(), CMiniportWaveICHStream::ReleaseUsedMappings(), RtlPcToFileHeader(), RxAddToTopLevelIrpAllocatedContextsList(), RxAddToWorkque(), RxCancelNotifyChangeDirectoryRequestsForFobx(), RxCancelNotifyChangeDirectoryRequestsForVNetRoot(), RxCancelOperationInOverflowQueue(), RxCancelRoutine(), RxCompleteSrvOpenKeyAssociation(), RxCreateRxContext(), RxCreateSrvCallCallBack(), RxDereferenceAndDeleteRxContext_Real(), RxFinishSrvCallConstructionDispatcher(), RxFsdCommonDispatch(), RxGatherRequestsForSrvOpen(), RxInsertWorkQueueItem(), RxIsMemberOfTopLevelIrpAllocatedContextsList(), RxpDispatchChangeBufferingStateRequests(), RxPostOneShotTimerRequest(), RxpWorkerThreadDispatcher(), RxRemoveFromTopLevelIrpAllocatedContextsList(), RxRemoveOverflowEntry(), RxSpinUpRequestsDispatcher(), RxSpinUpWorkerThread(), ScratchBuffer_ReadWriteCompletionRoutine(), ScratchBuffer_ReadWriteEvtRequestCancel(), ScratchBuffer_ReadWriteTimerRoutine(), ScsiPortAllocateAdapterChannel(), ScsiPortDispatchScsi(), SelectTimeout(), SendOnlineNotificationWorker(), SerialDeviceControl(), SerialGetCommStatus(), SerialReceiveByte(), SerialSendByte(), SerialWrite(), ServiceTransferRequest(), SetDeviceFunctional(), SpiAdapterControl(), SpiHandleAttachRelease(), SpiSenseCompletionRoutine(), StartCaptureIsocTransfer(), SubmitIdleRequestIrp(), sys_arch_mbox_fetch(), TcpipAcquireSpinLock(), TransferPktComplete(), UDFAllocateCCB(), UDFAllocateIrpContext(), UDFAllocateObjectName(), UDFCommonDispatch(), UDFPostRequest(), UDFReleaseCCB(), UDFReleaseIrpContext(), UDFReleaseObjectName(), UnbindAdapterByContext(), FxChildList::UpdateAddressDescriptionFromEntry(), FxChildList::UpdateAllAsPresent(), FxChildList::UpdateAsMissing(), FxChildList::UpdateDeviceAsMissing(), USB2_RebalanceEndpoint(), UsbAudioCaptureComplete(), UsbAudioRenderComplete(), USBH_CheckHubIdle(), USBH_FdoQueryBusRelations(), USBH_ProcessPortStateChange(), USBH_SelectConfigOrInterfaceComplete(), USBH_SyncIrpComplete(), USBH_UrbTimeoutDPC(), USBH_Worker(), USBHI_RootHubInitNotification(), USBPORT_AbortEndpoint(), USBPORT_AcquireBadRequestLock(), USBPORT_AcquireIdleLock(), USBPORT_CancelActiveTransferIrp(), USBPORT_CancelPendingTransferIrp(), USBPORT_CancelPendingWakeIrp(), USBPORT_CancelSplitTransfer(), USBPORT_ClosePipe(), USBPORT_CompletePdoWaitWake(), USBPORT_DeleteEndpoint(), USBPORT_DmaEndpointActive(), USBPORT_DmaEndpointPaused(), USBPORT_DmaEndpointWorker(), USBPORT_DoIdleNotificationCallback(), USBPORT_DoneSplitTransfer(), USBPORT_DoneTransfer(), USBPORT_EndpointHasQueuedTransfers(), USBPORT_FindCompanionControllers(), USBPORT_FindMiniPort(), USBPORT_FindUSB2Controller(), USBPORT_FlushAbortList(), USBPORT_FlushAllEndpoints(), USBPORT_FlushCancelList(), USBPORT_FlushClosedEndpointList(), USBPORT_FlushController(), USBPORT_FlushDoneTransfers(), USBPORT_FlushPendingTransfers(), USBPORT_HandleGetCurrentFrame(), USBPORT_InvalidateEndpointHandler(), USBPORT_MapTransfer(), USBPORT_MiniportCompleteTransfer(), USBPORT_MiniportInterrupts(), USBPORT_NukeAllEndpoints(), USBPORT_OpenPipe(), USBPORT_PdoPower(), USBPORT_QueueActiveUrbToEndpoint(), USBPORT_RemoveDevice(), USBPORT_RemoveDeviceHandle(), USBPORT_RemoveUSBxFdo(), USBPORT_ReopenPipe(), USBPORT_ResetPipe(), USBPORT_RestoreDevice(), USBPORT_ResumeController(), USBPORT_RootHubClassCommand(), USBPORT_RootHubEndpointWorker(), USBPORT_RootHubStandardCommand(), USBPORT_SetEndpointState(), USBPORT_SignalWorkerThread(), USBPORT_SyncResetPipeAndClearStall(), USBPORT_TimerDpc(), USBPORT_ValidateDeviceHandle(), USBPORT_WorkerThread(), USBPORT_WorkerThreadHandler(), USBSTOR_QueueAddIrp(), USBSTOR_QueueRelease(), USBSTOR_QueueResetDevice(), USBSTOR_QueueTerminateRequest(), USBSTOR_RemoveIrp(), USBSTOR_ResetDeviceWorkItemRoutine(), USBSTOR_StartIo(), VfatDoRequest(), VfatQueueRequest(), VideoPortAcquireSpinLock(), WaitForOnlinesToComplete(), WdmAudCleanup(), WorkerThread(), and WorkItemRoutine().

◆ KeAcquireSpinLockRaiseToSynch()

KIRQL FASTCALL KeAcquireSpinLockRaiseToSynch ( PKSPIN_LOCK  SpinLock)

Definition at line 62 of file spinlock.c.

63 {
64  /* Simply raise to dispatch */
66 }
KIRQL FASTCALL KfRaiseIrql(IN KIRQL NewIrql)
Definition: pic.c:187
#define DISPATCH_LEVEL
Definition: env_spec_w32.h:696

Referenced by MiProcessLoaderEntry().

◆ KeLowerIrql()

VOID NTAPI KeLowerIrql ( KIRQL  NewIrql)

Definition at line 39 of file spinlock.c.

40 {
41  /* Call the fastcall function */
43 }
VOID FASTCALL KfLowerIrql(IN KIRQL NewIrql)
Definition: pic.c:232
_Requires_lock_held_ SpinLock _Releases_lock_ SpinLock _In_ _IRQL_restores_ KIRQL NewIrql
Definition: ke.h:114

Referenced by _ExReleaseFastMutex(), _ExTryToAcquireFastMutex(), _IRQL_requires_max_(), _IRQL_requires_min_(), _Requires_lock_not_held_(), AcquireMutexThread(), FxDmaPacketTransaction::AllocateAdapterChannel(), BeepCleanup(), FxDmaScatterGatherTransaction::BuildScatterGatherList(), ClassIoComplete(), ClassIoCompleteAssociated(), ClasspReleaseQueue(), CreateDMA(), DeviceReleaseQueue(), ExfUnblockPushLock(), ExfWakePushLock(), FdoCallHWInitialize(), FxDmaPacketTransaction::FreeMapRegistersAndAdapter(), FxDmaSystemTransaction::FreeMapRegistersAndAdapter(), FxDmaScatterGatherTransaction::GetScatterGatherList(), InbvReleaseLock(), IntVideoPortResetDisplayParametersEx(), IoAllocateDriverObjectExtension(), IoCancelFileOpen(), IoCancelThreadIo(), IoGetDriverObjectExtension(), IopAbortInterruptedIrp(), IopCloseFile(), IopDeleteFile(), IopDisassociateThreadIrp(), IopParseDevice(), IopPerformSynchronousRequest(), IoStartPacket(), KbdHid_DispatchInputData(), KdbEnterDebuggerException(), KdDisableDebuggerWithLock(), KdEnableDebuggerWithLock(), KdpAcquireLock(), KdPollBreakIn(), KdpReleaseLock(), KeContextToTrapFrame(), KeDeregisterBugCheckCallback(), KeDeregisterBugCheckReasonCallback(), KeFlushEntireTb(), KeGenericCallDpc(), KeInsertQueueDpc(), KeIpiGenericCall(), KeQueryBasePriorityThread(), KeRegisterBugCheckCallback(), KeRegisterBugCheckReasonCallback(), KeReleaseInStackQueuedSpinLock(), KeReleaseInterruptSpinLock(), KeReleaseQueuedSpinLock(), KeReleaseSpinLock(), KeSetSystemTime(), KeSignalGateBoostPriority(), KeStartProfile(), KeStopProfile(), KeSynchronizeExecution(), KeThawExecution(), KeTrapFrameToContext(), KeyboardDeviceWorker(), KfReleaseSpinLock(), KiCheckForKernelApcDelivery(), KiCheckTimerTable(), KiContinue(), KiDeliverApc(), KiEspToTrapFrame(), KiExitDispatcher(), KiIdleLoop(), KiInitializeKernel(), KiInterruptHandler(), KiRetireDpcList(), KiSwapThread(), KiSystemStartupBootStack(), KiTimerExpiration(), KiTimerListExpire(), KiTrap06Handler(), KiTrap0DHandler(), KmtSetIrql(), KxLowerIrql(), MiniCheckForHang(), MiniDoRequest(), MiniportWorker(), MiniRequestComplete(), MiniReset(), MiniSendComplete(), MiniTransferDataComplete(), MmArmAccessFault(), MmDumpArmPfnDatabase(), MmMakeSegmentResident(), MouHid_DispatchInputData(), NBDestroyNeighborsForInterface(), NdisMAllocateMapRegisters(), NdisMFreeMapRegisters(), NdisMQueryInformationComplete(), NdisMSetInformationComplete(), NdisMSetupDmaTransfer(), NdisReleaseReadWriteLock(), NdisReturnPackets(), NtCancelIoFile(), NtQueryInformationFile(), NtQueryInformationThread(), NtSetInformationFile(), NtYieldExecution(), PoNotifySystemTimeSet(), ProSend(), ProSendPackets(), proSendPacketToMiniport(), ProTransferData(), PspExitThread(), PspSystemThreadStartup(), PspUserThreadStartup(), FxDmaScatterGatherTransaction::PutScatterGatherList(), ReadWritePassive(), RWFreeAdapterChannel(), ScsiFlopDeviceControl(), ScsiPortDispatchScsi(), SermouseDeviceWorker(), START_TEST(), sys_arch_unprotect(), Tests_Insert_And_Delete(), TestSynchronizeExecution(), TransferPktComplete(), USBPORT_CompleteTransfer(), USBPORT_FlushMapTransfers(), USBPORT_FlushPendingTransfers(), USBPORT_WorkerThreadHandler(), VdmEndExecution(), VdmpStartExecution(), VideoPortCompleteDma(), VideoPortStartDma(), and VideoPortSynchronizeExecution().

◆ KeRaiseIrql()

VOID NTAPI KeRaiseIrql ( KIRQL  NewIrql,
PKIRQL  OldIrql 
)

Definition at line 27 of file spinlock.c.

29 {
30  /* Call the fastcall function */
32 }
KIRQL FASTCALL KfRaiseIrql(IN KIRQL NewIrql)
Definition: pic.c:187
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
Definition: kefuncs.h:792
_Requires_lock_held_ SpinLock _Releases_lock_ SpinLock _In_ _IRQL_restores_ KIRQL NewIrql
Definition: ke.h:114

Referenced by __drv_maxIRQL(), _ExAcquireFastMutex(), _ExTryToAcquireFastMutex(), _IRQL_requires_max_(), _IRQL_requires_min_(), AcquireMutexThread(), FxDmaPacketTransaction::AllocateAdapterChannel(), BeepCleanup(), FxDmaScatterGatherTransaction::BuildScatterGatherList(), ClassIoComplete(), ClassIoCompleteAssociated(), ClasspReleaseQueue(), CreateDMA(), DeviceReleaseQueue(), ExfUnblockPushLock(), ExfWakePushLock(), FdoCallHWInitialize(), FxDmaPacketTransaction::FreeMapRegistersAndAdapter(), FxDmaSystemTransaction::FreeMapRegistersAndAdapter(), FxDmaScatterGatherTransaction::GetScatterGatherList(), HalpPCISynchronizeType1(), HalpPCISynchronizeType2(), InbvAcquireLock(), IntVideoPortResetDisplayParametersEx(), IoCancelFileOpen(), IoCancelThreadIo(), IopAbortInterruptedIrp(), IopCloseFile(), IopDeleteFile(), IopDisassociateThreadIrp(), IopParseDevice(), IopPerformSynchronousRequest(), IoStartPacket(), KbdHid_DispatchInputData(), KdbEnterDebuggerException(), KdDisableDebuggerWithLock(), KdEnableDebuggerWithLock(), KdpAcquireLock(), KdPollBreakIn(), KeAcquireInStackQueuedSpinLock(), KeAcquireInStackQueuedSpinLockRaiseToSynch(), KeAcquireInterruptSpinLock(), KeAcquireQueuedSpinLock(), KeAcquireQueuedSpinLockRaiseToSynch(), KeAcquireSpinLockRaiseToDpc(), KeAcquireSpinLockRaiseToSynch(), KeBugCheckWithTf(), KeContextToTrapFrame(), KeDeregisterBugCheckCallback(), KeDeregisterBugCheckReasonCallback(), KeFreezeExecution(), KeGenericCallDpc(), KeInsertQueueDpc(), KeIpiGenericCall(), KeRegisterBugCheckCallback(), KeRegisterBugCheckReasonCallback(), KeSetSystemTime(), KeStartProfile(), KeStopProfile(), KeSynchronizeExecution(), KeTrapFrameToContext(), KeTryToAcquireQueuedSpinLock(), KeTryToAcquireQueuedSpinLockRaiseToSynch(), KeyboardDeviceWorker(), KiCheckForKernelApcDelivery(), KiCheckTimerTable(), KiContinue(), KiDeliverApc(), KiEspToTrapFrame(), KiInitializeKernel(), KiSystemStartup(), KiTrap06Handler(), KiTrap0DHandler(), KmtSetIrql(), MiniCheckForHang(), MiniDoRequest(), MiniportWorker(), MiniRequestComplete(), MiniReset(), MiniSendComplete(), MiniTransferDataComplete(), MmArmAccessFault(), MmDumpArmPfnDatabase(), MmMakeSegmentResident(), MouHid_DispatchInputData(), NBDestroyNeighborsForInterface(), NdisAcquireReadWriteLock(), NdisMAllocateMapRegisters(), NdisMFreeMapRegisters(), NdisMQueryInformationComplete(), NdisMSetInformationComplete(), NdisMSetupDmaTransfer(), NdisReturnPackets(), NtCancelIoFile(), NtQueryInformationFile(), NtQueryInformationThread(), NtSetInformationFile(), PoNotifySystemTimeSet(), ProSend(), ProSendPackets(), proSendPacketToMiniport(), ProTransferData(), PspUserThreadStartup(), FxDmaScatterGatherTransaction::PutScatterGatherList(), ReadWritePassive(), RWFreeAdapterChannel(), ScsiFlopDeviceControl(), ScsiPortDispatchScsi(), SermouseDeviceWorker(), START_TEST(), sys_arch_protect(), Tests_Insert_And_Delete(), TestSynchronizeExecution(), TransferPktComplete(), USBPORT_CompleteTransfer(), USBPORT_FlushMapTransfers(), USBPORT_FlushPendingTransfers(), USBPORT_WorkerThreadHandler(), VdmEndExecution(), VdmpStartExecution(), VideoPortCompleteDma(), VideoPortStartDma(), and VideoPortSynchronizeExecution().

◆ KeReleaseInStackQueuedSpinLock()

◆ KeReleaseQueuedSpinLock()

◆ KeReleaseSpinLock()

VOID NTAPI KeReleaseSpinLock ( PKSPIN_LOCK  SpinLock,
KIRQL  NewIrql 
)

Definition at line 73 of file spinlock.c.

75 {
76  /* Call the fastcall function */
78 }
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFSPINLOCK * SpinLock
Definition: wdfsync.h:225
VOID FASTCALL KfReleaseSpinLock(PKSPIN_LOCK SpinLock, KIRQL OldIrql)
Definition: spinlock.c:96
_Requires_lock_held_ SpinLock _Releases_lock_ SpinLock _In_ _IRQL_restores_ KIRQL NewIrql
Definition: ke.h:114

Referenced by VideoPortReleaseSpinLock().

◆ KeTryToAcquireQueuedSpinLock()

LOGICAL FASTCALL KeTryToAcquireQueuedSpinLock ( IN KSPIN_LOCK_QUEUE_NUMBER  LockNumber,
OUT PKIRQL  OldIrql 
)

Definition at line 192 of file spinlock.c.

194 {
195  /* Simply raise to dispatch */
197 
198  /* Always return true on UP Machines */
199  return TRUE;
200 }
#define TRUE
Definition: types.h:120
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
Definition: kefuncs.h:792
#define DISPATCH_LEVEL
Definition: env_spec_w32.h:696
VOID NTAPI KeRaiseIrql(KIRQL NewIrql, PKIRQL OldIrql)
Definition: spinlock.c:27

Referenced by DEFINE_ACQUIRE().

◆ KeTryToAcquireQueuedSpinLockRaiseToSynch()

BOOLEAN FASTCALL KeTryToAcquireQueuedSpinLockRaiseToSynch ( IN KSPIN_LOCK_QUEUE_NUMBER  LockNumber,
IN PKIRQL  OldIrql 
)

Definition at line 177 of file spinlock.c.

179 {
180  /* Simply raise to synch */
182 
183  /* Always return true on UP Machines */
184  return TRUE;
185 }
#define TRUE
Definition: types.h:120
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
Definition: kefuncs.h:792
#define SYNCH_LEVEL
Definition: env_spec_w32.h:704
VOID NTAPI KeRaiseIrql(KIRQL NewIrql, PKIRQL OldIrql)
Definition: spinlock.c:27

Referenced by TryQueuedSynch().

◆ KfAcquireSpinLock()

KIRQL FASTCALL KfAcquireSpinLock ( PKSPIN_LOCK  SpinLock)

Definition at line 85 of file spinlock.c.

86 {
87  /* Simply raise to dispatch */
89 }
KIRQL FASTCALL KfRaiseIrql(IN KIRQL NewIrql)
Definition: pic.c:187
#define DISPATCH_LEVEL
Definition: env_spec_w32.h:696

Referenced by KeAcquireSpinLock().

◆ KfReleaseSpinLock()

VOID FASTCALL KfReleaseSpinLock ( PKSPIN_LOCK  SpinLock,
KIRQL  OldIrql 
)

Definition at line 96 of file spinlock.c.

98 {
99  /* Simply lower IRQL back */
101 }
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
Definition: kefuncs.h:792
VOID NTAPI KeLowerIrql(KIRQL NewIrql)
Definition: spinlock.c:39

Referenced by KeReleaseSpinLock().