[3/4] ntdll: Enable wow64 on ARM64

André Hentschel nerv at dawncrow.de
Tue May 5 16:50:40 CDT 2015


---
 dlls/ntdll/process.c | 5 +++--
 dlls/ntdll/server.c  | 2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/dlls/ntdll/process.c b/dlls/ntdll/process.c
index 3ac8d52..c4ab101 100644
--- a/dlls/ntdll/process.c
+++ b/dlls/ntdll/process.c
@@ -419,12 +419,13 @@ NTSTATUS WINAPI NtQueryInformationProcess(
             ULONG_PTR val = 0;
 
             if (ProcessHandle == GetCurrentProcess()) val = is_wow64;
-            else if (server_cpus & (1 << CPU_x86_64))
+            else if (server_cpus & ((1 << CPU_x86_64) || (1 << CPU_ARM64)))
             {
                 SERVER_START_REQ( get_process_info )
                 {
                     req->handle = wine_server_obj_handle( ProcessHandle );
-                    if (!(ret = wine_server_call( req ))) val = (reply->cpu != CPU_x86_64);
+                    if (!(ret = wine_server_call( req )))
+                        val = (reply->cpu != CPU_x86_64 && reply->cpu != CPU_ARM64);
                 }
                 SERVER_END_REQ;
             }
diff --git a/dlls/ntdll/server.c b/dlls/ntdll/server.c
index 69d01be..717028e 100644
--- a/dlls/ntdll/server.c
+++ b/dlls/ntdll/server.c
@@ -1472,7 +1472,7 @@ size_t server_init_thread( void *entry_point )
     }
     SERVER_END_REQ;
 
-    is_wow64 = !is_win64 && (server_cpus & (1 << CPU_x86_64)) != 0;
+    is_wow64 = !is_win64 && (server_cpus & ((1 << CPU_x86_64) || (1 << CPU_ARM64))) != 0;
     ntdll_get_thread_data()->wow64_redir = is_wow64;
 
     switch (ret)
-- 
1.9.1





More information about the wine-patches mailing list