Sergio Lopez
5c51c54ccc
FEXCore: adds support for compat input prctl
...
The size of the input_event struct differs between 32 bits applications
and 64 bits applications. To deal with this, the kernel implements a
compat variant for the input syscalls, but it's only enabled for 32 bit
processes.
In libkrunfw we're introducing a prctl that enables a 64 bit process to
request the kernel to enable the compat variant for the input syscalls.
This commit makes use of that interface for enabling/disabling the
compat input variant as required.
The visible effect is that input devices such as gamepads work properly
on emulated 32 bit applications.
Signed-off-by: Sergio Lopez <slp@redhat.com >
2024-10-08 11:38:42 +02:00
Ryan Houdek
cac3767c20
Docs: Update for release FEX-2410
FEX-2410
2024-10-07 11:14:53 -07:00
Ryan Houdek
e82d2c70c3
Merge pull request #4095 from alyssarosenzweig/opt/jit-time
...
speed up the JIT
2024-10-04 09:00:03 -07:00
LC
9716fc73d3
Merge pull request #4099 from Sonicadvance1/v6.11
...
LinuxSyscalls: Update max reported kernel version to 6.11
2024-10-04 11:58:20 -04:00
LC
aaa8eef9f1
Merge pull request #4098 from Sonicadvance1/linux_v6.11_syscalls
...
LinuxEmulation: Update syscalls for v6.11
2024-10-04 11:57:52 -04:00
LC
c036868938
Merge pull request #4097 from Sonicadvance1/linux_v6.11_drm
...
LinuxEmulation: Update DRM for v6.11
2024-10-04 11:57:21 -04:00
LC
2726f35a10
Merge pull request #4102 from Sonicadvance1/fix_vector_element_loadstore
...
OpcodeDispatcher: Fixes segment prefixing on vector element loadstores
2024-10-04 11:56:15 -04:00
Ryan Houdek
407dc5d4dd
unittests: Adds TLS vector element loadstore test
...
Hits all the instructions that would have previously crashed.
2024-10-03 20:53:28 -07:00
Ryan Houdek
7dda75646d
OpcodeDispatcher: Fixes segment prefixing on vector element loadstores
...
These had completely forgotten to load segment prefixes on the element
loadstore operations. This had caused a crash on the Linux version of
"Halls of Tormet" (steamid 2218750).
This game has TLS vector data which it was loading with a movhps and hit
this path.
2024-10-03 20:51:37 -07:00
Ryan Houdek
b89f5b8a03
Merge pull request #4101 from Sonicadvance1/fprem_fixes
...
Fixes fprem
2024-10-03 15:49:22 -07:00
Ryan Houdek
16869d8954
unittests: fprem tests work since 688af49485
2024-10-03 14:03:51 -07:00
Ryan Houdek
e353ae8408
unittests: Adds x87 fprem test
...
Exposes a bug in FEX's x87 FPREM implementation.
2024-10-03 14:03:51 -07:00
Alyssa Rosenzweig
aa3c963df1
SoftFloat: fix FPREM
...
fixes incorrect signs on FPREM. in turn should fix end-to-end failures logging
into Steam.
Thank you to Sergio Lopez for tracking down the JavaScript fail, and Ryan for
finding the bug.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2024-10-03 13:56:14 -07:00
Ryan Houdek
0c8cfa7bb2
IoctlEmulation: Update AssignDeviceTypeToFD
...
Adds known good drivers to remove a log.
2024-10-02 19:29:45 -07:00
Ryan Houdek
dd837fa693
LinuxSyscalls: Update max reported kernel version to 6.11
...
Investigated the uapi differences and nothing terrifying leapt out that
we haven't already implemented.
2024-10-02 15:36:47 -07:00
Ryan Houdek
eeff198ff1
LinuxEmulation: Update syscalls for v6.11
...
Only thing added was uretprobe on x86-64. We can't support this so just
return ENOSYS.
2024-10-02 14:40:11 -07:00
Ryan Houdek
0cd6371c1b
IoctlEmulation: Add panthor_drm
2024-10-02 14:27:24 -07:00
Ryan Houdek
5aff16f72b
IoctlEmulation: Update xe_drm
2024-10-02 14:26:38 -07:00
Ryan Houdek
2c7896bce4
IoctlEmulation: Update v3d_drm
2024-10-02 14:26:30 -07:00
Ryan Houdek
6dd72a09e5
Scripts: Fixes newer clang-python
...
It provided this in the newer clang-python
2024-10-02 14:25:59 -07:00
Ryan Houdek
4e6a4d9b69
Linux: Update drm-headers to v6.11
2024-10-02 13:43:43 -07:00
Alyssa Rosenzweig
44484a7b05
ConstProp: drop non-loadbearing opts
...
every pattern costs us JIT time, but not every pattern is doing anything.
especially with the flag rework of 2023-2024, a lot of patterns just don't make
sense anymore. constant folding in particular isn't too useful now.
only instcountci change is AAD which i'm contractually forbidden from caring
about.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2024-10-02 14:01:32 -04:00
Alyssa Rosenzweig
6ac7ba388f
ConstProp: rm leftover
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2024-10-02 13:38:48 -04:00
Alyssa Rosenzweig
36d0a67070
ConstProp: don't pool with a hash table
...
hash tables have high overhead! but individual blocks are small, so the
quadratic search is _much_ faster in practice. knocks 8% off node.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2024-10-02 13:38:48 -04:00
Alyssa Rosenzweig
0650dd1992
ConstProp: defer initialization
...
for blocks that don't need pooling. hopefully that's most of them.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2024-10-02 13:38:48 -04:00
Alyssa Rosenzweig
e2d58809ed
OpcodeDispatcher: rm dead
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2024-10-02 13:38:48 -04:00
Alyssa Rosenzweig
967a74cda9
OpcodeDispatcher: manually inline constants
...
less work for constprop.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2024-10-02 13:38:48 -04:00
Alyssa Rosenzweig
6cc6181261
OpcodeDispatcher/Flags: dont emit zero
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2024-10-02 13:38:48 -04:00
Alyssa Rosenzweig
f175b525f4
OpcodeDispatcher/Flags: inline constants
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2024-10-02 13:38:48 -04:00
Alyssa Rosenzweig
319f1e66cb
RegisterAllocationPass: eliminate a silly sxtb
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2024-10-02 13:38:48 -04:00
Alyssa Rosenzweig
d16969bdce
RegisterAllocationPass: simplify
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2024-10-02 13:38:48 -04:00
Alyssa Rosenzweig
c17858bfeb
RegisterAllocationPass: don't lookup sources
...
lot of silly chasing. not needed.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2024-10-02 13:38:48 -04:00
Alyssa Rosenzweig
ec24fc3d5d
RegisterAllocationPass: infer AnyRemapped
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2024-10-02 13:38:48 -04:00
Alyssa Rosenzweig
8819fa88d5
RegisterAllocationPass: avoid allocating remaps
...
shaves 6ms off.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2024-10-02 13:38:48 -04:00
Alyssa Rosenzweig
5e9c2110db
Merge pull request #4096 from pmatos/x87Cleanup
...
x87 small cleanups; NFC
2024-10-02 12:43:13 -04:00
Alyssa Rosenzweig
5aaa18e7a2
RegisterAllocationPass: remove Class->Allocated
...
not needed anymore.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2024-10-02 12:41:37 -04:00
Alyssa Rosenzweig
8a551b9e64
RegisterAllocationPass: rm leftover comment
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2024-10-02 12:41:37 -04:00
Alyssa Rosenzweig
aa548bd19c
RegisterAllocationPass: track if we need a remap
...
should be faster on average.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2024-10-02 12:41:37 -04:00
Alyssa Rosenzweig
9565f16d84
RegisterAllocationPass: simplify
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2024-10-02 12:41:37 -04:00
Paulo Matos
eb76dbdf4d
x87 small cleanups; NFC
2024-10-02 18:27:51 +02:00
Ryan Houdek
967c04e252
Merge pull request #4088 from bylaws/winesys
...
ARM64EC: Dynamically determine syscall numbers under wine.
2024-10-01 09:07:35 -07:00
Ryan Houdek
49de1fac59
Merge pull request #4028 from neobrain/refactor_jemallocless_tools
...
Build host tools without jemalloc
2024-09-30 11:59:45 -07:00
Ryan Houdek
3c205eb35e
Merge pull request #4094 from Sonicadvance1/strict_unittest_args
...
unittests: Be more strict with -- separator
2024-09-30 11:38:30 -07:00
Tony Wasserka
682b8ef705
Build host tools without jemalloc
...
Jemalloc blocks use on platforms with 16K pages.
2024-09-30 20:38:24 +02:00
Tony Wasserka
8c47a40625
Update jemalloc
2024-09-30 20:35:46 +02:00
Ryan Houdek
ee5c6af868
unittests: Be more strict with -- separator
2024-09-30 11:30:56 -07:00
Ryan Houdek
1670c89b5e
Merge pull request #4090 from Sonicadvance1/update_vulkan_headers
...
Thunks/Vulkan: Updates thunks to v1.3.296
2024-09-30 09:54:15 -07:00
Ryan Houdek
e9d34c7ded
Merge pull request #4089 from bylaws/wineavx
...
ARM64EC: AVX register save/restore support under wine
2024-09-30 09:46:33 -07:00
Ryan Houdek
c2f2c58367
Merge pull request #4060 from bylaws/ucrt
...
Windows: Switch supported MinGW CRT to UCRT
2024-09-30 09:31:27 -07:00
Billy Laws
38acd9e18c
ARM64EC: Dynamically determine syscall numbers under wine
...
Takes advantage of the consistent alphabetical syscall ordering that
wine follows.
2024-09-29 19:42:49 +00:00