Skip to content

FEX-2201

Compare
Choose a tag to compare
@Sonicadvance1 Sonicadvance1 released this 04 Jan 03:35
· 7406 commits to main since this release

Changes

A large amount of changes this month.

  • We now support BMI2, RDTSCP, CLZero.
  • We tell the guest what ARM CPU name we are running on.
  • We expose the hybrid CPU flag flag on big.LITTLE ARM SoCs.
  • Bunches of syscall fixes, JIT compile time speed increases, usability improvements.
  • Tons more.

A new FEXRootFSFetcher tool for downloading prebuilt RootFS images.
A Python script for automatically setting up an Ubuntu PPA and RootFS.

  • See our quick start guide to see how here
  • Or see the Ubuntu PPA here

FEXCore

Arm64

  • Fixes vixl assertions around ubfm usage (5654f9a)
  • Fixes MapSelectCC FGT flag (13087f8)

CPUID

  • Fixes another memory overflow issue (0e45b98)
  • Fixes crash on unknown CPU (be3e3a3)
  • CPUID Expose Hybrid flag and CPU names (9394e49)

Context

  • Take some arguments as pointer-to-const (9d43904)

Dispatcher

  • Disables unsync context message (154468c)
  • Adds more state reconstruction to state restore (fa6f1b1)

OpcodeDispatcher

X86Tables

  • Build Unknown op definition tables at compile time (e8670bb)
  • Speed up initialization of X86Tables (e99a23c)

HostFeatures

  • Detect if the host CPU suports float exceptions (117cbde)
  • Consolidates HostFeatures flags (e24eb7a)

IR

  • Fixes sized constant mask (565d1e2)

Misc

  • Don't use Run() inside RunUntilExit() (0bf5776)
  • Fixes a memcpy overflow in processor brand (340699c)
  • Fixes FEXCore_Base config dependency (95bd309)
  • Implements recoverable INTO instruction (cd4269f)
  • Reorganizes some AOT related code (d4655fb)

Linux Emulation/Syscalls

  • Fixes pidfd_send_signal for 32-bit (ac63a2b)
  • Finish 32-bit msqid_ds usage (98210fd)
  • Implements the remaining 32-bit syscalls (bc120b9)
  • Fixes semid_ds_64 definition (f2fd9d9)
  • Fixes 32-bit shmctl (45430e9)
  • Adds the safe syscall unimplemented gap for x86-64 (e05d116)
  • Enable warnings (75e5df5)
  • Socket
  • Resolve sign comparison mismatch cases (097f48f)

Misc

CMake

  • Adds an OVERRIDE_VERSION option (0808599)
  • Adds a TUNE_CPU option (5146651)
  • Adds experimental libc++ option (f3a27a5)

Build fixes

  • Fixes build on Ubuntu 20.04 take 3 (8f83567)
  • Fixes build on Ubuntu 20.04 take 2 (059e8a9)
  • Fixes build on Ubuntu 20.04 (02005e7)
  • Fixes Ubuntu 20.04 compilation on AArch64 (47bd479)

Config

  • Enables all host threads by default (edce981)
  • Sanitize Core option (9bffaee)

Docs

  • Adds documentation about the FEX monthly release process (a65e7a0)

GDBServer

  • Fixes long string packet encodings (88ce9b5)

Misc

  • Stop hardcoding /usr/bin paths (1d5bd15)
  • Improves compile ability for older libraries (c691d70)
  • More AOT code movement (43dc232)
  • FEXMountDaemon squashfs fixes. (ea73c9d)
  • Update jemalloc for fixed libc overrides (c43af0e)
  • Implement thunk library generation using libclang (425d932)
  • {x32, x64}/Thread: Make use of .data() instead of .at(0) (b6499ac)
  • Adds a new ReentrantMutex to use for FEXCore (b9c4902)
  • NetStream: Move NetBuf definition into cpp file (9860e8b)

Tests

gvisor

unittests

  • Fixes a missing dependency on ASM tests (b078f51)
  • Enables remaining unaligned atomic tests on ARMv8.0 (fd04247)
  • Fixes known failures (5c4112f)

RootFS

  • Stop trying to retry rootfs after five times (a45bc75)
  • Be more robust against stale lock files (d4b31cd)

Tools

FEXConfig

FEXRootFSFetcher

  • Remove 0x prefix on hash (b72245a)
  • Adds a new tool to help set up a new RootFS (72e8a99)

Scripts

  • Adds a python script that can hand hold a user through FEX install (b276750)