85 Commits
Author SHA1 Message Date
Yang Liu a46ad9dfe9 [RV64_DYNAREC] Reworked move immediate (#4591)
* [RV64_DYNAREC] Reworked move immediate

* Use -O2 for test37
2026-10-25 20:57:34 +01:00
airidosas252 9c5c904adf [CI] Add Box64EC build workflow (#4443) 2026-09-22 10:09:53 +08:00
ptitSeb 793848f551 [CI] Update LLVM used for wine stuffs 2026-09-15 17:12:01 +02:00
ptitSeb 951808acd1 [CI] Fixed NOBOX64 use for WOWBOX64 build and added doc in COMPILE.md 2026-08-27 11:27:37 +02:00
ptitSeb 5b352263af [CI] Use NOBOX64 for WOWBOX64 build 2026-08-27 11:06:03 +02:00
ptitSeb 0bc4d5b532 [CI] Hacking a way around termux-docker debloblification 2026-04-11 09:04:26 +02:00
Yang Liu 5534fc6191 [CI] Bumped llvm-mingw to 20260311 (#3700) 2026-03-23 09:12:11 +01:00
ptitSeb 7e1fc8924c [CI] Completly removed all trace of ARM64-GCC-8 build 2026-03-17 13:51:44 +01:00
ptitSeb a3b63db1ed [CI] Do not build GCC 8 anymore 2026-03-17 11:32:27 +01:00
Yang Liu cf74a99458 [CI] Added *.def to CI workflow dispatch path (#3662)
* [CI] Added *.def to CI workflow dispatch path

* Revert "[WOW64] Fixed build on my machine (#3660)"

This reverts commit 4a4a03cd2a.
2026-03-13 07:33:17 +01:00
Trung Lê 1c5d1f515c [PPC64LE] Add PPC64LE platform support (interpreter-only) (#3591)
Add PPC64LE (POWER9+, little-endian) as a recognized platform for
interpreter-only builds. No dynarec code is included yet.

Platform support:
- Build system: CMakeLists.txt cross-compiler setup, CPACK, CONFIG_64BIT
- CI: GitHub Actions matrix with qemu-ppc64le-static testing
- Host CPU feature detection (CRYPTO, DARN, ISA 3.1, MMA)
- Signal handling for PPC64LE (xSPSave/old_savedsp, context registers)
- O_LARGEFILE conversion (PPC64LE uses 0200000)
- Static build: -fno-stack-protector (glibc uses TLS-based canary via r13)
- __stack_chk_guard guard for PPC64LE static builds
- Wrapper generator PPC64LE support
2026-02-28 21:56:25 +08:00
Luke Short e5e9d5809e [CI] Add stale issues workflow (#3522) 2026-02-18 09:56:00 +01:00
Yang Liu 4fd547d7b1 [RCFILE] Revealed a secret (#3433) 2026-01-29 13:23:32 +01:00
Yang Liu 9efde7809c [CI] Removed os from the matrix (#3196) 2025-11-21 08:14:33 +01:00
xctan e8ed70905c [DYNAREC] Optimized scalar AES impl in DynaRec (#3041)
* [DYNAREC] Optimized scalar AES impl

* [RV64_DYNAREC] Optimized AES with RVV

* [CI] Bump RISC-V toolchains

* [RV64_DYNAREC] Switch to scalar impl when xtheadvector is present

* [RV64_DYNAREC] Try to disable rvv aes kernels

* [RV64_DYNAREC] Reverted assembly aes functions
2025-10-05 09:56:07 +02:00
ptitSeb 2c6816be8f Update release.yml
Another fix for TERMUX CI
2025-09-12 19:47:38 +02:00
ptitSeb 965e2c93eb Update release.yml
Fixed TERMUX env. setup
2025-09-12 18:46:15 +02:00
theofficialgmanandYang Liu 2de6058c6a [CI] Added ARM64-GCC-8 target (Ubuntu Bionic) (#2987)
* add ARM64-GCC-8 target

uses taiki-e/checkout-action@v1 instead of actions/checkout@v4 due to ubuntu bionic container not having new enough nodejs or glibc to run most github actions

does not build build Trace target due to ubuntu bionic not having the libzydis-dev package

adds cmake ppa for a newer cmake version that box64 requires

uses gcc-8 specifically (instead of bionic's default gcc-7) due to  historically better compatibility with box64 (and it has been used for years now by installation scripts and other ci such as https://github.com/Pi-Apps-Coders/box64-debs)

* comptibility for old glibc

* nodejs

* zstd

* exclude static build

---------

Co-authored-by: Yang Liu <[email protected]>
2025-09-03 08:10:28 +02:00
Yang Liu b31e522eb2 [CI] Speedup CI by skipping uncessary jobs when possible (#2993) 2025-09-01 15:17:42 +02:00
Yang Liu 031d3def2d [RV64_DYNAREC] Added scalar SSE 66 0F 3A 60/61/62 opcodes (#2963)
* [RV64_DYNAREC] Added scalar SSE 66 0F 3A 60/61/62 opcodes

* [CI] Bump timeout
2025-08-22 13:11:51 +02:00
Yang Liu 7b755bb6a2 [BOX32] Enable personality setting for RV64 and LA64 (#2841) 2025-07-22 14:37:20 +02:00
Yang Liu 1f5ce7ec18 [CI] Upgraded QEMU and loongarch64 toolchains (#2768) 2025-06-24 13:55:10 +02:00
Yang Liu ab5c42f0dc [TRACE] Added support for libzydis v4.x and removed the in-house zydis header (#2720)
* [TRACE] Exclude non-trace build from relying on in-house Zydis header

* [TRACE] Upgrade zydis to version 4.x

* [TRACE] Update docs

* [TRACE] Update CI

* [TRACE] No reason to drop 3.x support
2025-06-09 17:13:14 +02:00
Yang Liu 294178b598 [WOW64] The official file name is wowbox64.dll (#2709) 2025-06-05 09:52:42 +02:00
Yang Liu 8ebe32257e [CI] Upload libwowbox64.dll to CI artifacts (#2696)
* [CI] Upload libwowbox64.dll to CI artifacts

* [CI] Remove regular Box64 binaries from artifacts
2025-06-01 08:50:42 +02:00
Yang Liu b435966bd0 [CI] Check WOW64 build in the CI (#2623) 2025-05-12 09:41:18 +02:00
Yang Liu 42c241ee4e [CI] Enable cppThreads_32bits in the CI (#2496)
* [CI] Enable cppThreads_32bits in the CI

* switch to a specific termux mirror
2025-04-03 11:18:04 +02:00
ptitSeb a79128e951 [CI] Repeat test for all Box32 build instead of just ARM64 one 2025-03-13 11:21:43 +01:00
ptitSeb a17a97a545 [CI] Made ARM64 Box32 test to repeat a bit to avoid false negative 2025-03-13 10:27:11 +01:00
alexvorxx 4120dc10bd Fixed Box32 for Winlator Glibc (#2404)
* 1

* 2

* 3

* 4

* Fix

* 5

* 6

* 7

* 8

* revert 8

* 9
2025-02-26 17:47:42 +01:00
Yang Liu 94dedd47c6 [CI] Fixed xuantie-qemu build (#2306) 2025-02-01 16:04:15 +01:00
ptitSeb 9e0b300354 [CI] Fixed a typo 2025-01-20 16:49:14 +01:00
ptitSeb dde6d26236 [CI] Try to use gihub arm runner on linux arm build 2025-01-20 16:41:57 +01:00
Pablo Labs fd7d811b29 [CI] Create Box64 Packages for MiceWine (.rat) (#2256)
* [CI] Create Box64 Packages for MiceWine (.rat)

* Use Default Name on Generated .rat file
2025-01-12 08:33:56 +01:00
ptitSeb 26c9b3426f [CI] Bumped test timeout to 120 sec 2024-12-03 09:25:39 +01:00
Yang Liu 4f6a66f9c6 [CI] Generate and upload .wcp file for Winlator (#2045)
* [CI] Generate and upload .wcp file for Winlator

* patch box64

* test box64 before the patch

* opt out static build

* typos
2024-11-19 13:49:35 +01:00
Yang Liu 8398799e1c [CI] Added xtheadvector testing (#1894) 2024-10-02 17:50:47 +02:00
Yang Liu 4e63b82f5e [CI] Refactored CI (#1795)
* [CI] Enable Box32 tests on LA64

* upgrade QEMU

* [COSIM] Removed thread-safe tests

* Use regular cosim in CI

* [CI] Simplified "Test Box64"

* exclude certain tests when testing with cosim

* review

* box64.pod too
2024-09-05 11:07:27 +02:00
Yang Liu c1ad6b5829 [CI] Speedup CI by removing some unnecessary targets (#1790) 2024-09-04 09:59:27 +02:00
Yang Liu e23eb14809 [RV64_DYNAREC] Added xthead* extensions to the new printer (#1781) 2024-08-31 07:47:28 +02:00
Yang Liu 95b38b7f79 [CI] Added 60s timeout per test (#1777) 2024-08-30 13:24:15 +02:00
Yang Liu abbaf9b593 [BOX32][RV64_DYNAREC] Fixed more issues and enable CI for box32 (#1767)
* [BOX32][RV64_DYNAREC] Fixed more issues

* fix

* fix

* enable Ci for box32

* add some comments
2024-08-28 19:48:22 +02:00
b5105a1e57 Added preliminary Box32 support (#1760)
* Improve the ReserveHigMemory helper function

* [BOX32] Added some wrapping infrastructure

* [BOX32] More wrapped 32bits lib infrastructure

* [BOX32] Added callback and tls 32bits handling

* [BOX32] Added more 32bits, around wrappers and elfs

* [BOX32] Added the 32bits version of myalign

* [BOX32] More wrapped libs and 32bits fixes and imrpovments

* [BOX32] Added some 32bits tests

* [BOX32] Try to enable some Box32 build and test on the CI

* [BOX32] Disable Box32 testing on CI platform that use qemu

* [BOX32] Another attempt to disable Box32 testing on CI platform that use qemu

* [BOX32] Small fix for another attempt to disable Box32 testing on CI platform that use qemu

* [BOX32] Yet another fix for another attempt to disable Box32 testing on CI platform that use qemu

* [BOX32] Fixed a typo in CI script

* [BOX32] Better scratch alighnment and enabled more tests

* [BOX32] Added (partial) wrapped 32bits librt

* [BOX32] Added mention of Box32 in README

* [BOX32] Added phtread handling, and numerous fixes to 32bits handling. [ARM64_DYNAREC] Fixed access to segment with negative offset

* [BOX32] Added system libs and cpp testing, plus some more fixes

* [BOX32] Fix previous commit

* [BOX32] Better stack adjustment for 32bits processes

* [BOX32] Added getenv wrapped 32bits function and friends

* [BOX32] Don't look for box86 for a Box32 build

* [BOX32] Don't do 32bits cppThreads test for now on CI

* [BOX32] Enabled a few more 32bits tests

* [BOX32] For ld_lib_path for both CppThreads tests

* [BOX32] [ANDROID] Some Fixes for Android Build

* [BOX32] Still need to disable cppThread_32bits test on CI for some reason

* [BOX32] [ANDROID] Don't show PreInit Array Warning (#1751)

* [BOX32] [ANDROID] One More Fix for Android Build That I forgotten to … (#1752)

* [BOX32] [ANDROID] One More Fix for Android Build That I forgotten to push before

* [BOX32] [ANDROID] Try to Create __libc_init

* [BOX32] [ANDROID] Try to disable NEEDED_LIBS for now (libdl is not wrapped)

* [BOX32] Updated generated files

* [BOX32] Added 32bits context functions

* [BOX32] Added 32bits signal handling

* [BOX32] Added some missing 32bits elfloader functions

* [BOX32] Fix build on x86_64 machine

* [BOX32] Better fix for x86_64 build

* [BOX32] Actually added missing libs, and re-enabled cppThreads_32bits test

* [BOX32] Added wrapped 32bits libdl

* [BOX32] Try to re-enabled Box32 test on CI for ARM64 builds

* [BOX32] fine-tuning Box32 test on CI for ARM64 builds

* [BOX32] More fine-tuning to Box32 test on CI for ARM64 builds

* [BOX32] Enabled Box32 test on CI for LA64 and RV64 builds too

* [BOX32] re-Disabled Box32 test on CI for LA64 and RV64 builds, not working for now

* [BOX32] Temporarily disabled cppThreads_32bits test on CI

---------

Co-authored-by: KreitinnSoftware <[email protected]>
Co-authored-by: KreitinnSoftware <[email protected]>
2024-08-26 17:45:13 +02:00
Yang Liu 4407a17551 [RV64_DYNAREC] Fixed fpu_flags handling and enabled cosim in CI (#1722)
* [RV64_DYNAREC] Fixed fpu_flags handling

* repeat until-pass
2024-08-09 13:31:58 +02:00
Yang Liu 9c1b015689 [RV64_DYNAREC] Fixed vector infra (#1705) 2024-07-22 21:45:54 +02:00
ptitSeb d10a078473 [STATICBUILD] removed Android staticbuild 2024-07-10 16:37:46 +02:00
ptitSeb f7d9dd4824 [STATICBUILD] Try to fix staticbuild and add it to the CI (for #1377) 2024-07-10 12:15:27 +02:00
Yang Liu eb695d5553 [RV64_DYNAREC] Added preliminary RVV infra and PXOR opcode for demonstration (#1632)
* [RV64_DYNAREC] Added preliminary RVV infra and PXOR opcode for demonstration

* keep sse_cache_s uint8_t as suggested

* use xor to do the wrap

* revert

* better fallback
2024-07-04 12:39:05 +02:00
Yang Liu 86e9a38384 [COSIM] Added thread-safe tests (#1477)
* [COSIM] Added thread-safe tests

* Added more notest

* Run cosim in CI

* Disable tests for RISC-V for now

* Simplify

* Initialize notest
2024-04-30 16:36:48 +02:00
Yang Liu ae386b3a7d [LA64_DYNAREC] Added more opcodes (#1473)
* Added 66 0F PSHUFB opcode

* Added 66 0F PHADDW opcode

* Added 66 0F 38 02 PHADDD opcode

* Added 66 0F 38 03 PHADDSW opcode

* Added 66 0F 38 04 PMADDUBSW opcode

* Added 66 0F 38 05..0A opcodes

* Upgrade QEMU
2024-04-27 18:33:58 +02:00