Rebase against 86e388c9182a4121eab35353bdfae3f0f4fd5a40.

This commit is contained in:
Alistair Leslie-Hughes 2020-05-26 09:08:07 +10:00
parent 543cee79a8
commit 8be56c21f9
12 changed files with 60 additions and 220 deletions

View File

@ -1,4 +1,4 @@
From 7889f94f7680ac2a42e279f7a6e8662e0748a4b9 Mon Sep 17 00:00:00 2001
From 0257e39905c92e0cffaf2faa6418c3bec7298603 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sat, 4 Feb 2017 16:20:37 +0100
Subject: [PATCH] kernel32: Implement some processor group functions.
@ -9,11 +9,10 @@ Subject: [PATCH] kernel32: Implement some processor group functions.
dlls/kernel32/cpu.c | 28 ++++++++++++++-----
dlls/kernel32/kernel32.spec | 2 +-
dlls/kernel32/tests/process.c | 23 +++++++++++++++
include/winnt.h | 2 ++
6 files changed, 49 insertions(+), 10 deletions(-)
5 files changed, 47 insertions(+), 10 deletions(-)
diff --git a/dlls/api-ms-win-core-kernel32-legacy-l1-1-0/api-ms-win-core-kernel32-legacy-l1-1-0.spec b/dlls/api-ms-win-core-kernel32-legacy-l1-1-0/api-ms-win-core-kernel32-legacy-l1-1-0.spec
index e653ac6d212..b6af37ab0aa 100644
index e653ac6d2122..b6af37ab0aa2 100644
--- a/dlls/api-ms-win-core-kernel32-legacy-l1-1-0/api-ms-win-core-kernel32-legacy-l1-1-0.spec
+++ b/dlls/api-ms-win-core-kernel32-legacy-l1-1-0/api-ms-win-core-kernel32-legacy-l1-1-0.spec
@@ -21,7 +21,7 @@
@ -26,7 +25,7 @@ index e653ac6d212..b6af37ab0aa 100644
@ stdcall GetNamedPipeServerProcessId(long ptr) kernel32.GetNamedPipeServerProcessId
@ stdcall GetShortPathNameA(str ptr long) kernel32.GetShortPathNameA
diff --git a/dlls/api-ms-win-core-kernel32-legacy-l1-1-1/api-ms-win-core-kernel32-legacy-l1-1-1.spec b/dlls/api-ms-win-core-kernel32-legacy-l1-1-1/api-ms-win-core-kernel32-legacy-l1-1-1.spec
index 4998af04d9b..5ce8e24713b 100644
index 4998af04d9bc..5ce8e24713b5 100644
--- a/dlls/api-ms-win-core-kernel32-legacy-l1-1-1/api-ms-win-core-kernel32-legacy-l1-1-1.spec
+++ b/dlls/api-ms-win-core-kernel32-legacy-l1-1-1/api-ms-win-core-kernel32-legacy-l1-1-1.spec
@@ -26,7 +26,7 @@
@ -39,10 +38,10 @@ index 4998af04d9b..5ce8e24713b 100644
@ stdcall GetNamedPipeServerProcessId(long ptr) kernel32.GetNamedPipeServerProcessId
@ stdcall GetNumaAvailableMemoryNodeEx(long ptr) kernel32.GetNumaAvailableMemoryNodeEx
diff --git a/dlls/kernel32/cpu.c b/dlls/kernel32/cpu.c
index 993bc8588f4..199a54b9deb 100644
index 63014ea1c910..7d623556e660 100644
--- a/dlls/kernel32/cpu.c
+++ b/dlls/kernel32/cpu.c
@@ -106,7 +106,9 @@ err:
@@ -51,7 +51,9 @@ WINE_DEFAULT_DEBUG_CHANNEL(reg);
*/
WORD WINAPI GetActiveProcessorGroupCount(void)
{
@ -53,7 +52,7 @@ index 993bc8588f4..199a54b9deb 100644
return 1;
}
@@ -115,14 +117,26 @@ WORD WINAPI GetActiveProcessorGroupCount(void)
@@ -60,14 +62,26 @@ WORD WINAPI GetActiveProcessorGroupCount(void)
*/
DWORD WINAPI GetActiveProcessorCount(WORD group)
{
@ -87,7 +86,7 @@ index 993bc8588f4..199a54b9deb 100644
/***********************************************************************
diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec
index a14bed04bef..a2feb9dfa14 100644
index a095a85e66b5..17e9e5babd53 100644
--- a/dlls/kernel32/kernel32.spec
+++ b/dlls/kernel32/kernel32.spec
@@ -717,7 +717,7 @@
@ -100,7 +99,7 @@ index a14bed04bef..a2feb9dfa14 100644
@ stdcall -import GetModuleFileNameW(long ptr long)
@ stdcall -import GetModuleHandleA(str)
diff --git a/dlls/kernel32/tests/process.c b/dlls/kernel32/tests/process.c
index 5cdc9fa03be..4c998e2fe6e 100644
index 2ecd3dc10e8c..39c17625c8af 100644
--- a/dlls/kernel32/tests/process.c
+++ b/dlls/kernel32/tests/process.c
@@ -92,6 +92,7 @@ static SIZE_T (WINAPI *pGetLargePageMinimum)(void);
@ -111,7 +110,7 @@ index 5cdc9fa03be..4c998e2fe6e 100644
/* ############################### */
static char base[MAX_PATH];
@@ -259,6 +260,7 @@ static BOOL init(void)
@@ -274,6 +275,7 @@ static BOOL init(void)
pInitializeProcThreadAttributeList = (void *)GetProcAddress(hkernel32, "InitializeProcThreadAttributeList");
pUpdateProcThreadAttribute = (void *)GetProcAddress(hkernel32, "UpdateProcThreadAttribute");
pDeleteProcThreadAttributeList = (void *)GetProcAddress(hkernel32, "DeleteProcThreadAttributeList");
@ -119,7 +118,7 @@ index 5cdc9fa03be..4c998e2fe6e 100644
return TRUE;
}
@@ -4101,6 +4103,26 @@ void test_parent_process_attribute(unsigned int level, HANDLE read_pipe)
@@ -4050,6 +4052,26 @@ void test_parent_process_attribute(unsigned int level, HANDLE read_pipe)
}
}
@ -146,7 +145,7 @@ index 5cdc9fa03be..4c998e2fe6e 100644
START_TEST(process)
{
HANDLE job;
@@ -4191,6 +4213,7 @@ START_TEST(process)
@@ -4160,6 +4182,7 @@ START_TEST(process)
test_GetNumaProcessorNode();
test_session_info();
test_GetLogicalProcessorInformationEx();
@ -154,19 +153,6 @@ index 5cdc9fa03be..4c998e2fe6e 100644
test_largepages();
test_ProcThreadAttributeList();
test_SuspendProcessState();
diff --git a/include/winnt.h b/include/winnt.h
index 40534338d05..068a5782465 100644
--- a/include/winnt.h
+++ b/include/winnt.h
@@ -6475,6 +6475,8 @@ typedef struct _GROUP_AFFINITY
WORD Reserved[3];
} GROUP_AFFINITY, *PGROUP_AFFINITY;
+#define ALL_PROCESSOR_GROUPS 0xffff
+
typedef struct _PROCESSOR_NUMBER
{
WORD Group;
--
2.24.1
2.26.2

View File

@ -1,7 +1,7 @@
From 460d07ee2cd46fb8c291b6a7ad0405b017370520 Mon Sep 17 00:00:00 2001
From 9ac3c75b53eeeee76fcf4e1c1a5546ae5fc3b58a Mon Sep 17 00:00:00 2001
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
Date: Sat, 30 Mar 2019 13:41:07 -0600
Subject: server: Properly handle file symlink deletion.
Subject: [PATCH] server: Properly handle file symlink deletion.
Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
---
@ -10,10 +10,10 @@ Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
2 files changed, 74 insertions(+), 8 deletions(-)
diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c
index 0041a41b6d..f2c273e901 100644
index 0b7e9e230227..a6085d8de75c 100644
--- a/dlls/ntdll/tests/file.c
+++ b/dlls/ntdll/tests/file.c
@@ -5076,14 +5076,14 @@ static void test_reparse_points(void)
@@ -5198,14 +5198,14 @@ static void test_reparse_points(void)
/* Delete the symlink as a file */
bret = DeleteFileW(reparse_path);
@ -32,12 +32,12 @@ index 0041a41b6d..f2c273e901 100644
/* Create the directory symlink */
HeapFree(GetProcessHeap(), 0, buffer);
diff --git a/server/fd.c b/server/fd.c
index 5d80e218b9..ac1c3f85a1 100644
index 06d1d81bdb08..df0caa483827 100644
--- a/server/fd.c
+++ b/server/fd.c
@@ -105,6 +105,10 @@
#include "winternl.h"
@@ -106,6 +106,10 @@
#include "winioctl.h"
#include "ddk/wdm.h"
+#if !defined(O_SYMLINK) && defined(O_PATH)
+# define O_SYMLINK (O_NOFOLLOW | O_PATH)
@ -46,7 +46,7 @@ index 5d80e218b9..ac1c3f85a1 100644
#if defined(HAVE_SYS_EPOLL_H) && defined(HAVE_EPOLL_CREATE)
# include <sys/epoll.h>
# define USE_EPOLL
@@ -1069,7 +1073,7 @@ static void inode_destroy( struct object *obj )
@@ -1146,7 +1150,7 @@ static void inode_destroy( struct object *obj )
{
/* make sure it is still the same file */
struct stat st;
@ -55,7 +55,7 @@ index 5d80e218b9..ac1c3f85a1 100644
{
if (S_ISDIR(st.st_mode)) rmdir( fd->unix_name );
else unlink( fd->unix_name );
@@ -1747,6 +1751,53 @@ char *dup_fd_name( struct fd *root, const char *name )
@@ -1824,6 +1828,53 @@ char *dup_fd_name( struct fd *root, const char *name )
return ret;
}
@ -109,7 +109,7 @@ index 5d80e218b9..ac1c3f85a1 100644
/* open() wrapper that returns a struct fd with no fd user set */
struct fd *open_fd( struct fd *root, const char *name, int flags, mode_t *mode, unsigned int access,
unsigned int sharing, unsigned int options )
@@ -1815,6 +1866,13 @@ struct fd *open_fd( struct fd *root, const char *name, int flags, mode_t *mode,
@@ -1891,6 +1942,13 @@ struct fd *open_fd( struct fd *root, const char *name, int flags, mode_t *mode,
if ((access & FILE_UNIX_WRITE_ACCESS) || (flags & O_CREAT))
fd->unix_fd = open( name, O_RDONLY | (flags & ~(O_TRUNC | O_CREAT | O_EXCL)), *mode );
}
@ -123,7 +123,7 @@ index 5d80e218b9..ac1c3f85a1 100644
if (fd->unix_fd == -1)
{
@@ -1826,14 +1884,15 @@ struct fd *open_fd( struct fd *root, const char *name, int flags, mode_t *mode,
@@ -1909,14 +1967,15 @@ struct fd *open_fd( struct fd *root, const char *name, int flags, mode_t *mode,
closed_fd->unix_fd = fd->unix_fd;
closed_fd->unlink = 0;
closed_fd->unix_name = fd->unix_name;
@ -141,7 +141,7 @@ index 5d80e218b9..ac1c3f85a1 100644
if (!inode)
{
@@ -1848,13 +1907,20 @@ struct fd *open_fd( struct fd *root, const char *name, int flags, mode_t *mode,
@@ -1931,13 +1990,20 @@ struct fd *open_fd( struct fd *root, const char *name, int flags, mode_t *mode,
list_add_head( &inode->open, &fd->inode_entry );
closed_fd = NULL;
@ -165,5 +165,5 @@ index 5d80e218b9..ac1c3f85a1 100644
set_error( STATUS_FILE_IS_A_DIRECTORY );
goto error;
--
2.17.1
2.26.2

View File

@ -37,7 +37,7 @@ index 46d4c7029a3e..3bbe0a7b6cb9 100644
+ IN PRTL_QUERY_REGISTRY_TABLE QueryTable, void *context,
+ void *Environment)
+{
+ return RtlQueryRegistryValuesEx (RelativeTo, path, QueryTable, context, Environment);
+ return RtlQueryRegistryValues (RelativeTo, path, QueryTable, context, Environment);
+}
+
+

View File

@ -1,60 +0,0 @@
From 78788eadc3924bf11db3cd3185c448b1559d9b37 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Sat, 23 May 2020 18:17:52 +1000
Subject: [PATCH] ntoskrnl.exe: Add KdRefreshDebuggerNotPresent stub
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49216
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
---
dlls/ntoskrnl.exe/ntoskrnl.c | 9 +++++++++
dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 1 +
include/ddk/wdm.h | 1 +
3 files changed, 11 insertions(+)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index 77d6ccd38ab5..80f18b64d15d 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -3846,6 +3846,15 @@ NTSTATUS WINAPI SeLocateProcessImageName(PEPROCESS process, UNICODE_STRING **ima
return STATUS_NOT_IMPLEMENTED;
}
+/*********************************************************************
+ * KdRefreshDebuggerNotPresent (NTOSKRNL.@)
+ */
+BOOLEAN WINAPI KdRefreshDebuggerNotPresent(void)
+{
+ FIXME("stub\n");
+ return FALSE;
+}
+
/*********************************************************************
* KeFlushQueuedDpcs (NTOSKRNL.@)
*/
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
index 651fe4852b93..cae3ff34426b 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
@@ -48,6 +48,7 @@
@ stub IoWritePartitionTable
@ stdcall -fastcall IofCallDriver(ptr ptr)
@ stdcall -fastcall IofCompleteRequest(ptr long)
+@ stdcall KdRefreshDebuggerNotPresent()
@ stdcall -arch=!i386 KeAcquireInStackQueuedSpinLock(ptr ptr)
@ stdcall -fastcall KeAcquireInStackQueuedSpinLockAtDpcLevel(ptr ptr)
@ stdcall KeEnterGuardedRegion()
diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h
index 707eca0b32f5..4f4fbcbef4e9 100644
--- a/include/ddk/wdm.h
+++ b/include/ddk/wdm.h
@@ -1675,6 +1675,7 @@ void WINAPI IoReleaseRemoveLockEx(IO_REMOVE_LOCK*,void*,ULONG);
NTSTATUS WINAPI IoSetDeviceInterfaceState(UNICODE_STRING*,BOOLEAN);
NTSTATUS WINAPI IoWMIRegistrationControl(PDEVICE_OBJECT,ULONG);
+BOOLEAN WINAPI KdRefreshDebuggerNotPresent(void);
void FASTCALL KeAcquireInStackQueuedSpinLockAtDpcLevel(KSPIN_LOCK*,KLOCK_QUEUE_HANDLE*);
#ifdef __i386__
void WINAPI KeAcquireSpinLock(KSPIN_LOCK*,KIRQL*);
--
2.26.2

View File

@ -1 +0,0 @@
Fixes: [49216] ntoskrnl.exe: Add KdRefreshDebuggerNotPresent stub

View File

@ -1,7 +1,7 @@
From ee02a657cc17510943c2db6c0bde56b9424c7291 Mon Sep 17 00:00:00 2001
From e0a55bd9cf9edea9074852bbb3f359e361aa3c19 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Sun, 24 May 2020 10:05:24 +1000
Subject: [PATCH 1/3] ntoskrnl.exe: Add KeGenericCallDpc stub
Subject: [PATCH] ntoskrnl.exe: Add KeGenericCallDpc stub
Wine-bug:https://bugs.winehq.org/show_bug.cgi?id=49224
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
@ -11,12 +11,12 @@ Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
2 files changed, 9 insertions(+)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index 773f8c1c3279..3975e47ddb08 100644
index 6e7751d26016..7ad7d929e933 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -4010,3 +4010,11 @@ BOOLEAN WINAPI RtlIsNtDdiVersionAvailable(ULONG version)
FIXME("stub: %d\n", version);
return FALSE;
@@ -3999,3 +3999,11 @@ BOOLEAN WINAPI KdRefreshDebuggerNotPresent(void)
return !KdDebuggerEnabled;
}
+
+/***********************************************************************
@ -27,10 +27,10 @@ index 773f8c1c3279..3975e47ddb08 100644
+ FIXME("routine %p, context %p stub.\n", routine, context);
+}
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
index 1a4f26b96303..d35eb7c60a40 100644
index 2c71cdde376c..9176d27e6109 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
@@ -546,6 +546,7 @@
@@ -547,6 +547,7 @@
@ stub KeFindConfigurationNextEntry
@ stub KeFlushEntireTb
@ stdcall KeFlushQueuedDpcs()

View File

@ -1,46 +0,0 @@
From e896e48ccccde8d6a418284884f5dc3c14b48898 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Sat, 23 May 2020 19:02:36 +1000
Subject: [PATCH] ntoskrnl.exe: Add KeQueryActiveProcessorCountEx stub
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49217
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
---
dlls/ntoskrnl.exe/ntoskrnl.c | 8 ++++++++
dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 1 +
2 files changed, 9 insertions(+)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index ea5ead5c6dce..773f8c1c3279 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -2395,6 +2395,14 @@ KAFFINITY WINAPI KeQueryActiveProcessors( void )
return AffinityMask;
}
+/**********************************************************************
+ * KeQueryActiveProcessorCountEx (NTOSKRNL.EXE.@
+ */
+ULONG WINAPI KeQueryActiveProcessorCountEx( USHORT group )
+{
+ FIXME("(%d) stub\n", group);
+ return 1;
+}
/**********************************************************************
* KeQueryInterruptTime (NTOSKRNL.EXE.@)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
index e0fda1848354..1a4f26b96303 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
@@ -587,6 +587,7 @@
@ stub KeProfileInterruptWithSource
@ stub KePulseEvent
@ stdcall KeQueryActiveProcessors()
+@ stdcall KeQueryActiveProcessorCountEx(long)
@ stdcall KeQueryInterruptTime()
@ stub KeQueryPriorityThread
@ stub KeQueryRuntimeThread
--
2.26.2

View File

@ -1 +0,0 @@
Fixes: [49217] ntoskrnl.exe: Add KeQueryActiveProcessorCountEx stub

View File

@ -52,7 +52,7 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "056c9df854817670dc4fb9c095cba29c99089ac8"
echo "ba920246e502afe7bc664c1881d528a27e980101"
}
# Show version information
@ -213,9 +213,7 @@ patch_enable_all ()
enable_ntdll_set_full_cpu_context="$1"
enable_ntdll_x86_64_SegDs="$1"
enable_ntoskrnl_Stubs="$1"
enable_ntoskrnl_exe_KdRefreshDebuggerNotPresent="$1"
enable_ntoskrnl_exe_KeGenericCallDpc="$1"
enable_ntoskrnl_exe_KeQueryActiveProcessorCountEx="$1"
enable_ntoskrnl_exe_KeRevertToUserAffinityThreadEx="$1"
enable_ntoskrnl_exe_KeSetSystemAffinityThreadEx="$1"
enable_nvapi_Stub_DLL="$1"
@ -747,15 +745,9 @@ patch_enable ()
ntoskrnl-Stubs)
enable_ntoskrnl_Stubs="$2"
;;
ntoskrnl.exe-KdRefreshDebuggerNotPresent)
enable_ntoskrnl_exe_KdRefreshDebuggerNotPresent="$2"
;;
ntoskrnl.exe-KeGenericCallDpc)
enable_ntoskrnl_exe_KeGenericCallDpc="$2"
;;
ntoskrnl.exe-KeQueryActiveProcessorCountEx)
enable_ntoskrnl_exe_KeQueryActiveProcessorCountEx="$2"
;;
ntoskrnl.exe-KeRevertToUserAffinityThreadEx)
enable_ntoskrnl_exe_KeRevertToUserAffinityThreadEx="$2"
;;
@ -4971,21 +4963,6 @@ if test "$enable_ntoskrnl_Stubs" -eq 1; then
) >> "$patchlist"
fi
# Patchset ntoskrnl.exe-KdRefreshDebuggerNotPresent
# |
# | This patchset fixes the following Wine bugs:
# | * [#49216] ntoskrnl.exe: Add KdRefreshDebuggerNotPresent stub
# |
# | Modified files:
# | * dlls/ntoskrnl.exe/ntoskrnl.c, dlls/ntoskrnl.exe/ntoskrnl.exe.spec, include/ddk/wdm.h
# |
if test "$enable_ntoskrnl_exe_KdRefreshDebuggerNotPresent" -eq 1; then
patch_apply ntoskrnl.exe-KdRefreshDebuggerNotPresent/0001-ntoskrnl.exe-Add-KdRefreshDebuggerNotPresent-stub.patch
(
printf '%s\n' '+ { "Alistair Leslie-Hughes", "ntoskrnl.exe: Add KdRefreshDebuggerNotPresent stub.", 1 },';
) >> "$patchlist"
fi
# Patchset ntoskrnl.exe-KeGenericCallDpc
# |
# | Modified files:
@ -5002,21 +4979,6 @@ if test "$enable_ntoskrnl_exe_KeGenericCallDpc" -eq 1; then
) >> "$patchlist"
fi
# Patchset ntoskrnl.exe-KeQueryActiveProcessorCountEx
# |
# | This patchset fixes the following Wine bugs:
# | * [#49217] ntoskrnl.exe: Add KeQueryActiveProcessorCountEx stub
# |
# | Modified files:
# | * dlls/ntoskrnl.exe/ntoskrnl.c, dlls/ntoskrnl.exe/ntoskrnl.exe.spec
# |
if test "$enable_ntoskrnl_exe_KeQueryActiveProcessorCountEx" -eq 1; then
patch_apply ntoskrnl.exe-KeQueryActiveProcessorCountEx/0001-ntoskrnl.exe-Add-KeQueryActiveProcessorCountEx-stub.patch
(
printf '%s\n' '+ { "Alistair Leslie-Hughes", "ntoskrnl.exe: Add KeQueryActiveProcessorCountEx stub.", 1 },';
) >> "$patchlist"
fi
# Patchset ntoskrnl.exe-KeRevertToUserAffinityThreadEx
# |
# | This patchset fixes the following Wine bugs:

View File

@ -1,4 +1,4 @@
From 7a530e0f3c9f0d3aadcea6d0bec7fc155691baae Mon Sep 17 00:00:00 2001
From 43c4595226819c7b5993937fc8f088b8b6ffa545 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 11 May 2017 05:32:55 +0200
Subject: [PATCH] winebuild: Generate syscall thunks for ntdll exports.
@ -17,7 +17,7 @@ Based on a patch by Erich E. Hoover.
9 files changed, 207 insertions(+), 27 deletions(-)
diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c
index 8a976f7745d..04fdaf564b3 100644
index 5353ab4df2ce..527ba01672e1 100644
--- a/dlls/ntdll/signal_i386.c
+++ b/dlls/ntdll/signal_i386.c
@@ -476,6 +476,9 @@ static ULONG first_ldt_entry = 32;
@ -49,12 +49,12 @@ index 8a976f7745d..04fdaf564b3 100644
}
diff --git a/dlls/ntdll/tests/exception.c b/dlls/ntdll/tests/exception.c
index 72afb0a3764..fbd90661ee0 100644
index a5e6faa461a3..51938bf84cc1 100644
--- a/dlls/ntdll/tests/exception.c
+++ b/dlls/ntdll/tests/exception.c
@@ -1643,6 +1643,8 @@ static void test_thread_context(void)
ok( (char *)context.Eip >= (char *)pNtGetContextThread - 0x10000 &&
(char *)context.Eip <= (char *)pNtGetContextThread + 0x10000,
ok( (char *)context.Eip >= (char *)pNtGetContextThread - 0x40000 &&
(char *)context.Eip <= (char *)pNtGetContextThread + 0x40000,
"wrong Eip %08x/%08x\n", context.Eip, (DWORD)pNtGetContextThread );
+ ok( *(WORD *)context.Eip == 0xc483 || *(WORD *)context.Eip == 0x08c2 || *(WORD *)context.Eip == 0x8dc3,
+ "expected 0xc483 or 0x08c2 or 0x8dc3, got %04x\n", *(WORD *)context.Eip );
@ -62,7 +62,7 @@ index 72afb0a3764..fbd90661ee0 100644
ok( context.SegCs == LOWORD(expect.SegCs), "wrong SegCs %08x/%08x\n", context.SegCs, expect.SegCs );
ok( context.SegDs == LOWORD(expect.SegDs), "wrong SegDs %08x/%08x\n", context.SegDs, expect.SegDs );
diff --git a/include/winternl.h b/include/winternl.h
index 0aa0ac311c3..26ee5b601fb 100644
index 0f808d71dd33..d641ed1436ad 100644
--- a/include/winternl.h
+++ b/include/winternl.h
@@ -359,7 +359,7 @@ typedef struct _TEB
@ -75,7 +75,7 @@ index 0aa0ac311c3..26ee5b601fb 100644
ULONG FpSoftwareStatusRegister; /* 0c8/010c */
PVOID SystemReserved1[54]; /* 0cc/0110 used for krnl386.exe16 private data in Wine */
diff --git a/tools/winebuild/build.h b/tools/winebuild/build.h
index b30785b74a3..6ee847f908c 100644
index c162888a0356..55d5b0b9dc28 100644
--- a/tools/winebuild/build.h
+++ b/tools/winebuild/build.h
@@ -105,6 +105,7 @@ typedef struct
@ -123,7 +123,7 @@ index b30785b74a3..6ee847f908c 100644
extern int byte_swapped;
diff --git a/tools/winebuild/import.c b/tools/winebuild/import.c
index 04ab433dd65..0c6bafed8e5 100644
index 04ab433dd65a..0c6bafed8e54 100644
--- a/tools/winebuild/import.c
+++ b/tools/winebuild/import.c
@@ -531,6 +531,7 @@ static void check_undefined_forwards( DLLSPEC *spec )
@ -163,7 +163,7 @@ index 04ab433dd65..0c6bafed8e5 100644
}
}
diff --git a/tools/winebuild/parser.c b/tools/winebuild/parser.c
index 0f2b9c1e10a..74216f8bb6e 100644
index 0f2b9c1e10ad..74216f8bb6e7 100644
--- a/tools/winebuild/parser.c
+++ b/tools/winebuild/parser.c
@@ -543,6 +543,24 @@ static const char *parse_spec_flags( DLLSPEC *spec, ORDDEF *odp )
@ -254,7 +254,7 @@ index 0f2b9c1e10a..74216f8bb6e 100644
}
diff --git a/tools/winebuild/spec16.c b/tools/winebuild/spec16.c
index a52c03aaa6a..15ef9a3f893 100644
index a52c03aaa6a7..15ef9a3f8930 100644
--- a/tools/winebuild/spec16.c
+++ b/tools/winebuild/spec16.c
@@ -495,27 +495,6 @@ static int relay_type_compare( const void *e1, const void *e2 )
@ -294,7 +294,7 @@ index a52c03aaa6a..15ef9a3f893 100644
entry_point->u.func.nb_args = 0;
assert( !spec->ordinals[0] );
diff --git a/tools/winebuild/spec32.c b/tools/winebuild/spec32.c
index b1e20e0484d..22dd399cb2b 100644
index b1e20e0484dc..22dd399cb2b4 100644
--- a/tools/winebuild/spec32.c
+++ b/tools/winebuild/spec32.c
@@ -374,6 +374,109 @@ static void output_relay_debug( DLLSPEC *spec )
@ -416,10 +416,10 @@ index b1e20e0484d..22dd399cb2b 100644
output_exports( spec );
output_imports( spec );
diff --git a/tools/winebuild/utils.c b/tools/winebuild/utils.c
index 669520711c2..7dc61a708db 100644
index 2a1fc960926b..07a579004adc 100644
--- a/tools/winebuild/utils.c
+++ b/tools/winebuild/utils.c
@@ -854,6 +854,7 @@ void free_dll_spec( DLLSPEC *spec )
@@ -860,6 +860,7 @@ void free_dll_spec( DLLSPEC *spec )
free( odp->name );
free( odp->export_name );
free( odp->link_name );
@ -427,7 +427,7 @@ index 669520711c2..7dc61a708db 100644
}
free( spec->file_name );
free( spec->dll_name );
@@ -863,6 +864,7 @@ void free_dll_spec( DLLSPEC *spec )
@@ -869,6 +870,7 @@ void free_dll_spec( DLLSPEC *spec )
free( spec->names );
free( spec->ordinals );
free( spec->resources );
@ -435,7 +435,7 @@ index 669520711c2..7dc61a708db 100644
free( spec );
}
@@ -1269,3 +1271,22 @@ const char *get_asm_string_section(void)
@@ -1275,3 +1277,22 @@ const char *get_asm_string_section(void)
default: return ".section .rodata";
}
}

View File

@ -1,4 +1,4 @@
From e8ef6d3182cde841e5a6a3f0dccece58b6210ce4 Mon Sep 17 00:00:00 2001
From 98e637cc4bdb5f5ac793e5bfb567b299cb9a7dcc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 8 Jun 2017 23:50:03 +0200
Subject: [PATCH] programs/winedevice: Load some common drivers and fix ldr
@ -10,7 +10,7 @@ Subject: [PATCH] programs/winedevice: Load some common drivers and fix ldr
2 files changed, 76 insertions(+)
diff --git a/dlls/ntoskrnl.exe/tests/driver.c b/dlls/ntoskrnl.exe/tests/driver.c
index 10f38655150..63c81d64e8f 100644
index 65be4a8d35a8..3920a3710799 100644
--- a/dlls/ntoskrnl.exe/tests/driver.c
+++ b/dlls/ntoskrnl.exe/tests/driver.c
@@ -44,6 +44,7 @@ static const WCHAR driver_link[] = {'\\','D','o','s','D','e','v','i','c','e','s'
@ -29,9 +29,9 @@ index 10f38655150..63c81d64e8f 100644
static void test_lookup_thread(void)
{
NTSTATUS status;
@@ -1710,6 +1712,52 @@ static void test_executable_pool(void)
@@ -1740,6 +1742,52 @@ static void test_affinity(void)
ok(mask == ~((~0u) << cpu_count), "Got unexpected mask %#lx.\n", mask);
}
#endif
+static void test_default_modules(void)
+{
@ -82,7 +82,7 @@ index 10f38655150..63c81d64e8f 100644
static NTSTATUS main_test(DEVICE_OBJECT *device, IRP *irp, IO_STACK_LOCATION *stack)
{
ULONG length = stack->Parameters.DeviceIoControl.OutputBufferLength;
@@ -1756,6 +1804,7 @@ static NTSTATUS main_test(DEVICE_OBJECT *device, IRP *irp, IO_STACK_LOCATION *st
@@ -1786,6 +1834,7 @@ static NTSTATUS main_test(DEVICE_OBJECT *device, IRP *irp, IO_STACK_LOCATION *st
test_stack_callout();
test_lookaside_list();
test_ob_reference(test_input->path);
@ -90,7 +90,7 @@ index 10f38655150..63c81d64e8f 100644
test_resource();
test_lookup_thread();
test_IoAttachDeviceToDeviceStack();
@@ -2006,6 +2055,7 @@ NTSTATUS WINAPI DriverEntry(DRIVER_OBJECT *driver, PUNICODE_STRING registry)
@@ -2037,6 +2086,7 @@ NTSTATUS WINAPI DriverEntry(DRIVER_OBJECT *driver, PUNICODE_STRING registry)
DbgPrint("loading driver\n");
driver_obj = driver;
@ -99,7 +99,7 @@ index 10f38655150..63c81d64e8f 100644
/* Allow unloading of the driver */
driver->DriverUnload = driver_Unload;
diff --git a/programs/winedevice/device.c b/programs/winedevice/device.c
index 0755caaafb0..6595788053e 100644
index 0755caaafb01..6595788053e8 100644
--- a/programs/winedevice/device.c
+++ b/programs/winedevice/device.c
@@ -120,7 +120,33 @@ static DWORD WINAPI service_handler( DWORD ctrl, DWORD event_type, LPVOID event_
@ -137,5 +137,5 @@ index 0755caaafb0..6595788053e 100644
if (!(stop_event = CreateEventW( NULL, TRUE, FALSE, NULL )))
return;
--
2.26.0
2.26.2

View File

@ -1 +1 @@
056c9df854817670dc4fb9c095cba29c99089ac8
86e388c9182a4121eab35353bdfae3f0f4fd5a40