about summary refs log tree commit diff stats
path: root/wow64
diff options
context:
space:
mode:
authorYang Liu <liuyang22@iscas.ac.cn>2025-04-14 19:34:43 +0800
committerGitHub <noreply@github.com>2025-04-14 13:34:43 +0200
commit6b2373af93e033019dd1ddd5683f2d866e253d8c (patch)
treed8716018ee1c02a8b4e09e88456d1e2c425d3e40 /wow64
parentcf32412f986a5a9c281dda5dc24bf22641a305ed (diff)
downloadbox64-6b2373af93e033019dd1ddd5683f2d866e253d8c.tar.gz
box64-6b2373af93e033019dd1ddd5683f2d866e253d8c.zip
[WOW64] Added non-functional PE build (#2532)
Diffstat (limited to 'wow64')
-rw-r--r--wow64/CMakeLists.txt9
-rw-r--r--wow64/wowbox64.c22
2 files changed, 30 insertions, 1 deletions
diff --git a/wow64/CMakeLists.txt b/wow64/CMakeLists.txt
index a9c36eea..1af8ccb4 100644
--- a/wow64/CMakeLists.txt
+++ b/wow64/CMakeLists.txt
@@ -63,6 +63,7 @@ set(DYNAREC_PASS_SRC
     "${BOX64_ROOT}/src/dynarec/arm64/dynarec_arm64_f0.c"
     "${BOX64_ROOT}/src/dynarec/arm64/dynarec_arm64_f20f.c"
     "${BOX64_ROOT}/src/dynarec/arm64/dynarec_arm64_f30f.c"
+    "${BOX64_ROOT}/src/dynarec/arm64/dynarec_arm64_helper.c"
     "${BOX64_ROOT}/src/dynarec/dynarec_native_pass.c"
 )
 
@@ -120,9 +121,9 @@ set_target_properties(test_interpreter PROPERTIES COMPILE_DEFINITIONS "TEST_INTE
 
 set(BOX64CPU_SRC
     "${BOX64_ROOT}/src/custommem.c"
+    "${BOX64_ROOT}/src/dynarec/arm64/arm64_immenc.c"
     "${BOX64_ROOT}/src/dynarec/arm64/dynarec_arm64_arch.c"
     "${BOX64_ROOT}/src/dynarec/arm64/dynarec_arm64_functions.c"
-    "${BOX64_ROOT}/src/dynarec/arm64/dynarec_arm64_helper.c"
     "${BOX64_ROOT}/src/dynarec/arm64/dynarec_arm64_jmpnext.c"
     "${BOX64_ROOT}/src/dynarec/dynablock.c"
     "${BOX64_ROOT}/src/dynarec/dynarec_native_functions.c"
@@ -132,11 +133,17 @@ set(BOX64CPU_SRC
     "${BOX64_ROOT}/src/emu/x64emu.c"
     "${BOX64_ROOT}/src/emu/x64primop.c"
     "${BOX64_ROOT}/src/emu/x64shaext.c"
+    "${BOX64_ROOT}/src/emu/x64test.c"
     "${BOX64_ROOT}/src/emu/x64trace.c"
+    "${BOX64_ROOT}/src/emu/x64run_private.c"
     "${BOX64_ROOT}/src/emu/x87emu_private.c"
     "${BOX64_ROOT}/src/os/backtrace.c"
     "${BOX64_ROOT}/src/os/os_wine.c"
+    "${BOX64_ROOT}/src/os/freq_wine.c"
     "${BOX64_ROOT}/src/os/symbolfuncs_wine.c"
+    "${BOX64_ROOT}/src/os/emit_signal_wine.c"
+    "${BOX64_ROOT}/src/os/perfmap.c"
+    "${BOX64_ROOT}/src/os/my_cpuid_wine.c"
     "${BOX64_ROOT}/src/tools/alternate.c"
     "${BOX64_ROOT}/src/tools/rbtree.c"
 )
diff --git a/wow64/wowbox64.c b/wow64/wowbox64.c
index 0a37e41d..49e10baa 100644
--- a/wow64/wowbox64.c
+++ b/wow64/wowbox64.c
@@ -10,6 +10,11 @@
 
 uintptr_t box64_pagesize = 4096;
 
+uint32_t default_gs = 0x2b;
+uint32_t default_fs = 0;
+
+int box64_rdtsc = 0;
+uint8_t box64_rdtsc_shift = 0;
 int box64_is32bits = 0;
 int box64_wine = 0; // this is for the emulated x86 Wine.
 
@@ -19,6 +24,23 @@ box64env_t* GetCurEnvByAddr(uintptr_t addr) {
     return &box64env;
 }
 
+int is_addr_unaligned(uintptr_t addr)
+{
+    // FIXME
+    return 0;
+}
+
+typedef void (*wrapper_t)(x64emu_t* emu, uintptr_t fnc);
+int isSimpleWrapper(wrapper_t fun)
+{
+    return 0;
+}
+
+int isRetX87Wrapper(wrapper_t fun)
+{
+    return 0;
+}
+
 int arm64_asimd = 0;
 int arm64_aes = 0;
 int arm64_pmull = 0;