[PATCH 2/8] kernel32: added missing numa functions
Vijay Kiran Kamuju
infyquest at gmail.com
Wed May 8 03:47:28 CDT 2019
On Wed, May 8, 2019 at 9:54 AM romanstingler <roman.stingler at gmail.com> wrote:
>
> From: Roman Stingler <roman.stingler at gmail.com>
>
> Signed-off-by: Roman Stingler <roman.stingler at gmail.com>
> ---
> ...pi-ms-win-core-kernel32-legacy-l1-1-1.spec | 4 +-
> dlls/kernel32/kernel32.spec | 8 ++--
> dlls/kernel32/process.c | 37 +++++++++++++++++++
> dlls/kernelbase/kernelbase.spec | 3 +-
> include/ntdef.h | 2 +
> include/winbase.h | 15 ++++++++
> 6 files changed, 62 insertions(+), 7 deletions(-)
>
> 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 5531d2dbd7..946e3de99e 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
> @@ -29,9 +29,9 @@
> @ stub GetMaximumProcessorGroupCount
> @ stdcall GetNamedPipeClientProcessId(long ptr) kernel32.GetNamedPipeClientProcessId
> @ stdcall GetNamedPipeServerProcessId(long ptr) kernel32.GetNamedPipeServerProcessId
> -@ stub GetNumaAvailableMemoryNodeEx
> +@ stdcall GetNumaAvailableMemoryNodeEx(long ptr)
> @ stdcall GetNumaNodeProcessorMask(long ptr) kernel32.GetNumaNodeProcessorMask
> -@ stub GetNumaProcessorNodeEx
> +@ stdcall GetNumaProcessorNodeEx(ptr ptr)
> @ stdcall GetShortPathNameA(str ptr long) kernel32.GetShortPathNameA
> @ stdcall GetStartupInfoA(ptr) kernel32.GetStartupInfoA
> @ stdcall GetStringTypeExA(long long str long ptr) kernel32.GetStringTypeExA
> diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec
> index 295a4dbab6..08a9a9cd9d 100644
> --- a/dlls/kernel32/kernel32.spec
> +++ b/dlls/kernel32/kernel32.spec
> @@ -742,16 +742,16 @@
> # @ stub GetNLSVersionEx
> # @ stub GetNumaAvailableMemory
> @ stdcall GetNumaAvailableMemoryNode(long ptr)
> -# @ stub GetNumaAvailableMemoryNodeEx
> +@ stdcall GetNumaAvailableMemoryNodeEx(long ptr)
> @ stdcall GetNumaHighestNodeNumber(ptr)
> # @ stub GetNumaNodeNumberFromHandle
> @ stdcall GetNumaNodeProcessorMask(long ptr)
> @ stdcall GetNumaNodeProcessorMaskEx(long ptr)
> # @ stub GetNumaProcessorMap
> @ stdcall GetNumaProcessorNode(long ptr)
> -# @ stub GetNumaProcessorNodeEx
> -# @ stub GetNumaProximityNode
> -# @ stub GetNumaProximityNodeEx
> +@ stdcall GetNumaProcessorNodeEx(ptr ptr)
> +@ stdcall GetNumaProximityNode(long ptr)
> +@ stdcall GetNumaProximityNodeEx(long ptr)
> @ stdcall GetNumberFormatA(long long str ptr ptr long)
> @ stdcall GetNumberFormatEx(wstr long wstr ptr ptr long)
> @ stdcall GetNumberFormatW(long long wstr ptr ptr long)
> diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c
> index 09f0433deb..a5e0d8d089 100644
> --- a/dlls/kernel32/process.c
> +++ b/dlls/kernel32/process.c
> @@ -4449,6 +4449,16 @@ BOOL WINAPI GetNumaAvailableMemoryNode(UCHAR node, PULONGLONG available_bytes)
> return FALSE;
> }
>
> +/**********************************************************************
> + * GetNumaAvailableMemoryNodeEx (KERNEL32.@)
> + */
> +BOOL WINAPI GetNumaAvailableMemoryNodeEx(USHORT node, PULONGLONG available_bytes)
> +{
> + FIXME("(%c %p): stub\n", node, available_bytes);
> + SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
> + return FALSE;
> +}
> +
> /***********************************************************************
> * GetNumaProcessorNode (KERNEL32.@)
> */
> @@ -4470,6 +4480,33 @@ BOOL WINAPI GetNumaProcessorNode(UCHAR processor, PUCHAR node)
> return FALSE;
> }
>
> +/***********************************************************************
> + * GetNumaProcessorNodeEx (KERNEL32.@)
> + */
> +BOOL WINAPI GetNumaProcessorNodeEx(PPROCESSOR_NUMBER processor, PUSHORT node_number)
> +{
Missing FIXME message.
> + SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
> + return FALSE;
> +}
> +
> +/***********************************************************************
> + * GetNumaProximityNode (KERNEL32.@)
> + */
> +BOOL WINAPI GetNumaProximityNode(ULONG proximity_id, PUCHAR node_number)
> +{
Missing FIXME message.
> + SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
> + return FALSE;
> +}
> +
> +/***********************************************************************
> + * GetNumaProximityNodeEx (KERNEL32.@)
> + */
> +BOOL WINAPI GetNumaProximityNodeEx(ULONG proximity_id, PUSHORT node_number)
> +{
Missing FIXME message.
> + SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
> + return FALSE;
> +}
> +
> /**********************************************************************
> * GetProcessDEPPolicy (KERNEL32.@)
> */
> diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec
> index 22ea65fe1c..abddb12533 100644
> --- a/dlls/kernelbase/kernelbase.spec
> +++ b/dlls/kernelbase/kernelbase.spec
> @@ -576,7 +576,8 @@
> # @ stub GetNextFgPolicyRefreshInfoInternal
> @ stdcall GetNumaHighestNodeNumber(ptr) kernel32.GetNumaHighestNodeNumber
> @ stdcall GetNumaNodeProcessorMaskEx(long ptr) kernel32.GetNumaNodeProcessorMaskEx
> -# @ stub GetNumaProximityNodeEx
> +@ stdcall GetNumaProximityNode(long ptr) kernel32.GetNumaProximityNode
> +@ stdcall GetNumaProximityNodeEx(long ptr) kernel32.GetNumaProximityNodeEx
> @ stdcall GetNumberFormatEx(wstr long wstr ptr ptr long) kernel32.GetNumberFormatEx
> @ stdcall GetNumberFormatW(long long wstr ptr ptr long) kernel32.GetNumberFormatW
> @ stdcall GetNumberOfConsoleInputEvents(long ptr) kernel32.GetNumberOfConsoleInputEvents
> diff --git a/include/ntdef.h b/include/ntdef.h
> index 83ecffd608..b9a27cabcb 100644
> --- a/include/ntdef.h
> +++ b/include/ntdef.h
> @@ -39,6 +39,8 @@ typedef enum _WAIT_TYPE {
> WaitNotification
> } WAIT_TYPE;
>
This define below is unused, please add all the related defines in
both ntdef.h and winnt.h
> +#define MAXUSHORT 0xffff
> +
> #ifdef __cplusplus
> }
> #endif
> diff --git a/include/winbase.h b/include/winbase.h
> index 314a8b7f60..867f0a846f 100644
> --- a/include/winbase.h
> +++ b/include/winbase.h
> @@ -1675,6 +1682,7 @@ typedef enum _PROC_THREAD_ATTRIBUTE_NUM
> ProcThreadAttributeParentProcess = 0,
> ProcThreadAttributeHandleList = 2,
> ProcThreadAttributeGroupAffinity = 3,
> + ProcThreadAttributePreferredNode = 4,
> ProcThreadAttributeIdealProcessor = 5,
> ProcThreadAttributeUmsThread = 6,
> ProcThreadAttributeMitigationPolicy = 7,
> @@ -1690,6 +1698,7 @@ typedef enum _PROC_THREAD_ATTRIBUTE_NUM
> #define PROC_THREAD_ATTRIBUTE_PARENT_PROCESS (ProcThreadAttributeParentProcess | PROC_THREAD_ATTRIBUTE_INPUT)
> #define PROC_THREAD_ATTRIBUTE_HANDLE_LIST (ProcThreadAttributeHandleList | PROC_THREAD_ATTRIBUTE_INPUT)
> #define PROC_THREAD_ATTRIBUTE_GROUP_AFFINITY (ProcThreadAttributeGroupAffinity | PROC_THREAD_ATTRIBUTE_THREAD | PROC_THREAD_ATTRIBUTE_INPUT)
> +#define PROC_THREAD_ATTRIBUTE_PREFERRED_NODE (ProcThreadAttributePreferredNode | PROC_THREAD_ATTRIBUTE_INPUT)
> #define PROC_THREAD_ATTRIBUTE_IDEAL_PROCESSOR (ProcThreadAttributeIdealProcessor | PROC_THREAD_ATTRIBUTE_THREAD | PROC_THREAD_ATTRIBUTE_INPUT)
> #define PROC_THREAD_ATTRIBUTE_UMS_THREAD (ProcThreadAttributeUmsThread | PROC_THREAD_ATTRIBUTE_THREAD | PROC_THREAD_ATTRIBUTE_INPUT)
> #define PROC_THREAD_ATTRIBUTE_MITIGATION_POLICY (ProcThreadAttributeMitigationPolicy | PROC_THREAD_ATTRIBUTE_INPUT)
> @@ -2179,6 +2188,12 @@ WINBASEAPI BOOL WINAPI GetNamedPipeServerSessionId(HANDLE,PULONG);
> WINBASEAPI VOID WINAPI GetNativeSystemInfo(LPSYSTEM_INFO);
> WINBASEAPI PUMS_CONTEXT WINAPI GetNextUmsListItem(PUMS_CONTEXT);
> WINBASEAPI BOOL WINAPI GetNumaProcessorNode(UCHAR,PUCHAR);
> +WINBASEAPI BOOL WINAPI GetNumaAvailableMemoryNode(UCHAR,PULONGLONG);
> +WINBASEAPI BOOL WINAPI GetNumaNodeProcessorMaskEx(USHORT,PGROUP_AFFINITY);
> +WINBASEAPI BOOL WINAPI GetNumaProcessorNodeEx(PPROCESSOR_NUMBER,PUSHORT);
> +WINBASEAPI BOOL WINAPI GetNumaProximityNode(ULONG,PUCHAR);
> +WINBASEAPI BOOL WINAPI GetNumaAvailableMemoryNodeEx(USHORT,PULONGLONG);
> +WINBASEAPI BOOL WINAPI GetNumaProximityNodeEx(ULONG,PUSHORT);
> WINADVAPI BOOL WINAPI GetNumberOfEventLogRecords(HANDLE,PDWORD);
> WINADVAPI BOOL WINAPI GetOldestEventLogRecord(HANDLE,PDWORD);
> WINBASEAPI BOOL WINAPI GetOverlappedResult(HANDLE,LPOVERLAPPED,LPDWORD,BOOL);
> --
> 2.21.0
>
>
>
More information about the wine-devel
mailing list