You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-09-12 18:50:20 -07:00
ntoskrnl-Synchronization: Add patchset.
This commit is contained in:
@@ -1,25 +0,0 @@
|
||||
From 0d4bc7ee9451dbd89bec8b76ef0608b78582cf25 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Morozov <amorozov@etersoft.ru>
|
||||
Date: Fri, 30 Jan 2015 00:30:45 +0100
|
||||
Subject: ntoskrnl.exe: Improve KeReleaseMutex stub.
|
||||
|
||||
---
|
||||
dlls/ntoskrnl.exe/ntoskrnl.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
|
||||
index c90b351..7bc716c 100644
|
||||
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
|
||||
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
|
||||
@@ -1356,7 +1356,7 @@ NTSTATUS WINAPI KeWaitForMutexObject(PRKMUTEX Mutex, KWAIT_REASON WaitReason, KP
|
||||
LONG WINAPI KeReleaseMutex(PRKMUTEX Mutex, BOOLEAN Wait)
|
||||
{
|
||||
FIXME( "stub: %p, %d\n", Mutex, Wait );
|
||||
- return STATUS_NOT_IMPLEMENTED;
|
||||
+ return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
--
|
||||
2.2.2
|
||||
|
@@ -1,26 +0,0 @@
|
||||
From 1826c593593f1b66ec4f4704299fdb1485a9b432 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Morozov <amorozov@etersoft.ru>
|
||||
Date: Fri, 30 Jan 2015 00:32:38 +0100
|
||||
Subject: ntoskrnl.exe: Improve KeInitializeSemaphore stub.
|
||||
|
||||
---
|
||||
dlls/ntoskrnl.exe/ntoskrnl.c | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
|
||||
index 7bc716c..36331a1 100644
|
||||
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
|
||||
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
|
||||
@@ -1366,6 +1366,9 @@ LONG WINAPI KeReleaseMutex(PRKMUTEX Mutex, BOOLEAN Wait)
|
||||
void WINAPI KeInitializeSemaphore( PRKSEMAPHORE Semaphore, LONG Count, LONG Limit )
|
||||
{
|
||||
FIXME( "(%p %d %d) stub\n", Semaphore , Count, Limit );
|
||||
+
|
||||
+ RtlZeroMemory(Semaphore, sizeof(KSEMAPHORE));
|
||||
+ Semaphore->Header.Type = 5;
|
||||
}
|
||||
|
||||
|
||||
--
|
||||
2.2.2
|
||||
|
@@ -1,31 +0,0 @@
|
||||
From e08f2a919e3f1f8129d4f40d0a9232c363e4da2b Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Morozov <amorozov@etersoft.ru>
|
||||
Date: Fri, 30 Jan 2015 01:06:36 +0100
|
||||
Subject: ntoskrnl.exe: Implement KeInitializeMutex.
|
||||
|
||||
---
|
||||
dlls/ntoskrnl.exe/ntoskrnl.c | 8 +++++++-
|
||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
|
||||
index 10957e8..3ff5d63 100644
|
||||
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
|
||||
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
|
||||
@@ -1356,7 +1356,13 @@ void WINAPI KeInitializeEvent( PRKEVENT Event, EVENT_TYPE Type, BOOLEAN State )
|
||||
*/
|
||||
void WINAPI KeInitializeMutex(PRKMUTEX Mutex, ULONG Level)
|
||||
{
|
||||
- FIXME( "stub: %p, %u\n", Mutex, Level );
|
||||
+ TRACE( "%p, %u\n", Mutex, Level );
|
||||
+ RtlZeroMemory( Mutex, sizeof(KMUTEX) );
|
||||
+ Mutex->Header.Type = 2;
|
||||
+ Mutex->Header.Size = 8;
|
||||
+ Mutex->Header.SignalState = 1;
|
||||
+ InitializeListHead( &Mutex->Header.WaitListHead );
|
||||
+ Mutex->ApcDisable = 1;
|
||||
}
|
||||
|
||||
|
||||
--
|
||||
2.3.0
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 7892a3f8ead52c2a89052fc9e82c8674c31164eb Mon Sep 17 00:00:00 2001
|
||||
From 23f0efa72624556184b079814d4b58ea02105b8a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Tue, 6 Jun 2017 21:08:51 +0200
|
||||
Subject: [PATCH] ntoskrnl.exe: Implement NtBuildNumber.
|
||||
@@ -10,7 +10,7 @@ Subject: [PATCH] ntoskrnl.exe: Implement NtBuildNumber.
|
||||
3 files changed, 39 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
|
||||
index 466962a..0fea91b 100644
|
||||
index e030b48..14a6e82 100644
|
||||
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
|
||||
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
|
||||
@@ -57,6 +57,7 @@ WINE_DECLARE_DEBUG_CHANNEL(plugplay);
|
||||
@@ -21,7 +21,7 @@ index 466962a..0fea91b 100644
|
||||
|
||||
extern LONG CALLBACK vectored_handler( EXCEPTION_POINTERS *ptrs );
|
||||
|
||||
@@ -2939,6 +2940,13 @@ NTSTATUS WINAPI IoAcquireRemoveLockEx(PIO_REMOVE_LOCK lock, PVOID tag,
|
||||
@@ -2826,6 +2827,13 @@ NTSTATUS WINAPI IoAcquireRemoveLockEx(PIO_REMOVE_LOCK lock, PVOID tag,
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ index 466962a..0fea91b 100644
|
||||
|
||||
/*****************************************************
|
||||
* DllMain
|
||||
@@ -2946,7 +2954,6 @@ NTSTATUS WINAPI IoAcquireRemoveLockEx(PIO_REMOVE_LOCK lock, PVOID tag,
|
||||
@@ -2833,7 +2841,6 @@ NTSTATUS WINAPI IoAcquireRemoveLockEx(PIO_REMOVE_LOCK lock, PVOID tag,
|
||||
BOOL WINAPI DllMain( HINSTANCE inst, DWORD reason, LPVOID reserved )
|
||||
{
|
||||
static void *handler;
|
||||
@@ -43,7 +43,7 @@ index 466962a..0fea91b 100644
|
||||
|
||||
switch(reason)
|
||||
{
|
||||
@@ -2955,7 +2962,7 @@ BOOL WINAPI DllMain( HINSTANCE inst, DWORD reason, LPVOID reserved )
|
||||
@@ -2842,7 +2849,7 @@ BOOL WINAPI DllMain( HINSTANCE inst, DWORD reason, LPVOID reserved )
|
||||
#if defined(__i386__) || defined(__x86_64__)
|
||||
handler = RtlAddVectoredExceptionHandler( TRUE, vectored_handler );
|
||||
#endif
|
||||
@@ -53,7 +53,7 @@ index 466962a..0fea91b 100644
|
||||
case DLL_PROCESS_DETACH:
|
||||
if (reserved) break;
|
||||
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
|
||||
index 63c1b8e..72a9f7f 100644
|
||||
index cbc047f..d0e239e 100644
|
||||
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
|
||||
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
|
||||
@@ -743,7 +743,7 @@
|
||||
@@ -66,7 +66,7 @@ index 63c1b8e..72a9f7f 100644
|
||||
@ stdcall NtConnectPort(ptr ptr ptr ptr ptr ptr ptr ptr)
|
||||
@ stdcall NtCreateEvent(ptr long ptr long long)
|
||||
diff --git a/dlls/ntoskrnl.exe/tests/driver.c b/dlls/ntoskrnl.exe/tests/driver.c
|
||||
index d424396..57aaa28 100644
|
||||
index efd6053..2e1107b 100644
|
||||
--- a/dlls/ntoskrnl.exe/tests/driver.c
|
||||
+++ b/dlls/ntoskrnl.exe/tests/driver.c
|
||||
@@ -143,6 +143,22 @@ static void winetest_end_todo(void)
|
||||
@@ -92,8 +92,8 @@ index d424396..57aaa28 100644
|
||||
static void test_currentprocess(void)
|
||||
{
|
||||
PEPROCESS current;
|
||||
@@ -210,6 +226,18 @@ static void test_load_driver(void)
|
||||
ok(!ret, "got %#x\n", ret);
|
||||
@@ -497,6 +513,18 @@ static void test_sync(void)
|
||||
KeCancelTimer(&timer);
|
||||
}
|
||||
|
||||
+static void test_version(void)
|
||||
@@ -111,14 +111,14 @@ index d424396..57aaa28 100644
|
||||
static NTSTATUS main_test(IRP *irp, IO_STACK_LOCATION *stack, ULONG_PTR *info)
|
||||
{
|
||||
ULONG length = stack->Parameters.DeviceIoControl.OutputBufferLength;
|
||||
@@ -237,6 +265,7 @@ static NTSTATUS main_test(IRP *irp, IO_STACK_LOCATION *stack, ULONG_PTR *info)
|
||||
test_mdl_map();
|
||||
@@ -526,6 +554,7 @@ static NTSTATUS main_test(IRP *irp, IO_STACK_LOCATION *stack, ULONG_PTR *info)
|
||||
test_init_funcs();
|
||||
test_load_driver();
|
||||
test_sync();
|
||||
+ test_version();
|
||||
|
||||
/* print process report */
|
||||
if (test_input->winetest_debug)
|
||||
--
|
||||
1.9.1
|
||||
2.7.4
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 36bd8e4497945604cda44057c9dbb500080700a7 Mon Sep 17 00:00:00 2001
|
||||
From 7b85e96f6dbced2fa2bb4c8f73b26abfd442dfef Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Tue, 6 Jun 2017 23:42:56 +0200
|
||||
Subject: [PATCH] ntoskrnl.exe: Implement ExInitializeNPagedLookasideList.
|
||||
@@ -11,7 +11,7 @@ Subject: [PATCH] ntoskrnl.exe: Implement ExInitializeNPagedLookasideList.
|
||||
4 files changed, 127 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
|
||||
index 0fea91b..4bd0ff7 100644
|
||||
index 14a6e82..6123a45 100644
|
||||
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
|
||||
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
|
||||
@@ -2029,7 +2029,24 @@ void WINAPI ExInitializeNPagedLookasideList(PNPAGED_LOOKASIDE_LIST Lookaside,
|
||||
@@ -41,7 +41,7 @@ index 0fea91b..4bd0ff7 100644
|
||||
|
||||
/***********************************************************************
|
||||
diff --git a/dlls/ntoskrnl.exe/tests/driver.c b/dlls/ntoskrnl.exe/tests/driver.c
|
||||
index 57aaa28..ab55b48 100644
|
||||
index 2e1107b..4f32c30 100644
|
||||
--- a/dlls/ntoskrnl.exe/tests/driver.c
|
||||
+++ b/dlls/ntoskrnl.exe/tests/driver.c
|
||||
@@ -22,6 +22,9 @@
|
||||
@@ -54,7 +54,7 @@ index 57aaa28..ab55b48 100644
|
||||
#include "ntstatus.h"
|
||||
#define WIN32_NO_STATUS
|
||||
#include "windef.h"
|
||||
@@ -238,6 +241,33 @@ static void test_version(void)
|
||||
@@ -525,6 +528,33 @@ static void test_version(void)
|
||||
ok(*pNtBuildNumber == build, "Expected build number %u, got %u\n", build, *pNtBuildNumber);
|
||||
}
|
||||
|
||||
@@ -88,15 +88,15 @@ index 57aaa28..ab55b48 100644
|
||||
static NTSTATUS main_test(IRP *irp, IO_STACK_LOCATION *stack, ULONG_PTR *info)
|
||||
{
|
||||
ULONG length = stack->Parameters.DeviceIoControl.OutputBufferLength;
|
||||
@@ -266,6 +296,7 @@ static NTSTATUS main_test(IRP *irp, IO_STACK_LOCATION *stack, ULONG_PTR *info)
|
||||
test_init_funcs();
|
||||
@@ -555,6 +585,7 @@ static NTSTATUS main_test(IRP *irp, IO_STACK_LOCATION *stack, ULONG_PTR *info)
|
||||
test_load_driver();
|
||||
test_sync();
|
||||
test_version();
|
||||
+ test_lookaside_list();
|
||||
|
||||
/* print process report */
|
||||
if (test_input->winetest_debug)
|
||||
@@ -317,7 +348,7 @@ static NTSTATUS test_load_driver_ioctl(IRP *irp, IO_STACK_LOCATION *stack, ULONG
|
||||
@@ -606,7 +637,7 @@ static NTSTATUS test_load_driver_ioctl(IRP *irp, IO_STACK_LOCATION *stack, ULONG
|
||||
|
||||
static NTSTATUS WINAPI driver_Create(DEVICE_OBJECT *device, IRP *irp)
|
||||
{
|
||||
@@ -105,7 +105,7 @@ index 57aaa28..ab55b48 100644
|
||||
IoCompleteRequest(irp, IO_NO_INCREMENT);
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
@@ -342,14 +373,14 @@ static NTSTATUS WINAPI driver_IoControl(DEVICE_OBJECT *device, IRP *irp)
|
||||
@@ -631,14 +662,14 @@ static NTSTATUS WINAPI driver_IoControl(DEVICE_OBJECT *device, IRP *irp)
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -123,12 +123,12 @@ index 57aaa28..ab55b48 100644
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h
|
||||
index 0cd1673..ed27180 100644
|
||||
index b5e4424..9ff245e 100644
|
||||
--- a/include/ddk/wdm.h
|
||||
+++ b/include/ddk/wdm.h
|
||||
@@ -144,20 +144,18 @@ typedef enum _KWAIT_REASON
|
||||
MaximumWaitReason,
|
||||
} KWAIT_REASON;
|
||||
@@ -153,20 +153,18 @@ typedef struct _KWAIT_BLOCK {
|
||||
USHORT WaitType;
|
||||
} KWAIT_BLOCK, *PKWAIT_BLOCK, *RESTRICTED_POINTER PRKWAIT_BLOCK;
|
||||
|
||||
-typedef struct _ALLOCATE_FUNCTION *PALLOCATE_FUNCTION;
|
||||
typedef struct _IO_TIMER *PIO_TIMER;
|
||||
@@ -148,7 +148,7 @@ index 0cd1673..ed27180 100644
|
||||
|
||||
typedef struct _FAST_MUTEX
|
||||
{
|
||||
@@ -182,6 +180,11 @@ typedef struct _VPB {
|
||||
@@ -191,6 +189,11 @@ typedef struct _VPB {
|
||||
WCHAR VolumeLabel[MAXIMUM_VOLUME_LABEL_LENGTH / sizeof(WCHAR)];
|
||||
} VPB, *PVPB;
|
||||
|
||||
@@ -160,7 +160,7 @@ index 0cd1673..ed27180 100644
|
||||
typedef enum _POOL_TYPE {
|
||||
NonPagedPool,
|
||||
PagedPool,
|
||||
@@ -1221,6 +1224,71 @@ typedef struct _KLOCK_QUEUE_HANDLE {
|
||||
@@ -1230,6 +1233,71 @@ typedef struct _KLOCK_QUEUE_HANDLE {
|
||||
KIRQL OldIrql;
|
||||
} KLOCK_QUEUE_HANDLE, *PKLOCK_QUEUE_HANDLE;
|
||||
|
||||
@@ -232,7 +232,7 @@ index 0cd1673..ed27180 100644
|
||||
typedef NTSTATUS (NTAPI EX_CALLBACK_FUNCTION)(void *CallbackContext, void *Argument1, void *Argument2);
|
||||
typedef EX_CALLBACK_FUNCTION *PEX_CALLBACK_FUNCTION;
|
||||
|
||||
@@ -1373,8 +1441,10 @@ PVOID WINAPI ExAllocatePool(POOL_TYPE,SIZE_T);
|
||||
@@ -1382,8 +1450,10 @@ PVOID WINAPI ExAllocatePool(POOL_TYPE,SIZE_T);
|
||||
PVOID WINAPI ExAllocatePoolWithQuota(POOL_TYPE,SIZE_T);
|
||||
PVOID WINAPI ExAllocatePoolWithTag(POOL_TYPE,SIZE_T,ULONG);
|
||||
PVOID WINAPI ExAllocatePoolWithQuotaTag(POOL_TYPE,SIZE_T,ULONG);
|
||||
@@ -244,7 +244,7 @@ index 0cd1673..ed27180 100644
|
||||
PSLIST_ENTRY WINAPI ExInterlockedPushEntrySList(PSLIST_HEADER,PSLIST_ENTRY,PKSPIN_LOCK);
|
||||
void WINAPI ExReleaseFastMutexUnsafe(PFAST_MUTEX);
|
||||
diff --git a/include/winnt.h b/include/winnt.h
|
||||
index f1c49f2..90efd6a 100644
|
||||
index 66720a2..2b15c8c 100644
|
||||
--- a/include/winnt.h
|
||||
+++ b/include/winnt.h
|
||||
@@ -755,6 +755,8 @@ typedef struct _MEMORY_BASIC_INFORMATION
|
||||
@@ -257,5 +257,5 @@ index f1c49f2..90efd6a 100644
|
||||
#ifdef __GNUC__
|
||||
# define CONTAINING_RECORD(address, type, field) ({ \
|
||||
--
|
||||
1.9.1
|
||||
2.7.4
|
||||
|
||||
|
@@ -6,3 +6,4 @@ Fixes: Implement ntoskrnl.NtBuildNumber
|
||||
Fixes: Implement ntoskrnl.ExInitializeNPagedLookasideList
|
||||
# ExInitializeNPagedLookasideList() is wanted by sfvfs02.sys, used by World Racing.
|
||||
Depends: Compiler_Warnings
|
||||
Depends: ntoskrnl-Synchronization
|
Reference in New Issue
Block a user