Commit 911cdcda authored by Alexandre Julliard's avatar Alexandre Julliard

wow64: Forward NtWow64IsProcessorFeaturePresent() to the CPU backend.

parent 5a1d431b
...@@ -102,6 +102,7 @@ static WOW64INFO *wow64info; ...@@ -102,6 +102,7 @@ static WOW64INFO *wow64info;
/* cpu backend dll functions */ /* cpu backend dll functions */
static void * (WINAPI *pBTCpuGetBopCode)(void); static void * (WINAPI *pBTCpuGetBopCode)(void);
static NTSTATUS (WINAPI *pBTCpuGetContext)(HANDLE,HANDLE,void *,void *); static NTSTATUS (WINAPI *pBTCpuGetContext)(HANDLE,HANDLE,void *,void *);
static BOOLEAN (WINAPI *pBTCpuIsProcessorFeaturePresent)(UINT);
static void (WINAPI *pBTCpuProcessInit)(void); static void (WINAPI *pBTCpuProcessInit)(void);
static NTSTATUS (WINAPI *pBTCpuSetContext)(HANDLE,HANDLE,void *,void *); static NTSTATUS (WINAPI *pBTCpuSetContext)(HANDLE,HANDLE,void *,void *);
static void (WINAPI *pBTCpuThreadInit)(void); static void (WINAPI *pBTCpuThreadInit)(void);
...@@ -629,7 +630,7 @@ NTSTATUS WINAPI wow64_NtWow64IsProcessorFeaturePresent( UINT *args ) ...@@ -629,7 +630,7 @@ NTSTATUS WINAPI wow64_NtWow64IsProcessorFeaturePresent( UINT *args )
{ {
UINT feature = get_ulong( &args ); UINT feature = get_ulong( &args );
return RtlIsProcessorFeaturePresent( feature ); return pBTCpuIsProcessorFeaturePresent && pBTCpuIsProcessorFeaturePresent( feature );
} }
...@@ -835,6 +836,7 @@ static DWORD WINAPI process_init( RTL_RUN_ONCE *once, void *param, void **contex ...@@ -835,6 +836,7 @@ static DWORD WINAPI process_init( RTL_RUN_ONCE *once, void *param, void **contex
module = load_64bit_module( get_cpu_dll_name() ); module = load_64bit_module( get_cpu_dll_name() );
GET_PTR( BTCpuGetBopCode ); GET_PTR( BTCpuGetBopCode );
GET_PTR( BTCpuGetContext ); GET_PTR( BTCpuGetContext );
GET_PTR( BTCpuIsProcessorFeaturePresent );
GET_PTR( BTCpuProcessInit ); GET_PTR( BTCpuProcessInit );
GET_PTR( BTCpuThreadInit ); GET_PTR( BTCpuThreadInit );
GET_PTR( BTCpuResetToConsistentState ); GET_PTR( BTCpuResetToConsistentState );
......
...@@ -353,6 +353,16 @@ void * WINAPI __wine_get_unix_opcode(void) ...@@ -353,6 +353,16 @@ void * WINAPI __wine_get_unix_opcode(void)
/********************************************************************** /**********************************************************************
* BTCpuIsProcessorFeaturePresent (wow64cpu.@)
*/
BOOLEAN WINAPI BTCpuIsProcessorFeaturePresent( UINT feature )
{
/* assume CPU features are the same for 32- and 64-bit */
return RtlIsProcessorFeaturePresent( feature );
}
/**********************************************************************
* BTCpuGetContext (wow64cpu.@) * BTCpuGetContext (wow64cpu.@)
*/ */
NTSTATUS WINAPI BTCpuGetContext( HANDLE thread, HANDLE process, void *unknown, I386_CONTEXT *ctx ) NTSTATUS WINAPI BTCpuGetContext( HANDLE thread, HANDLE process, void *unknown, I386_CONTEXT *ctx )
......
@ stdcall BTCpuGetBopCode() @ stdcall BTCpuGetBopCode()
@ stdcall BTCpuGetContext(long long ptr ptr) @ stdcall BTCpuGetContext(long long ptr ptr)
@ stdcall BTCpuIsProcessorFeaturePresent(long)
@ stdcall BTCpuProcessInit() @ stdcall BTCpuProcessInit()
@ stdcall BTCpuResetToConsistentState(ptr) @ stdcall BTCpuResetToConsistentState(ptr)
@ stdcall BTCpuSetContext(long long ptr ptr) @ stdcall BTCpuSetContext(long long ptr ptr)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment