diff options
| author | Yang Liu <liuyang22@iscas.ac.cn> | 2025-04-14 19:34:43 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-04-14 13:34:43 +0200 |
| commit | 6b2373af93e033019dd1ddd5683f2d866e253d8c (patch) | |
| tree | d8716018ee1c02a8b4e09e88456d1e2c425d3e40 /wow64 | |
| parent | cf32412f986a5a9c281dda5dc24bf22641a305ed (diff) | |
| download | box64-6b2373af93e033019dd1ddd5683f2d866e253d8c.tar.gz box64-6b2373af93e033019dd1ddd5683f2d866e253d8c.zip | |
[WOW64] Added non-functional PE build (#2532)
Diffstat (limited to 'wow64')
| -rw-r--r-- | wow64/CMakeLists.txt | 9 | ||||
| -rw-r--r-- | wow64/wowbox64.c | 22 |
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; |