Ryan Houdek
ba1b4744c5
Docs: Update for release FEX-2512
FEX-2512
2025-12-05 16:11:40 -08:00
Ryan Houdek
bd13c02451
Merge pull request #5092 from Sonicadvance1/12
...
SyscallsSMCTracking: Workaround assert in ELF mapping
2025-12-05 15:44:09 -08:00
Ryan Houdek
5902b175f9
SyscallsSMCTracking: Workaround assert in ELF mapping
...
The ELF tracking thing has an expectation that only portions of ELF
files that are described in the program headers will be mapped
executable. This doesn't hold true as programs will remap random
portions of ELF files as executable. In the case that this occurs, don't
assert out and instead print a warning.
This was discovered as Node.js remaps a portion of itself executable
that isn't described as such in the program headers. I also have a local
unittest that exposes the same problem. I had discovered same problem in
some other program with #5038 .
Also fixes a bug where sometimes completely anonymously mapped
executable sneak in and cause a crash, which is kind of silly.
2025-12-05 14:50:58 -08:00
Ryan Houdek
d0e47f9073
Merge pull request #5096 from neobrain/feature_fexofflinecompiler
...
CodeCache: Implement offline compiler for cache generation
2025-12-05 14:47:58 -08:00
Ryan Houdek
bd7215d36f
Merge pull request #5093 from Sonicadvance1/13
...
SteamRT4: Adds support for building the steam depot
2025-12-05 14:39:30 -08:00
Ryan Houdek
f3f134f9de
FEXServer: Add support for FEX Logging control
...
Always enables FEXServer log thread when built for Steam so that clients
can be controlled with `STEAM_FEX_LOG=1`. FEX logs will then always go
to FEXServer and those can get directed to wherever pressure-vessel
chooses.
2025-12-04 14:06:18 -08:00
Ryan Houdek
cdbf5d57bd
Steam: Adds FEXServerManager
...
This is fairly simple. Needs to be installed alongside FEXServer, so
that it can start it in a portable config.
- Starts a FEXServer
- Tells pressure-vessel when FEXServer is ready
- Keeps FEXServer alive with the `watch_fd` as long as the process lives
- Listens for pressure-vessel to be shutting down
- Exits once pressure-vessel exits, also letting FEXServer shutdown if
no FEX instances are alive.
2025-12-04 14:06:17 -08:00
Ryan Houdek
1ae50bd670
FEXServerClient: Split out Connect and Start
...
Allow an optional watch_fd to be passed to FEXServer.
2025-12-04 14:02:43 -08:00
Ryan Houdek
d28c9f9843
FEXServerClient: Disallow abstract named sockets under Steam
...
We don't want clients connecting to random sockets.
2025-12-04 14:02:43 -08:00
Ryan Houdek
fe7d52aa78
github/steamrt4: Add artifacts
2025-12-04 14:02:43 -08:00
Ryan Houdek
fc0907f8c1
Steam: Add FEXCompatTool
2025-12-04 14:02:43 -08:00
Ryan Houdek
e57678d7a6
Config: Move Steam configs into config system
2025-12-04 14:02:43 -08:00
Ryan Houdek
45e594e806
Utils/StringUtils: Add in-place token replace helper
2025-12-04 14:02:43 -08:00
Ryan Houdek
87e7a0effa
CMake: Don't install test thunk if tests aren't enabled
2025-12-04 14:02:43 -08:00
Ryan Houdek
4fd1a35b2a
CMake: Disable some installs when building for Steam
2025-12-04 14:02:42 -08:00
Ryan Houdek
c460cf0678
Merge pull request #5097 from wcampbell-nv/cmdline-map
...
Remap /proc/pid/cmdline with PR_SET_MM_MAP
2025-12-04 14:02:19 -08:00
Tony Wasserka
983802da61
CodeCache: Add offline compiler for generating caches
2025-12-04 19:16:51 +01:00
Tony Wasserka
49273e0d59
CodeCache: Add workaround for clang-15's broken std::piecewise_construct
2025-12-04 19:16:51 +01:00
Tony Wasserka
76b8459cdc
CodeCache: Zero-initialize FileId in ExecutableFileInfo
2025-12-04 19:16:51 +01:00
Tony Wasserka
e269eb6f65
ELFCodeLoader: Add helper interfaces
2025-12-04 19:16:51 +01:00
Tony Wasserka
7b4774f375
ELFCodeLoader: Add option to skip interpreter loading
2025-12-04 19:16:51 +01:00
Tony Wasserka
70e9a25112
Syscalls: Move m(un)map to a dedicated interface
2025-12-04 19:16:51 +01:00
Tony Wasserka
9fb83ea56a
Windows/CRT: Implement lseek
2025-12-04 19:16:51 +01:00
LC
8bb3398376
Merge pull request #5101 from Sonicadvance1/16
...
SVE256: Fixes AVX scalar round with insert
2025-12-04 11:24:49 -05:00
Will Campbell
d42fbb3d4d
Use LoadFileToBuffer + cleanup
2025-12-04 07:54:45 -08:00
Tony Wasserka
53b2245dc1
Merge pull request #5098 from Sonicadvance1/14
...
docs: Update ProgrammingConcerns
2025-12-04 09:52:59 +00:00
Ryan Houdek
db14975828
InstcountCI: Update
2025-12-04 01:45:32 -08:00
Ryan Houdek
a5139d2710
unittests/ASM: Adds test case for AVX scalar round with insert bug
2025-12-04 01:44:12 -08:00
Ryan Houdek
9f584c8014
SVE256: Fixes AVX scalar round with insert
...
We were using the incorrect source registers on SVE256 implementation of
these instructions.
Fixes #5100
2025-12-04 01:43:07 -08:00
Tony Wasserka
6f1b98fb52
docs: Clean up ProgrammingConcerns
2025-12-04 10:18:26 +01:00
Ryan Houdek
c258a90505
docs: Update ProgrammingConcerns
...
Disallow all APIs that touch `FILE`, they all allocate memory that we
don't control.
2025-12-03 20:32:33 -08:00
Will Campbell
eb47ef43a7
Read from a fd rather than a FILE
2025-12-03 19:59:13 -08:00
Will Campbell
1876d6b923
Remap cmdline
2025-12-03 18:15:33 -08:00
Ryan Houdek
90c8fcf393
Merge pull request #5094 from pmatos/fix/issue5084
...
Set current code block in x87 pass
2025-12-02 14:43:54 -08:00
Ryan Houdek
6af90575e9
Merge pull request #5095 from neobrain/feature_serialize_relocations
...
JIT: Add support for serializing relocations
2025-12-02 14:43:42 -08:00
Tony Wasserka
994613260c
CodeCache: Support reverse application of relocations
...
This allows code to be serialized consistently across runs.
2025-12-02 22:27:53 +01:00
Tony Wasserka
1430fa8220
CodeCache: Move ApplyCodeRelocations
2025-12-02 18:38:59 +01:00
Tony Wasserka
33e06058c6
JIT: Move ApplyRelocations to CodeCache
2025-12-02 18:38:59 +01:00
Tony Wasserka
b032d1e1f7
JIT: Make relocations relative to guest base before serialization
...
This ensures consistency of generated code caches across multiple runs.
2025-12-02 18:38:59 +01:00
Tony Wasserka
d6b43b1fe6
Dispatcher: Add public interface to query ExitFunctionLinkerAddress
2025-12-02 17:56:56 +01:00
Paulo Matos
fc771c8683
asm_tests: Set current code block in x87 pass
2025-12-02 15:33:08 +01:00
Paulo Matos
f91ac09f87
Set current code block in x87 pass
...
This resets the constant pool in IREmit used by SelectAddressMode().
Fixes #5084 .
2025-12-02 15:33:08 +01:00
Ryan Houdek
e4fa399412
Merge pull request #5091 from neobrain/feature_better_relocations
...
JIT: Prepare FEX relocations for code caching
2025-12-01 13:21:29 -08:00
Tony Wasserka
952e949e10
JIT: Clean up block tail writing code
2025-12-01 20:13:51 +01:00
Tony Wasserka
3d093d66fb
JIT: Change relocation offset base to CodeBuffer start
2025-12-01 20:13:51 +01:00
Tony Wasserka
05fe2893c7
JIT: Emit relocation from IROP_THUNK
2025-12-01 20:13:51 +01:00
Tony Wasserka
6fc17294b6
JIT: Add relocation for guest RIP stored in jump thunks
2025-12-01 20:13:51 +01:00
Tony Wasserka
6607921bee
JIT: Add relocation for guest RIP stored in block tail
2025-12-01 20:13:51 +01:00
Tony Wasserka
0b0793438f
JIT: Add relocation for constants relative to the guest entrypoint
2025-12-01 20:13:51 +01:00
LC
3dd591e760
Merge pull request #5088 from Sonicadvance1/11
...
Linux: Disable io_uring
2025-12-01 14:05:56 -05:00