Ryan Houdek
341a5196ba
Merge pull request #5701 from lioncash/thread
...
Thread: Amend new thread handling in HandleNewClone()
2026-07-11 17:09:59 -07:00
Ryan Houdek
48ce5bf6e6
Merge pull request #5714 from lioncash/readahead
...
x32/FD: Fix readahead upper offset type
2026-07-11 11:20:49 -07:00
Ryan Houdek
617a518714
Merge pull request #5713 from lioncash/select
...
x32/FD: Correct total word calculation in select() variants
2026-07-11 11:19:29 -07:00
Ryan Houdek
480f45f2f3
Merge pull request #5712 from lioncash/bpf
...
BPFEmitter: Amend instruction class checking in HandleStore()
2026-07-11 11:08:58 -07:00
Ryan Houdek
0e8b01c1b5
Merge pull request #5711 from lioncash/fault
...
x64/Thread: Amend faulting copy handling related to LDTs
2026-07-11 11:04:47 -07:00
Ryan Houdek
b750d6772f
Merge pull request #5710 from lioncash/close
...
Common/Async: Handle fd closing a little better
2026-07-11 11:03:10 -07:00
LC
a90a7dbec7
x32/FD: Fix readahead upper offset type
...
This should be a uint32_t
2026-07-11 13:33:11 -04:00
LC
2250bd58a2
x32/FD: Deduplicate guest and host fd set management
...
Same behavior, but less copy pastey
2026-07-11 13:23:19 -04:00
LC
126be45ed1
x32/FD: Correct total word calculation in select() variants
...
Previously this would result in a larger amount of words specified than
necessary.
e.g. Given nfds = 1:
With AlignUp(1, 32) / 4, we'd end up with supposedly eight words, when it
should only be one word.
On the other extreme, given a full fd set of 1024 fds, then we'd end up
with 256 words, when it should only be 32.
2026-07-11 12:53:08 -04:00
LC
e021a55abd
BPFEmitter: Amend instruction class checking in HandleStore()
...
This was previously checking for a load class, which would result in ST
clobbering the index register.
2026-07-11 12:26:11 -04:00
LC
2ad6254894
x64/Thread: Amend faulting copy handling related to LDTs
...
CopyToUser doesn't return the number of bytes copied, but rather returns
0 to indicate success, otherwise a fault has occurred (and the SIGSEGV
handler has set X0 to EFAULT)
2026-07-11 11:57:38 -04:00
LC
5bd97c2f63
Common/Async: Handle fd closing a little better
...
We should be checking against -1, rather than just anything non-zero.
2026-07-11 10:49:08 -04:00
LC
f16bc12b7d
SignalDelegator: Remove odd double negation in GuestSigProcMask
...
We can just reduce it to normal null comparisons.
2026-07-11 05:42:48 -04:00
Ryan Houdek
d2f096187c
Merge pull request #5705 from lioncash/thread3
2026-07-10 22:34:04 -07:00
Ryan Houdek
bd1e61befd
Merge pull request #5704 from lioncash/host
2026-07-10 22:33:30 -07:00
Ryan Houdek
b97165bec9
Merge pull request #5703 from lioncash/size
2026-07-10 22:32:45 -07:00
LC
8b0f07b2dc
Syscalls: Remove unnecessary usages of namespace FEXCore::IR
...
These aren't necessary.
2026-07-10 21:02:12 -04:00
LC
c0ba45f6de
HostFeatures: Shrink feature setting in FillFeatureFlags
...
Allows us to unify most of the flag setting, so the flag name only needs
to be stated once, reducing likelihood of typos.
2026-07-10 20:34:46 -04:00
LC
017c898ed0
x64/Signals: Amend set size in rt_sigtimedwait
...
We should be checking the size passed in, not the sizeof of it.
2026-07-10 19:40:05 -04:00
LC
db0c7b0562
HostFeatures: Amend SSBS2 signifying
2026-07-10 19:13:29 -04:00
LC
85b8e91b57
Thread: Amend new thread handling in HandleNewClone()
...
Ensures that newly cloned threads get tracked properly.
2026-07-10 18:35:58 -04:00
Ryan Houdek
0bdf15977f
Merge pull request #5697 from lioncash/thread
...
x32/Thread: Move writability check around in waitpid
2026-07-10 10:34:56 -07:00
Ryan Houdek
8a844f9cca
Merge pull request #5695 from lioncash/socket
...
Socket: Pass size by reference in getsockopt
2026-07-10 10:34:33 -07:00
Ryan Houdek
8fbde84380
Merge pull request #5696 from lioncash/time
...
x32/Time: Correct sizeof expression in utimensat
2026-07-10 10:31:47 -07:00
Ryan Houdek
00826d3327
Merge pull request #5694 from lioncash/rlimit
...
x32/Info: Only modify output in getrlimit/ugetrlimit if successful
2026-07-10 10:27:51 -07:00
Ryan Houdek
5dd0477440
Merge pull request #5689 from lioncash/msg
...
x32/Msg: Fix result comparison in mq_getsetattr
2026-07-10 10:15:15 -07:00
Ryan Houdek
c6f823f855
Merge pull request #5688 from lioncash/pidfd
...
Thread: Amend pidfd_open check
2026-07-10 10:14:49 -07:00
Ryan Houdek
2af7c24e79
Merge pull request #5687 from lioncash/limit
...
x32/Thread: Fix off-by-one in get_thread_area
2026-07-10 10:14:29 -07:00
Ryan Houdek
94ccfefa84
Merge pull request #5686 from lioncash/fd
...
x32/FD: Ensure sendfile updates offset if set
2026-07-10 10:14:18 -07:00
LC
f4c50105ba
x32/Thread: Move writability check around in waitpid
...
Same behavior, but catches the write before it actually occurs.
2026-07-10 08:08:45 -04:00
LC
3395bedc2b
x32/Time: Correct sizeof expression in utimensat
...
Ensures we check the proper type.
2026-07-10 08:04:56 -04:00
LC
7a14210e2b
Socket: Pass size by reference in getsockopt
...
Previously this was passing by value.
2026-07-10 08:01:29 -04:00
LC
d206b67ca8
x32/Info: Only modify output in getrlimit/ugetrlimit if successful
...
Avoids trampling over input data.
2026-07-10 07:49:44 -04:00
LC
d5ae87b5ca
Thread: Amend pidfd_open check
...
Checks for success.
2026-07-10 06:25:43 -04:00
LC
02028eb1ad
x32/Msg: Fix result comparison in mq_getsetattr
...
Checks against failure instead of 1.
2026-07-10 06:19:11 -04:00
LC
37b1432514
x32/Thread: Fix off-by-one in get_thread_area
...
12, 13, and 14 are the only valid TLS areas.
2026-07-10 06:06:30 -04:00
LC
6e8bc337aa
x32/FD: Ensure sendfile updates offset if set
2026-07-10 05:58:49 -04:00
LC
4069a9f7d5
Timer: Fix typo in timer_gettime
...
This should be passed by reference rather than by value.
2026-07-10 05:33:06 -04:00
LC
37265b109a
Merge pull request #5676 from Sonicadvance1/185
...
FEX: Remove FEXInterpreter binary
2026-07-09 18:39:36 -04:00
Ryan Houdek
523bbef034
FEX: Remove FEXInterpreter binary
...
It's been ten months, a bit longer than than I was expecting to keep
this around. Go ahead and remove it now.
2026-07-09 15:11:30 -07:00
Brendan Shanks
84e127a637
Windows/UnixLib: Fix enabling TSO through legacy Proton codepath
2026-07-09 15:00:50 -07:00
Ryan Houdek
4a091df8cc
Merge pull request #5672 from neobrain/feature_woa_code_cache_bitness
...
CodeCache/WoA: Support mixed WoW64/ARM64EC processing
2026-07-09 14:55:21 -07:00
Tony Wasserka
66455b708a
CodeCache: Switch between 32-/64-bit compilers during cache generation
2026-07-09 17:17:19 +02:00
Tony Wasserka
8b8000b98a
CodeCache/WoA: Run cache generation in a subprocess to improve robustness
2026-07-09 17:16:16 +02:00
Tony Wasserka
54236df6e0
CodeCache: Record main executable bitness in code map
...
Code maps already contain the main executable they were recorded from, so
it's convenient to capture the executable's bitness along the way.
2026-07-09 17:12:45 +02:00
LC
71d4e2c320
Merge pull request #5660 from Sonicadvance1/183
...
Wow64: Spin loop on atomic with WFE
2026-07-07 22:53:50 -04:00
Ryan Houdek
41241d7500
Wow64: Spin loop on atomic with WFE
...
Instead of burning roughly a million watts, put this spinloop on a WFE.
This tends to occur on a crash during shutdown that isn't fully able to
be avoided. The least we can do is not consume all the power in the
world.
2026-07-07 16:09:00 -07:00
Tony Wasserka
0ac6b3e8f3
CodeCache: Mark executable memory as EC code on ARM64EC
...
See bd5b817c3a .
2026-07-07 15:55:27 +02:00
Ryan Houdek
103d4d76be
Config: Fixes AppOverrides with FEX_APP_CONFIG
2026-07-06 12:43:14 -07:00
Ryan Houdek
db9414a756
Merge pull request #5655 from neobrain/feature_woa_cache_loading
...
Windows/ImageTracker: Adapt code cache loading logic to FEXOfflineCompiler
2026-07-06 12:40:40 -07:00