Skip to content

Tags: FEX-Emu/FEX

Tags

FEX-2605

Toggle FEX-2605's commit message

Verified

This commit was signed with the committer’s verified signature.
Sonicadvance1 Ryan Houdek
Docs: Update for release FEX-2605

FEX-2604

Toggle FEX-2604's commit message
FEX Release FEX-2604

- Allocators
  - Remove legacy NOREPLACE handling (b77ddcf)

- Arm64EC
  - Invert suspend doorbell and move out of hot path (0695249)

- Arm64Emitter
  - Disable 32-bit constant optimization when NOP-padding is requested (de11c05)

- CPUBackend
  - Enable Transparent Huge Pages on JIT buffers (afc7248)

- CPUID
  - Add basic stub handling for AVX10 info (6bd476f)

- Cmake
  - Default to release builds with a message (194eb69)

- CodeCache
  - Fix glibc debug mode assertion (bc533c8)
  - Support ELF relocations (8360105)

- Config
  - Finish wiring up Regex app overrides  (c6d2ce0)
  - Fix issue with config overrides (5c1300a)
  - Enable Dynamic L1 and Disabled L2 caches by default (957c1fc)
  - Fixes (d21351e)

- FEX
  - Workaround Docker seccomp bug (ce65f53)
  - Disable THP on key allocations that consume memory (53702f9)

- FEXCore
  - Use WritePriorityMutex for Code Invalidation Mutex  (51144c9)
  - Update CPU frequency to be 64-bit (f894cd9)

- FEXGetConfig
  - Test for showing fault granularity (34b48c4)

- FEXRootFSFetcher
  - clear Unknown when distro is set on the CLI (b478e48)
  - Improve hashing performance (dc48a4f)

- FEXServer
  - Try both fusermount and fusermount3 (56de0d1)

- FEXpidof
  - Fixes another missing std::filesystem throw (c18fb3c)

- HostFeatures
  - Group feature ifdefs together more (5558c3a)
  - Drop in feature testing for FEAT_MOPS (a17d7ce)

- IR
  - Adds support for printing strings (ae3fa6a)

- JIT
  - Reset relocations on restart (6a6a823)
  - Use struct for Spill/Fill default arguments (2467596)

- Linux

  - GuestFrames
    - Ensure MXCSR is saved and restored on signal  (5b4a596)

- LinuxSyscalls
  - Skip reading ELF files when code caching is disabled (3ef6775)
  - Don't try to parse relocations unless ELF parsing succeeded (6da963a)
  - Re-open file descriptors for parsing ELF headers (65a436c)

- MemoryOps
  - Collapse duplicate add/sub in Memset (8c72aa7)
  - Drop MOPS handling into place for MemSet/MemCpy (68480f6)

- OpcodeDispatcher
  - Fixes nop encoded prefetch instruction (251398a)
  - Special case optimize a broadcast  (73ffff7)
  - Fixes memory leak in IREmitter pool allocator (e27d12e)

- SMCTracking
  - Remove relocation log (5149ebc)
  - Move read check up for ELF parsing (9f9b20e)

- Syscalls
  - Fixes crash in ELF parsing code (cc02edb)

- Tests

  - ASM
    - Add FISTTP unit tests for 16, 32, 64-bit as well as negatives (494dd64)

- Win32
  - Enable support for virtual naming and THP control  (5c34c57)

- Misc
  - JIT-inline F64SIN, F64COS, and F64TAN for reduced precision x87 path (4229154)
  - Fix most GCC build issues (73c1f4c)
  - Add test for shifts preserving flags (f3e9042)
  - code-format-helper: Another dependabot upgrade (e4ae6ce)
  - External/code-format-helper: Update dependencies (6177ab9)
  - Handle zero length in ChangeProtectionFlags (9d4a71b)
  - gitlab-ci: Update requirements (58d9755)

- github
  - Stop running unittests always on build failure (5c4c468)

FEX-2603

Toggle FEX-2603's commit message
FEX Release FEX-2603

- AVX128
  - Convert vzeroupper/vzeroall zeroing to dc zva (f5b08bb)

- CI
  - Checkout with tags and non-shallow (9275f09)
  - Update containers to inherit DEBIAN_FRONTEND (9e35254)
  - Clean up syntax assertions and remove redundant log-name parameter (5dce162)
  - Move MinGW triple set to a single step (1c465b5)
  - Deduplicate common build/rootFS setup steps (06f4ca6)
  - Deduplicate VIXL_SIM_ENABLED steps (8cedccc)
  - Move noisy build targets generation to a separate step (08a7498)
  - Update actions deps (2531d33)
  - Use a composite action for Wine DLL builds (d66cb54)
  - Refactor tests to use a composite action (87de3ec)
  - Remove redundant build mkdir and `--config` (7f13185)
  - Remove redundant runner.workspace and working-directory directives (c39eef1)
  - Remove unnecessary upload steps (6b9590a)
  - Namespace uploaded artifacts by runner label (6e11a46)
  - Merge InstCountCI Diff steps into one (4428dbf)
  - Don't specify `shell: bash` every time (b91dc75)
  - fix pr-code-format (14667c1)
  - Update tunables for artifact builds (a0d3aed)

- CMake
  - Use a single install(FILES) command for SteamRT (6d23625)
  - Also search for `include-what-you-use` if IWYU is enabled (2a574e8)
  - Split version/commit identifier to two lines (da766dd)
  - Print FEX version strings found (43a14c9)
  - Avoid global include_directories in favor of propagation (55a2688)
  - Avoid add_definitions in favor of newer add_compile_definitions (0ff9277)
  - Allow unordered_dense to be used as a system package (34c426a)
  - Use a Find module for Zydis/Zycore (cf61d73)

- CPUID
  - Add option for hiding hybrid Big.Little CPUs (217d039)
  - Adds AmpereOneC identifier (6438a83)

- CodeCache
  - Fix validation of large binaries (8dfdfdf)
  - Avoid unnecessary copying of CodeBuffer contents (df3d236)

- Config
  - Remove unused function from the old code cache skeleton implementation (5849001)
  - Fixes bad vector to string cast (93eee39)
  - Properly follow XDG directory specifications (504d1e3)

- Core
  - Use long commit hash instead of abbreviating (6027247)

- CoreState
  - Add some more alignment checks (97bc2c5)

- ELFCodeLoader
  - Fixes accidental vector copy (6f7f086)

- External

  - rpmalloc
    - Update for named VMA regions (871fc0a)
    - Fix rpmalloc on mingw (e9fd300)

  - vixl
    - Use the right commit hash (366e760)
    - Rebase on upstream (6536ccf)

- FEX
  - Ensure VDSO and Stack are pushed as high in the VA space as possible (b6b64c6)
  - Move SBRK handling to the frontend (d7d870c)

- FEXCore
  - Fixes VEX float compare operations (27dea3b)
  - Default to a larger CodeBuffer size when code caching is enabled (ca2bdbc)
  - Disable 48-bit VA optimization (aabdded)
  - Early exit for invalid VEX.vvvv on 32-bit (fda4d38)
  - Move two functions to the frontend (a5ceb2a)
  - Fix initial PF flag value (778a286)
  - use ankerl::unordered_dense over tsl (78fd9b4)

  - Allocator
    - Disable additional VMA name attempts on failure (45376f0)
    - Slightly more verbose logs (d62038e)

- FEXInterpreter
  - Override glibc set program invocation name (7b2b639)
  - Removes three static objects (b324cfb)

- FEXLinuxTests
  - Adds execveat with mfd_cloexec test and related fixes. (e3dcb4b)

- JIT
  - Ensure code cache consistency by zero-initializing padding bytes (3247195)
  - Support avoiding spilling CPU flags (c0724d9)

- LibraryForwarding
  - Redo Vulkan definitions update (50ff4cc)

- Linux
  - Work around binfmt_misc bug (bd72eb5)
  - Ensure seccomp inheritence occurs unconditionally (710ab4a)
  - Moves DRM LRU FD cache to be per-thread (1b18f85)
  - Updates minimum altstack requirements (15a6ba7)
  - Fixes personality inheritence (251a3ba)

  - x32
    - Fixes sign extension in ftruncate (08a1bc8)
    - Only copy rusage on success (70a8bea)

- Scripts
  - Add support for Ampere tuning (537d159)
  - Cleanups and POSIX compliance (687b66d)

- SignalDelegator
  - Make sure to store XSTATE_MAGIC2 (bcf5345)

- Softfloat
  - Remove weird tail padding from X80SoftFloat (f295212)

- Steam
  - Update VERSIONS.txt requirements (c0ec3d9)
  - Install a VERSIONS.txt file (011fe6a)

  - Toolmanifest
    - Update commandline tool (9e93473)

- ThreadManager
  - Name CallRet stacks (fb7681d)

- VDSOEmulation
  - Adds some checks for corrupt guest VDSO ELF (8c536e4)

- X87Tables
  - Handle aliases for FSTP (3c4de59)
  - Handle aliases for FXCH (1cec200)
  - Add handling for FCOMP DE D0 aliases (4c49036)

- Misc
  - Fix mingw builds with LLVM 22. (4968dc4)
  - Fix building under clang-22 (3c517f5)
  - Add vcmp**_full tests (5ee1838)
  - Remove unused X11 libraries (4618ca7)
  - json_ir_generator: Generate docstring for IR op emitters (f75ea6e)
  - Fix InstallFEX.py not running FEXRootFSFetcher correctly (73822b9)
  - Revert "CodeCache: Use defaulted dtor for ExecutableFileInfo" (49a37c7)
  - Inline softfloat i16/i32/f32/f64 to extF80 conversions in dispatcher (36ec090)
  - Fixes remaining quirks of the ARPL implementation (1387aec)
  - code-format-helper: Update minimum for dependabot again (1cade38)
  - Switch over to rpmalloc instead of jemalloc (57504f2)
  - Fix Buffer Overflow in LoadFileImpl (1ed3b22)
  - Enable automatic code formatting for X86Tables.h (cc54724)
  - Add Zydis x86/x86-64 disassembler support (28c486d)
  - gitlab-ci: Adds steamrt4 runner (4c7b9fd)
  - code-format-helper: Update requirements (1d411df)
  - Accurate stack mapping, fixes #5149 (4c50a92)

- gitignore
  - ignore CMakeLists.txt.user (b2c1ad7)

- unittests

  - ASM
    - Adds unittests for undocumented x87 instruction encodings (6edde86)
    - Fix accidentally deleted file (3398684)
    - Removes superfluous warnings from nasm (548dfdc)

  - FEXLinuxTests
    - Ensures that signals are in expected order (030d332)

- x87
  - Implement FCOM/FCOMP st(i) decoding fixes (8230b5f)

FEX-2601

Toggle FEX-2601's commit message
FEX Release FEX-2601

- ARM64Emitter
  - Force NOP padding to be enabled (9e8915e)

- Arm64Emitter
  - Initial work for LoadConstant padding audit (d582356)

- BranchOps
  - Use RIP relocs for direct branch targets (c57df73)

- CMake
  - Move CMakeModules to Data/CMake (651ef64)
  - Fix mingw if host has libxxhash-dev installed (900c179)
  - Support overriding version/hash via CMake args (19d3450)

- CodeCache
  - Fix misparenthesized expression in SaveData() (9101e70)
  - Rebase block entrypoint info (5747d1c)
  - Make LoadData Thread argument an optional pointer  (bc069f2)
  - Implement automatic cache generation (eb425fe)
  - Implement runtime cache validation (93f6a8c)
  - Trigger delayed cache loading for the main executables and its interpreter (71c8436)
  - Implement cache loading (ec67670)

- Common
  - Use LOCALAPPDATA for GetCacheDirectory on WOW64/ARM64EC (499970d)

- Config
  - Remove stdout from OutputLog (e1c6a91)

- Dispatcher
  - Silence warning on ARM64EC (9a12868)

- FEXCore
  - Cleanup pointers structure  (b29a78c)
  - Fixes circular dependency with thunk callback (5627ddf)
  - Switch constant emission to default to `NoPad` (2b4492c)
  - Revert literal optimization from #4884 (da46d51)

- FEXOfflineCompiler
  - Implement SyscallHandler::LookupExecutableFileSection (5ca549e)

- FEXServer
  - Add protocol interface to request code cache population (805a4c1)

- Frontend
  - Only decode REX if it is at the correct location (c8d72ea)
  - Also fetch relocations and section bounds when validating (0a18ea8)

- ImageTracker
  - Load AOT images (a3779be)
  - Load PE relocations when generating code caches (b87bb1d)
  - Support codemap file generation (c54dfd9)
  - Track loaded PE images for LookupExecutableFileSection (212a3f4)

- Interpreter
  - Moves around the thread and ELF initialization code (ed1d495)

- JIT
  - Fixes typo (c4258be)

- LinuxSyscalls

  - x32
    - Fixes fcntl assert (6c06f47)

- LookupCache
  - Fix mistake in nested CacheBlockMapping call (a957f1f)

- OpcodeDispatcher
  - Explicitly calculate flags after _TelemetrySetValue (281981e)

- Relocations
  - Disable 6-byte size optimization in `InsertGuestRIPMove` (c7eb4c8)
  - Switch to robin_map to improve lookup perf (4889596)

- SHMStats
  - Avoid ISB usage when stats are disabled (6a49b8c)

- Scripts
  - Have InstallFEX check kernel version (b407688)

- Steam
  - Don't let the FEXServer inherit FEXServerManager's original stdout (53925dc)

- Syscalls
  - Fix DEBUG_STRACE printing (e859109)

- Thunks

  - Vulkan
    - Update for v1.4.337  (668e027)

- Tools

  - pidof
    - Fixes FEXpidof after #5097 (7e4e017)

- VDSO
  - Forgot to remove a if check (144c4bf)

- WOW64
  - Lock the JIT context and block suspend during context operations (a25d90d)

- WinAPI
  - Implement Sleep (37b0e9e)

- Windows
  - Improve handling of RWX memory (d592e2a)
  - Invalidate code in freed memory after the free syscall (cb7de45)
  - Fix RtlWaitOnAddress signature (f098b41)
  - Implement _[w]sopen file APIs (f819999)
  - Introduce ImageTracker for tracking per-loaded-image data  (dc764db)
  - Switch GetSection/ExecutableFilePath to returning full paths (956f97e)
  - Split out CRT/WinAPI reimplementation (ebdbf58)

- WritePriorityMutex
  - Add some more documentation (9fa8148)
  - Fix rare case of dropped read waiter wakes (ce9824a)

- Misc
  - [cmake] explicit platform and bit-width checks (dbd802c)
  - [cmake] more parenthesis cleanups, linker gc module, more same-line stuff (1f6b3d5)
  - [cmake] refactor: compiler and architecture handling (51f6722)
  - [cmake] better option descriptions + more consistent language (9c0c969)
  - `Constant` audit (fd2ee4e)
  - `_Constant` audit (851fbae)
  - First round of `LoadConstant` auditing (5bbbe4d)
  - [cmake] Use a Find module for xxhash (5a47565)
  - [cmake] do not use uppercase command names (f24f88e)
  - [cmake] reduce usage of trivial variables (0edf961)
  - [cmake] prefer end parenthesis on same line, no space after some calls (b41b967)
  - [cmake] FEXCore: further reduce library redundancy (f153d86)
  - [cmake] propagate `-ISource` to all Tools (bd8f6f1)
  - [cmake] use `MINGW` builtin rather than custom detection (7cdef04)
  - Some minor NFC (974ba78)
  - Guest relocation support (fef1993)
  - Various trivial fixes for #5106 (296988b)
  - code-format-helper: Update urllib3 dependency (2e2563a)

- github

  - steamrt4
    - Additional comments (bf9ab7f)

- unittests

  - ASM
    - Adds test for flags clobber in `TelemetrySetValue` (eb27576)
    - Test 32-bit displacement encoding (d197300)

  - FEXLinuxTests
    - Fix gcc build (fedebf4)
    - Force clang building for tests (62383a1)

FEX-2512

Toggle FEX-2512's commit message
FEX Release FEX-2512

- Async
  - Adapt precondition checks when receiving FDs (3b83bdd)
  - Move file descriptor checks from read_some() to read()  (da0668c)

- CMake
  - Disable libstdc++'s debug mode when compiling thunkgen (53db3ad)

- CPUID
  - Fixes regression from #5033 (a27c4b3)
  - Fixes APICID for processor count calculation.  (0427d48)

- CodeCache
  - Implement offline compiler for cache generation (d0e47f9)
  - Introduce code maps (32f1dcd)

- CodeEmitter
  - Removes a few spurious asserts (de1d37e)

- Config
  - Document the new `FEX_APP_CACHE_LOCATION` option (a251e61)
  - Refactor value getter interface (9e9f2cc)

- Docs
  - fix typo (73a32ff)

- Externals
  - Update catch2 from 3.5.3 to 3.11.0 (f4e3e4a)
  - Update fmt to 12.1.0 (2febb52)

- FEX
  - Moves FEX thunk callback function generation to the frontend  (aaef344)
  - Implements support for JIT CodeBuffer guard page restart  (b383691)

  - VDSO
    - Fixes symbol lookup (e0305ea)

- FEXConfig
  - Fix string list handling (fbefd78)

- FEXCore
  - Fixes JITGuardPage calculation in a threaded environment (faf74ee)
  - Remove usage of "remote atomic" xor (3c9f6c8)

  - CodeCache
    - Move spin-loop over to a WFE loop (e2f4065)

  - Common
    - Adds the ability to override HostFeatures registers by config. (06c2319)

  - Config
    - Expose GetConv members (5ee190a)

  - Win32
    - Move WritePriorityMutex away from SRWLock  (22c3cd5)

- FEXInterpreter
  - Fixes crash with code maps (379dc40)

- FEXServer
  - Add support for a `wait_fd` (d74b5c4)

- Github
  - Add a steamrt4 builder (427b235)

- HostFeatures
  - Extend LRCPC2 errata to more CPUs (92d5ba5)
  - Disable SupportsTSOImm9 for some CPUs (57e23b2)

- IR
  - Replace hand-written operators with three-way comparison (f290d2f)

- JIT
  - Add support for serializing relocations (6af9057)
  - Prepare FEX relocations for code caching (e4fa399)
  - Fix indirect delinker branch distance (8214ffc)
  - Handle long ADR/ADRP (5d908d9)

- Linux
  - Disable io_uring (3dd591e)

- LinuxSyscalls
  - Fix null pointer dereference in LookupExecutableFileSection (b34df33)
  - Fixes alloca use-after-free in `RecvMMsg` (4afbdd9)
  - Fix incorrectly inferred base address observed in glxtest (0b52e1c)

- LookupCache
  - Fix use of invalidated iterators (3969d0a)

- OpcodeDispatcher
  - Simplify convoluted logic for computing call offsets (39fb266)

- SVE256
  - Fixes AVX scalar round with insert  (8bb3398)

- Scripts
  - Clean-up  (3a014f8)

  - InstallFEX
    - Fixes two issues (6004971)

- SteamRT4
  - Adds support for building the steam depot (bd7215d)

- SyscallsSMCTracking
  - Workaround assert in ELF mapping (bd13c02)

- Utils

  - WritePriorityMutex
    - Support being forkable (a12b892)

- Misc
  - Remap /proc/pid/cmdline with PR_SET_MM_MAP (c460cf0)
  - Set current code block in x87 pass (90c8fcf)
  - Reflect application changes to argv[0] in /proc/self/cmdline (9c72113)
  - Support detecting unsquashfs>4.7.0 decompressors (6fd471e)
  - Minor fixes (3d69029)
  - Support (downstream) kernel-side unaligned atomic handling (The rebase sequel) (d3bf87f)
  - Implement address size modifier handling in CMPSOp and SCASOp (5205ae4)
  - Introduce two-pass code invalidation model (40c2db4)
  - Fix movzx instruction syntax (aba0c57)
  - Refactoring of storing code in x87 opt. stack pass (cf37617)
  - Align code with clang-format (0be8485)
  - Use gradual memory growth (1e3c642)
  - Update xxhash to v0.8.3 (747ea0a)

- docs
  - Update ProgrammingConcerns (53b2245)

FEX-2511

Toggle FEX-2511's commit message
FEX Release FEX-2511

- ARM64EC
  - Emulate unaligned atomic access in non-JIT EC code  (cbb9017)

- ArchHelpers
  - Adds ESR name helper (bbc2b0b)

- Arm64
  - Fix XZR register handling in ARM64EC unaligned STLXR emulation (908313e)

- BPFEmitter
  - Minor cleanup (d2e2e18)

- Config
  - Prevent duplicate lookup in EnvLoader::Load()  (764432c)

- Core
  - Add missing std::move in AddForceTSOInformation() (3247e77)

- ELFParser
  - Avoid unnecessary copies (5024526)

- FEX
  - Update CPUID and detect script for newer qemu (b3c2ff4)
  - Disable trace profiler by default (edde5c8)
  - Name remaining allocations as "Misc" (4080dca)

- FEXConfig
  - Fix crash caused by no longer recognized option (fbac6f8)

- FEXCore
  - Have non-repeat strings operations listen to non-tso config (46d019f)
  - Adds some more per-thread stats. (0cf105b)
  - Remove ABILocalFlags hack (d716e22)
  - Remove Paranoid TSO mode. (3c554cd)
  - Adds option to disable L2 cache lookups (ed5774b)
  - Remove the last recursive_mutex (4731dba)
  - Remove InlineSyscall (8f572de)

  - Allocator
    - Fixes two bugs (fd33cf1)
    - Fixes FlexBitSet (1e7f54d)

  - CoreState
    - Removes some unused pointers (62e5ee2)

  - JIT
    - Add support for recovering from branch encoding failures (3ccdf65)

  - fexl
    - Support a named monotonic_buffer_resource  (f8ff46f)

- FEXpidof
  - Fixes potential crash (87e8a9b)

- FileManagement
  - Minor string churn avoiding (48a5167)

- Frontend
  - Detect partial decoded instructions (ed1952a)

- HostFeatures
  - Enable AVX for 32-bit by default (31d4b4a)

- InstallFEX
  - Add support for 25.10 (a2ea767)

- IoctlEmulation
  - Update to v6.17  (e11349b)

- JIT
  - Restore behaviour of emitting interrupt checks at every block entry (199effd)

- JSONPool
  - Make allocator funcs internally linked (678985c)

- LinuxSyscalls
  - Fix base address inference for ELF binaries (197facb)

  - Threads
    - Fixes typo in long jump handler (d56f689)

- LookupCache
  - Convert mutex to new WritePriorityMutex  (438501e)
  - Fixes assert (36ae4ce)
  - Adds an option to dynamically scale L1 cache  (96f2077)

- OpcodeDispatcher
  - Fix #4982 (fbb428c)
  - Move FEX reserved instruction (39e8f51)
  - Amend wonky bitwise AND usage in LoadMemPairAutoTSO/_StoreMemPairAutoTSO (b7df102)

- Profiler
  - Fix missing include (bd7edd8)

- SHMStats
  - Add a 16-byte alignment guarantee (eda8ca5)

- SignalDelegator
  - Remove bool for deferring signals (4cbba94)

- SyscallHandler
  - Avoid self-referencing global (0333102)

- SyscallsVMATracking
  - Make list management internally linked (c22fb80)

- Thunks
  - Fixes symbol conflict between GL and Vulkan (326cde7)

- Wow64
  - Disable AVX (c5b1cd6)

- Misc
  - f80 stack xchg optimization for fast path (93e58bc)
  - Remove InterpretAsFloat from x87StackOptimizationPass (1f2d702)
  - Switch back to jemalloc to fix regression in muvm-based setups (7610243)
  - Switch over to rpmalloc instead of jemalloc.  (e1a45a2)
  - SpinWaitLock, etc: Make use of std::atomic_ref over reinterpret_cast (9c5ccb1)
  - Removes some hardcoded 4096 constants (35dd897)
  - (f4eaab6)
  - Revert quiet/signaling nan detection (69f5aa8)
  - (2a57428)
  - Add F_ADD_SEALS and F_GET_SEALS support to 32-bit fcntl (072e7bd)
  - (972aaf9)

- pidof
  - Fixes another unexpected throw location (cbe2b44)

- unitests

  - ASM
    - Fix typo in 09_XX_07.asm (e0c1767)

- unittests

  - ThunkLibs
    - Fix build with LLVM 21 (81a474f)

- wow64

  - arm64ec
    - Call GetTLS less frequently (9e5f226)

FEX-2510

Toggle FEX-2510's commit message
FEX Release FEX-2510

- Addressing
  - Shave 8 bytes off AddressMode (9626a64)

- Allocator
  - Name FEX's VMA regions for allocation (5f8cb0d)

- Arm64Emitter
  - Cull unnecessary includes (88e90a6)

- Build
  - Update toolchain for WoA builds (b0b60fb)

- CMake
  - Update our python minspec to 3.10 (13199ad)
  - Remove CPack, completely unused (ffb1cf4)
  - Merge BUILD_TESTS into BUILD_TESTING (8c1e9ed)
  - Enable runtime-only installation (58c86d1)

- CPUID
  - Adds new CPU product names that exist (30dd9ed)

- CodeCache
  - Introduce new interfaces (6171911)

- Common

  - StringConv
    - std::stoull -> std::strtoull for enum handler (75206c7)

- Core
  - Drop support for TSO auto migration (b9ec942)

- Dispatcher
  - Fix FABI_F32_I16_F80_PTR argument size (dcb8897)

- Docs
  - Fix wrong link in `Readme_CN.md` (4e92607)

- EnumUtils
  - Remove fmt include (bd5188e)
  - Further simplify enum passthrough formatting (802f3be)
  - Add define for default passthrough formatting (b5d93bc)

- FEX
  - Fixes SIGILL reporting (6de5fb2)
  - Rebrand FEXInterpreter as FEX (c9fc347)

- FEXBash
  - Remove ArgLoader usage (7bd0789)

- FEXCore
  - Implement support for AVX gathers with overflow  (74b09d5)
  - Fixes OOB access on x87 reduced precision loads (5f0a1d5)

- FEXInterpreter
  - Remove FEXLoader (be84a43)

- FEXLinuxTests
  - Adds a small sleep for consistency (376d6ba)

- FEXLoader
  - Move to FEXInterpreter (964165e)

- FEXRootFSFetcher
  - Removes argloader usage (c0ef0a7)

- FEXServer
  - Remove usage of ArgLoader (eb9fb9e)

- Frontend
  - Improve DecodeInst size from 128 bytes to 80  (bdbeef3)

- General
  - Migrate to std::bit_cast (9db9be9)

- IR
  - Remove Swap1/Swap2 ops (06ff0a4)
  - Move RegisterAllocationPass forward decl to JITClass (38a8559)
  - Convert RegisterClassType to an enum class (8689803)
  - Remove TypeDefinition struct (d41b21a)
  - Convert MemOffsetType to enum class (a5d3bf0)
  - Convert rounding modes to enum class (96145e8)
  - Convert CondClassType over to enum class (c64d6f2)
  - Remove unnecessary friend class declarations from OrderedNode (034a27c)

- IREmitter
  - Add register class helpers (c35b81d)
  - Remove friend class declarations (aa3df39)

- Interface

  - Context
    - Remove unnecessary headers/forward declarations (997d041)

- IoctlEmulation
  - Finish v4l2 implementation (8f47b46)

- JIT
  - Check for suspend interrupts at back-edges  (91c6d69)

- JITClass
  - Mark functions as static where applicable (d9520c9)

- Linux
  - Implement support for extended volatile metadata  (18d0dec)

- OpcodeDispatcher
  - Remove unimplemented function prototypes (2017100)
  - Default alignment parameters for store helpers (a2b0d59)
  - Move off implicit _Select (c948d53)
  - Implement support for imm variants of SSE4a extrq/insertq (a9fffe7)
  - Fixes telemetry on legacy segment read (533dd1a)
  - Fixes fxsave x87 register storing  (892e44a)
  - Removes a log about unknown segments (2d53a9b)
  - Fix misaligned clang-format (ef7b2a9)
  - Only flush MMX registers on MMX -> x87 transitions (3c6eba5)
  - Don't assert on invalid ALU op encoding (0d77af5)

- PrctlUtils
  - Move to include folder (3cc0cae)

- RedundantFlagCalculationElimination
  - Eliminate unnecessary vector copy (3825483)

- SignalDelegator
  - Correctly save and restore x87 state.  (3058a82)

- StringConv
  - Merge integral-handling facilities together (c17b9de)
  - Fix std::enable_if usage (5858c50)

- SysCalls
  - Remove unimplemented prototypes (9c606a2)

- SyscallHandler
  - Shrink definition struct from 24 to 16 bytes (3b88947)

- TestHarnessRunner
  - Don't attempt to build on MinGW (cbd8217)
  - Removes ArgumentLoader (226233d)

- ThreadManager
  - Make StatAlloc instance private (f05be01)
  - Fix mmap usage to not take guest space (a94059a)

- WOW64
  - Fix CsSeg initialization (a3435f2)

- Windows
  - Avoid redeclaring strtoll as unimplemented (05eeffe)

- Wow64
  - Ensure extended volatile metadata is removed (7520461)

- X86Tables
  - Remove unused LateInitCopyTable() (bfda91a)

- X87
  - Better cache intermediate results in the X87 slowpath (4a9170e)

- Misc
  - json_ir_generator: Minor cleanup (7c2c0f7)
  - Implement remaining SSE4a instructions (85937a7)
  - (c4d0199)
  - (e4a4a52)
  - Change required Python version from 3.10 to 3.9 (6ecec77)
  - Update fmt to 12.0.0 (0c5ef1c)
  - Fix quiet and signalling nan propagation (e5680e0)
  - Remove unused IsZero; NFC (4593099)
  - Support configuration-specific known failures in asm_tests (b3d88c0)
  - VDSO_Emulation: Remove duplicate span include (4a14003)
  - Update code formatting (0eedd55)

- fextl

  - string
    - Correct <filesystem> include to <functional> (1b8e03e)

- unittests
  - Remove FEXLoader usage from unittests (6c8edcb)

  - ASM
    - Implement modrm OOB tests (8ead4a3)
    - Enables some previously disabled tests (cfeba85)
    - Fixes xlat test so it can be run (38ed7c9)

- vixl
  - Update submodule (4de1762)

FEX-2509.1

Toggle FEX-2509.1's commit message
FEX Release FEX-2509.1

FEX-2509

Toggle FEX-2509's commit message
FEX Release FEX-2509

- ARM64EC
  - Cooperatively suspend if needed when leaving the JIT (4f84c28)

- AsyncNet
  - Simplify declaration of ancillary buffer (f1016e8)

- AtomicOps
  - Reimplement AtomicNeg using 8.1 CAS atomics (8009f4a)

- CPUBackend
  - Remove unused variable in CheckCodeBufferUpdate (a804cb5)

- CodeCache
  - Remove legacy interfaces (b98acdf)

- CodeLoader
  - Tidy up interface (2cfd333)

- Common
  - Remove duplicated StringUtil functionality (3f71517)
  - Remove EnvironmentLoader.cpp/.h (f565939)

- Config
  - Remove unused Context.h include (09793d2)

- ConstProp
  - Remove file (f66066c)

- Core

  - Thunks
    - Remove unused IR header/forward declarations (e76af56)

- Dispatcher
  - Move the EC entrypoint check prior to the L1 lookup (5e467c7)
  - Reduce header dependencies (06c5135)
  - Centralize SignalDelegator config creation (839e3ac)
  - Most minor of optimizations for f64 x87 (2472aee)

- ELFCodeLoader
  - Fixes BRK allocation with non-PT_DYN ELF files (a156752)

- F80Fallbacks
  - Remove unnecessary memset (5e19202)

- FEXConfig
  - Fix RootFS override in muvm-based setups (ac20880)

- FEXCore
  - Move most instruction tables to be constexpr (f09db0c)
  - Move LDT/GDT management to the frontend (83e4496)
  - Split GDT and LDT prep work  (c881055)
  - Fixes 32-bit zero-extend semantics on cmpxchg  (b3d1aad)
  - Fixes 16-bit operand size Enter and Leave instructions (6811406)

  - Allocator
    - Remove unused headers (1121f2a)

- FileLoading
  - Add missing self-header (80c199c)

- FileManagement
  - Minor interface cleanup (ae90040)

- Frontend
  - Force acq/rel semantics for known Unity ringbuffer offsets (bd0cae9)
  - Fix tailcall handling when mono hacks are enabled (6ae9458)
  - Always explore fallthrough branches with multiblock (c6ccc68)
  - Remove log about VEX map_select (63a910d)

  - OpcodeDispatcher
    - Remove unused headers (decd112)

- General
  - std::alignment_of -> alignof (b7173a3)
  - Replace usages of .at(0) with .data() where applicable (e126cec)

- Github
  - Force FEX portable config (6ba32da)

- HostFeatures
  - Fix insufficient documentation to reproduce 3DNow! bug (63ae262)

- HostRunner
  - Fixes bug with saving CSFSGS (61d3d5b)

- IR
  - Remove unnecessary forward declarations/headers (317f92f)
  - Remove some unimplemented prototypes (fbf982f)

- IRDumper
  - Add missing PrintArg for IndexNamedVectorConstant (3df3999)
  - Clean up formatting using fmt (67e9b40)

- InternalThreadState
  - Remove unused includes (e9f8c01)
  - Make bool operator explicit (71d42d7)

- IntrusiveIRList

  - RegisterAllocationData
    - Remove unused headers (03c968a)

- InvalidationTracker
  - Disable mono hacks when multiblock is disabled (5a7ff47)

- LinuxEmulation
  - add basic supports for v4l2 driver of wine32. (e235395)

- LinuxSyscalls
  - Support modify_ldt on x64  (714856f)
  - Save and restore segment registers on signal (9072571)

- LogManager
  - Evaluate non-predicate arguments for assertions lazily (993d917)

- OpDispatcher
  - Force a recheck of TF after POPF (343a529)

- OpcodeDispatcher
  - Simplify CALLOp return addr calc (2f930b2)
  - Implement support for CALLF/RETF  (2825ac2)
  - Implement support for far jump (1e1c4e0)
  - optimize SetX87FTW (5db6a64)

- RegisterAllocationPass
  - simplify next-use logic (7897b6a)

- Scripts
  - Fix use of removed helper script (3b32fd5)

- Syscalls
  - Fix DEBUG_STRACE build (c28b948)

- Utils

  - Threads
    - Minor cleanup (a0883c9)

- VixlUtils
  - Use std::countl_zero where applicable (e34de22)

- VolatileMetadata
  - Clean up implementation using ranges::views::split (7df1ed2)

- WinAPI
  - Force WOW64 allocations to start >4GB (0ca438e)

- Windows
  - Support EnvLoader via _environ (26b4195)
  - Misc race and correctness fixes (b71879e)
  - Ignore MEM_RESET(_UNDO) allocation protection notifications (7d818e1)

- X86Tables
  - Convert AVX tables to constexpr (9566910)

- Misc
  - VDSO_Emulator: Cull unnecessary includes (dd34471)
  - Fix mapping for VS and VC condition codes (1988b43)
  - Common Utils: Remove unused/unnecessary inclusions from headers (ea8ae2b)
  - config_generator: Remove superfluous format arguments (694bc33)
  - json_ir_generator: Clean up generated assertion statements (1ca6443)
  - gvisor_tests: Update expectations for kernel 6.16 (5a73134)
  - Fix IEEE 754 unordered comparison detection in x87 floating-point operations (4a71edf)
  - Remove visibility on functions that is no longer necessary (f866ad5)
  - More BRK fixes (7431495)
  - Reduce use of maybe_unused attributes (62b8090)
  - Do not use diff_from_common_commit (2a76066)
  - Implement support for additional provided volatile metadata (6310c20)
  - Clear IE flag on fninit (bc2e959)
  - Implementation of FCNLEX to clear IE flag (2a4bfe4)
  - Local JIT translation time wins (297677c)
  - Avoid OOB reads for mem sources in some float conversion ops (a47c947)
  - Drop ConstProp (2f925ae)
  - Implement mono specific hacks (aa979e4)
  - Disable 3DNow by default on WOW64 FEX (baddc56)
  - asm_tests: Tests for fninit (4dbfa2f)

- unittests
  - Adds missing movsxd edge case (7aeb478)

  - 3DNow
    - Fix femms test (095b2a8)

  - ASM
    - Adds support for classifying more requirements (3db1f1e)

FEX-2508.1

Toggle FEX-2508.1's commit message
FEX Release FEX-2508.1