Module: wine Branch: master Commit: 63743c3984db97055ed9a86ae98ba07fd34c363a URL: https://source.winehq.org/git/wine.git/?a=commit;h=63743c3984db97055ed9a86ae...
Author: Fabian Maurer dark.shadow4@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@web.de Signed-off-by: Alexandre Julliard julliard@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);