Module: wine Branch: master Commit: 7f53949a49f2fb59bab8c239e82a65f807071a7e URL: https://gitlab.winehq.org/wine/wine/-/commit/7f53949a49f2fb59bab8c239e82a65f...
Author: Alexandre Julliard julliard@winehq.org Date: Fri Jun 21 11:16:23 2024 +0200
ntdll: Export a proper function for RtlGetNativeSystemInformation.
It will need custom handling on ARM64EC.
---
dlls/ntdll/ntdll.spec | 3 +-- dlls/ntdll/signal_arm.c | 10 ++++++++++ dlls/ntdll/signal_arm64.c | 10 ++++++++++ dlls/ntdll/signal_arm64ec.c | 10 ++++++++++ dlls/ntdll/signal_i386.c | 10 ++++++++++ dlls/ntdll/signal_x86_64.c | 10 ++++++++++ 6 files changed, 51 insertions(+), 2 deletions(-)
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec index 3471905c762..80ed2d8f020 100644 --- a/dlls/ntdll/ntdll.spec +++ b/dlls/ntdll/ntdll.spec @@ -743,8 +743,7 @@ # @ stub RtlGetLengthWithoutTrailingPathSeperators @ stdcall RtlGetLocaleFileMappingAddress(ptr ptr ptr) @ stdcall RtlGetLongestNtPathLength() -@ stdcall -syscall -arch=win32 RtlGetNativeSystemInformation(long ptr long ptr) NtWow64GetNativeSystemInformation -@ stdcall -syscall -arch=win64 RtlGetNativeSystemInformation(long ptr long ptr) NtQuerySystemInformation +@ stdcall RtlGetNativeSystemInformation(long ptr long ptr) # @ stub RtlGetNextRange @ stdcall RtlGetNtGlobalFlags() @ stdcall RtlGetNtProductType(ptr) diff --git a/dlls/ntdll/signal_arm.c b/dlls/ntdll/signal_arm.c index f267b74781c..aeed022d78f 100644 --- a/dlls/ntdll/signal_arm.c +++ b/dlls/ntdll/signal_arm.c @@ -556,6 +556,16 @@ void WINAPI RtlUnwindEx( PVOID end_frame, PVOID target_ip, EXCEPTION_RECORD *rec }
+/************************************************************************* + * RtlGetNativeSystemInformation (NTDLL.@) + */ +NTSTATUS WINAPI RtlGetNativeSystemInformation( SYSTEM_INFORMATION_CLASS class, + void *info, ULONG size, ULONG *ret_size ) +{ + return NtWow64GetNativeSystemInformation( class, info, size, ret_size ); +} + + /************************************************************************* * RtlWalkFrameChain (NTDLL.@) */ diff --git a/dlls/ntdll/signal_arm64.c b/dlls/ntdll/signal_arm64.c index b7c16ae7b30..8b4fea80bb6 100644 --- a/dlls/ntdll/signal_arm64.c +++ b/dlls/ntdll/signal_arm64.c @@ -590,6 +590,16 @@ void WINAPI RtlUnwindEx( PVOID end_frame, PVOID target_ip, EXCEPTION_RECORD *rec }
+/************************************************************************* + * RtlGetNativeSystemInformation (NTDLL.@) + */ +NTSTATUS WINAPI RtlGetNativeSystemInformation( SYSTEM_INFORMATION_CLASS class, + void *info, ULONG size, ULONG *ret_size ) +{ + return NtQuerySystemInformation( class, info, size, ret_size ); +} + + /************************************************************************* * RtlWalkFrameChain (NTDLL.@) */ diff --git a/dlls/ntdll/signal_arm64ec.c b/dlls/ntdll/signal_arm64ec.c index 2e974d389e1..9fde2a4a715 100644 --- a/dlls/ntdll/signal_arm64ec.c +++ b/dlls/ntdll/signal_arm64ec.c @@ -1194,6 +1194,16 @@ void WINAPI RtlUnwindEx( PVOID end_frame, PVOID target_ip, EXCEPTION_RECORD *rec }
+/************************************************************************* + * RtlGetNativeSystemInformation (NTDLL.@) + */ +NTSTATUS WINAPI RtlGetNativeSystemInformation( SYSTEM_INFORMATION_CLASS class, + void *info, ULONG size, ULONG *ret_size ) +{ + return NtQuerySystemInformation( class, info, size, ret_size ); +} + + /************************************************************************* * RtlWalkFrameChain (NTDLL.@) */ diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c index 13e5be6af68..a6c47f1226b 100644 --- a/dlls/ntdll/signal_i386.c +++ b/dlls/ntdll/signal_i386.c @@ -451,6 +451,16 @@ __ASM_STDCALL_FUNC( RtlRaiseException, 4, "ret $4" ) /* actually never returns */
+/************************************************************************* + * RtlGetNativeSystemInformation (NTDLL.@) + */ +NTSTATUS WINAPI RtlGetNativeSystemInformation( SYSTEM_INFORMATION_CLASS class, + void *info, ULONG size, ULONG *ret_size ) +{ + return NtWow64GetNativeSystemInformation( class, info, size, ret_size ); +} + + /************************************************************************* * RtlWalkFrameChain (NTDLL.@) */ diff --git a/dlls/ntdll/signal_x86_64.c b/dlls/ntdll/signal_x86_64.c index d6218dc61b7..f491f07282e 100644 --- a/dlls/ntdll/signal_x86_64.c +++ b/dlls/ntdll/signal_x86_64.c @@ -792,6 +792,16 @@ __ASM_GLOBAL_FUNC( RtlRaiseException, "call " __ASM_NAME("RtlRaiseStatus") /* does not return */ );
+/************************************************************************* + * RtlGetNativeSystemInformation (NTDLL.@) + */ +NTSTATUS WINAPI RtlGetNativeSystemInformation( SYSTEM_INFORMATION_CLASS class, + void *info, ULONG size, ULONG *ret_size ) +{ + return NtQuerySystemInformation( class, info, size, ret_size ); +} + + /************************************************************************* * RtlWalkFrameChain (NTDLL.@) */