ntdll: Implement RtlIsProcessorFeaturePresent().

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Alexandre Julliard 2019-01-24 17:33:16 +01:00
parent 7f4e5b1ed8
commit b61d425502
4 changed files with 12 additions and 12 deletions

View file

@ -46,8 +46,6 @@
WINE_DEFAULT_DEBUG_CHANNEL(reg);
#define SHARED_DATA ((KSHARED_USER_DATA*)0x7ffe0000)
/****************************************************************************
* QueryPerformanceCounter (KERNEL32.@)
*
@ -200,18 +198,10 @@ VOID WINAPI GetNativeSystemInfo(
* IsProcessorFeaturePresent [KERNEL32.@]
*
* Determine if the cpu supports a given feature.
*
* RETURNS
* TRUE, If the processor supports feature,
* FALSE otherwise.
*/
BOOL WINAPI IsProcessorFeaturePresent (
DWORD feature /* [in] Feature number, (PF_ constants from "winnt.h") */)
BOOL WINAPI IsProcessorFeaturePresent ( DWORD feature )
{
if (feature < PROCESSOR_FEATURE_MAX)
return SHARED_DATA->ProcessorFeatures[feature];
else
return FALSE;
return RtlIsProcessorFeaturePresent( feature );
}
/***********************************************************************

View file

@ -2230,6 +2230,14 @@ static NTSTATUS get_firmware_info(SYSTEM_FIRMWARE_TABLE_INFORMATION *sfti, ULONG
#endif
/***********************************************************************
* RtlIsProcessorFeaturePresent [NTDLL.@]
*/
BOOLEAN WINAPI RtlIsProcessorFeaturePresent( UINT feature )
{
return feature < PROCESSOR_FEATURE_MAX && user_shared_data->ProcessorFeatures[feature];
}
/******************************************************************************
* NtQuerySystemInformation [NTDLL.@]
* ZwQuerySystemInformation [NTDLL.@]

View file

@ -756,6 +756,7 @@
@ stub RtlIsGenericTableEmpty
# @ stub RtlIsGenericTableEmptyAvl
@ stdcall RtlIsNameLegalDOS8Dot3(ptr ptr ptr)
@ stdcall RtlIsProcessorFeaturePresent(long)
# @ stub RtlIsRangeAvailable
@ stdcall RtlIsTextUnicode(ptr long ptr)
# @ stub RtlIsThreadWithinLoaderCallout

View file

@ -2741,6 +2741,7 @@ NTSYSAPI BOOL WINAPI RtlIsCriticalSectionLocked(RTL_CRITICAL_SECTION *);
NTSYSAPI BOOL WINAPI RtlIsCriticalSectionLockedByThread(RTL_CRITICAL_SECTION *);
NTSYSAPI ULONG WINAPI RtlIsDosDeviceName_U(PCWSTR);
NTSYSAPI BOOLEAN WINAPI RtlIsNameLegalDOS8Dot3(const UNICODE_STRING*,POEM_STRING,PBOOLEAN);
NTSYSAPI BOOLEAN WINAPI RtlIsProcessorFeaturePresent(UINT);
NTSYSAPI BOOLEAN WINAPI RtlIsTextUnicode(LPCVOID,INT,INT *);
NTSYSAPI BOOLEAN WINAPI RtlIsValidHandle(const RTL_HANDLE_TABLE *, const RTL_HANDLE *);
NTSYSAPI BOOLEAN WINAPI RtlIsValidIndexHandle(const RTL_HANDLE_TABLE *, ULONG Index, RTL_HANDLE **);