[PATCH v2 1/5] include: Declare KeInitializeSpinLock as static FORCEINLINE.

Rémi Bernon rbernon at codeweavers.com
Wed Jun 30 03:19:06 CDT 2021


And internally rename the ntoskrnl.exe export.

Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
---

v2: Use a static inline KeInitializeSpinLock, as it's apparently not
    exported on 64bit W7.

    Reoder patches, tweak removal CS usage in winebus.sys.

 dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 2 +-
 dlls/ntoskrnl.exe/sync.c            | 2 +-
 include/ddk/wdm.h                   | 5 ++++-
 3 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
index 5fdaa922f45..9bea60817b3 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
@@ -575,7 +575,7 @@
 @ stdcall KeInitializeMutex(ptr long)
 @ stub KeInitializeQueue
 @ stdcall KeInitializeSemaphore(ptr long long)
-@ stdcall KeInitializeSpinLock(ptr)
+@ stdcall KeInitializeSpinLock(ptr) NTOSKRNL_KeInitializeSpinLock
 @ stdcall KeInitializeTimer(ptr)
 @ stdcall KeInitializeTimerEx(ptr long)
 @ stub KeInsertByKeyDeviceQueue
diff --git a/dlls/ntoskrnl.exe/sync.c b/dlls/ntoskrnl.exe/sync.c
index 445c8d890ab..2751032f13d 100644
--- a/dlls/ntoskrnl.exe/sync.c
+++ b/dlls/ntoskrnl.exe/sync.c
@@ -523,7 +523,7 @@ NTSTATUS WINAPI KeDelayExecutionThread( KPROCESSOR_MODE mode, BOOLEAN alertable,
 /***********************************************************************
  *           KeInitializeSpinLock   (NTOSKRNL.EXE.@)
  */
-void WINAPI KeInitializeSpinLock( KSPIN_LOCK *lock )
+void WINAPI NTOSKRNL_KeInitializeSpinLock( KSPIN_LOCK *lock )
 {
     TRACE("lock %p.\n", lock);
     *lock = 0;
diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h
index 447833c4bc9..ca369c22d09 100644
--- a/include/ddk/wdm.h
+++ b/include/ddk/wdm.h
@@ -1754,7 +1754,10 @@ void      WINAPI KeInitializeDpc(KDPC*,PKDEFERRED_ROUTINE,void*);
 void      WINAPI KeInitializeEvent(PRKEVENT,EVENT_TYPE,BOOLEAN);
 void      WINAPI KeInitializeMutex(PRKMUTEX,ULONG);
 void      WINAPI KeInitializeSemaphore(PRKSEMAPHORE,LONG,LONG);
-void      WINAPI KeInitializeSpinLock(KSPIN_LOCK*);
+static FORCEINLINE void WINAPI KeInitializeSpinLock( KSPIN_LOCK *lock )
+{
+  *lock = 0;
+}
 void      WINAPI KeInitializeTimerEx(PKTIMER,TIMER_TYPE);
 void      WINAPI KeInitializeTimer(KTIMER*);
 void      WINAPI KeLeaveCriticalRegion(void);
-- 
2.32.0




More information about the wine-devel mailing list