Fabian Maurer : kernel32: Partially implement VirtualAllocExNuma.
Alexandre Julliard
julliard at winehq.org
Mon Apr 22 16:30:39 CDT 2019
Module: wine
Branch: master
Commit: 63743c3984db97055ed9a86ae98ba07fd34c363a
URL: https://source.winehq.org/git/wine.git/?a=commit;h=63743c3984db97055ed9a86ae98ba07fd34c363a
Author: Fabian Maurer <dark.shadow4 at web.de>
Date: Tue Apr 16 23:12:33 2019 +0200
kernel32: Partially implement VirtualAllocExNuma.
Ignoring the preferred node should be good enough.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46927
Signed-off-by: Fabian Maurer <dark.shadow4 at web.de>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
.../api-ms-win-core-memory-l1-1-2.spec | 2 +-
dlls/kernel32/kernel32.spec | 2 +-
dlls/kernel32/virtual.c | 12 ++++++++++++
dlls/kernelbase/kernelbase.spec | 2 +-
include/winbase.h | 1 +
5 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/dlls/api-ms-win-core-memory-l1-1-2/api-ms-win-core-memory-l1-1-2.spec b/dlls/api-ms-win-core-memory-l1-1-2/api-ms-win-core-memory-l1-1-2.spec
index 57a5b10..9d96da9 100644
--- a/dlls/api-ms-win-core-memory-l1-1-2/api-ms-win-core-memory-l1-1-2.spec
+++ b/dlls/api-ms-win-core-memory-l1-1-2/api-ms-win-core-memory-l1-1-2.spec
@@ -28,7 +28,7 @@
@ stub UnregisterBadMemoryNotification
@ stdcall VirtualAlloc(ptr long long long) kernel32.VirtualAlloc
@ stdcall VirtualAllocEx(long ptr long long long) kernel32.VirtualAllocEx
-@ stub VirtualAllocExNuma
+@ stdcall VirtualAllocExNuma(long ptr long long long long) kernel32.VirtualAllocExNuma
@ stdcall VirtualFree(ptr long long) kernel32.VirtualFree
@ stdcall VirtualFreeEx(long ptr long long) kernel32.VirtualFreeEx
@ stdcall VirtualLock(ptr long) kernel32.VirtualLock
diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec
index 1085879..3edfe21 100644
--- a/dlls/kernel32/kernel32.spec
+++ b/dlls/kernel32/kernel32.spec
@@ -1559,7 +1559,7 @@
@ stdcall VerifyVersionInfoW(long long int64)
@ stdcall VirtualAlloc(ptr long long long)
@ stdcall VirtualAllocEx(long ptr long long long)
-# @ stub VirtualAllocExNuma
+@ stdcall VirtualAllocExNuma(long ptr long long long long)
@ stub VirtualBufferExceptionHandler
@ stdcall VirtualFree(ptr long long)
@ stdcall VirtualFreeEx(long ptr long long)
diff --git a/dlls/kernel32/virtual.c b/dlls/kernel32/virtual.c
index 42da7f0..59c96bd 100644
--- a/dlls/kernel32/virtual.c
+++ b/dlls/kernel32/virtual.c
@@ -46,6 +46,7 @@
WINE_DECLARE_DEBUG_CHANNEL(seh);
WINE_DECLARE_DEBUG_CHANNEL(file);
+WINE_DECLARE_DEBUG_CHANNEL(virtual);
/***********************************************************************
@@ -102,6 +103,17 @@ LPVOID WINAPI DECLSPEC_HOTPATCH VirtualAllocEx( HANDLE hProcess, LPVOID addr, SI
/***********************************************************************
+ * VirtualAllocExNuma (KERNEL32.@)
+ */
+LPVOID WINAPI DECLSPEC_HOTPATCH VirtualAllocExNuma(HANDLE process, void *addr, SIZE_T size,
+ DWORD type, DWORD protect, DWORD numa_node)
+{
+ FIXME_(virtual)("Ignoring preferred numa_node\n");
+ return VirtualAllocEx(process, addr, size, type, protect);
+}
+
+
+/***********************************************************************
* VirtualFree (KERNEL32.@)
*
* Releases or decommits a region of pages in virtual address space.
diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec
index c43ccce..71ca260 100644
--- a/dlls/kernelbase/kernelbase.spec
+++ b/dlls/kernelbase/kernelbase.spec
@@ -1669,7 +1669,7 @@
# @ stub VerifyScripts
@ stdcall VirtualAlloc(ptr long long long) kernel32.VirtualAlloc
@ stdcall VirtualAllocEx(long ptr long long long) kernel32.VirtualAllocEx
-@ stub VirtualAllocExNuma
+@ stdcall VirtualAllocExNuma(long ptr long long long long) kernel32.VirtualAllocExNuma
# @ stub VirtualAllocFromApp
@ stdcall VirtualFree(ptr long long) kernel32.VirtualFree
@ stdcall VirtualFreeEx(long ptr long long) kernel32.VirtualFreeEx
diff --git a/include/winbase.h b/include/winbase.h
index 20c73af..49d0e7e 100644
--- a/include/winbase.h
+++ b/include/winbase.h
@@ -2698,6 +2698,7 @@ WINBASEAPI BOOL WINAPI VerifyVersionInfoW(LPOSVERSIONINFOEXW,DWORD,DWORDL
#define VerifyVersionInfo WINELIB_NAME_AW(VerifyVersionInfo)
WINBASEAPI LPVOID WINAPI VirtualAlloc(LPVOID,SIZE_T,DWORD,DWORD);
WINBASEAPI LPVOID WINAPI VirtualAllocEx(HANDLE,LPVOID,SIZE_T,DWORD,DWORD);
+WINBASEAPI LPVOID WINAPI VirtualAllocExNuma(HANDLE,void*,SIZE_T,DWORD,DWORD,DWORD);
WINBASEAPI BOOL WINAPI VirtualFree(LPVOID,SIZE_T,DWORD);
WINBASEAPI BOOL WINAPI VirtualFreeEx(HANDLE,LPVOID,SIZE_T,DWORD);
WINBASEAPI BOOL WINAPI VirtualLock(LPVOID,SIZE_T);
More information about the wine-cvs
mailing list