Ryan Houdek
9be67fb22a
Merge pull request #1009 from Sonicadvance1/handle_self
...
Handle more cases of an application pinging self
2021-05-05 14:51:11 -07:00
Ryan Houdek
cb9286c11e
Merge pull request #1012 from Sonicadvance1/fix_ioctl_errors
...
Fixes ioctl returning error
2021-05-05 14:50:46 -07:00
Ryan Houdek
d9d5303aa0
Fixes ioctl returning error
...
Fixes evdev device description at the very least
2021-05-04 18:45:25 -07:00
Ryan Houdek
ac97c05271
Handle more cases of an application pinging self
...
AppImage uses this to inspect its own executable to ensure it is an AppImage file.
2021-05-04 18:09:15 -07:00
Stefanos Kornilios Mitsis Poiitidis
6b12c1768f
AOTIR: Add install rule for FEXUpdateAOTIRCache
2021-05-04 12:33:59 +03:00
Ryan Houdek
47e823b773
Updates binfmt_misc files to support AppImage
...
AppImage files stick additional data in the ABI Version and PAD areas that it was getting blocked on.
2021-05-03 18:08:00 -07:00
Ryan Houdek
fd6d33d197
Merge pull request #996 from FEX-Emu/skmp/aotirgen
...
AOTIR: Offline Generation
2021-05-03 15:58:57 -07:00
Ryan Houdek
3399052eaa
Make sure to setup ioctl32 handler table
2021-05-02 14:30:23 -07:00
Ryan Houdek
3df951695e
Adds Nouveau and Lima ioctl32 handlers
2021-05-02 13:05:46 -07:00
Stefanos Kornilios Mitsis Poiitidis
d6b7f32d33
AOTGen: Cleanup unwind symbol logic, add to x86-32 binaries
2021-05-02 11:08:12 +03:00
Stefanos Kornilios Mitsis Poiitidis
6dc69063f3
Merge pull request #1005 from Sonicadvance1/remove_numa
...
Remove reliance on librt and libnuma
2021-05-02 09:50:10 +03:00
Stefanos Kornilios Mitsis Poiitidis
2916c4f34c
Merge pull request #1004 from Sonicadvance1/redirect_self
...
Redirect applications using execve with self
2021-05-02 09:49:55 +03:00
Stefanos Kornilios Mitsis Poiitidis
04137d0da5
Merge pull request #1002 from Sonicadvance1/sigtimedwait
...
Initial base implementation of sigtimedwait
2021-05-02 09:49:49 +03:00
Stefanos Kornilios Mitsis Poiitidis
afa81294c9
Merge pull request #1001 from Sonicadvance1/more_ioctl32_emulation
...
More ioctl32 emulation
2021-05-02 09:49:44 +03:00
Ryan Houdek
86bdbe65e5
Implements missed x86-32 message queue syscalls
...
Nothing hit these but good to have them implemented
2021-05-01 17:40:33 -07:00
Ryan Houdek
63dee0e132
Remove reliance on librt and libnuma
...
These can fall down the raw syscall path
2021-05-01 17:40:33 -07:00
Ryan Houdek
6618bb809b
Redirect applications using execve with self
...
Fixes a step in the Java JRE and shapez.io
2021-05-01 11:09:44 -07:00
Ryan Houdek
9498a41f9b
More ioctl32 emulation
...
More DRM and i915 things, then wireless for some reason renderdoc relies on it
2021-05-01 09:40:02 -07:00
Ryan Houdek
1340ffabe4
Workaround fixes in sendmsg/recvmsg
...
Rebased and cleaned up #933
Needs to be larger allocations than what was originally proposed by #933
2021-05-01 09:37:01 -07:00
Ryan Houdek
b5115e096f
Initial base implementation of sigtimedwait
2021-05-01 09:35:29 -07:00
Ryan Houdek
a8881e8835
Adds option to force 32-bit allocator
2021-05-01 09:19:55 -07:00
Ryan Houdek
a19c0184a6
Keep using the 32-bit allocator if the kernel is old
...
Works around the Xavier boards running kernel 4.9
2021-05-01 09:06:39 -07:00
Ryan Houdek
2d0dced9e7
Work around old asound headers
2021-05-01 09:06:39 -07:00
Ryan Houdek
52cb96d630
Work around old DRM headers for i915
2021-05-01 09:06:39 -07:00
Ryan Houdek
c83a5d1bc3
Allow some more clone flags through with info log
2021-05-01 09:06:39 -07:00
Ryan Houdek
c20777d558
Change these log messages so we know which one failed
2021-05-01 09:06:38 -07:00
Ryan Houdek
9a0fc4e7e8
Workaround quick with memory allocator. Aligned 4GB regions are hard to allocate
2021-05-01 07:39:14 -07:00
Ryan Houdek
237865e064
Adds ioctl verification to struct verifier
2021-05-01 07:39:14 -07:00
Ryan Houdek
45223cc7e7
Adds initial ioctl emulation code
2021-05-01 07:39:14 -07:00
Ryan Houdek
b6344c4753
Removes old 32-bit allocator usage
...
Replaces with using host side allocations since we always have a 64-bit allocator in this case
2021-05-01 07:39:14 -07:00
Ryan Houdek
5143100a73
Switches more usages of memory allocation routines over to FEX internal
2021-05-01 07:39:14 -07:00
Stefanos Kornilios Mitsis Poiitidis
ab44f800f7
AOTgen: Cleaner interfaces, use LogMan
2021-05-01 09:40:50 +03:00
Stefanos Kornilios Mitsis Poiitidis
4bd997adaa
AOT: Postfix ir files with .aotir
2021-05-01 09:40:50 +03:00
Stefanos Kornilios Mitsis Poiitidis
244ef94e9b
AOTIR: Generate list of files with code, add Scripts/FEXUpdateAOTIRCache.sh to generate all files
2021-05-01 09:40:50 +03:00
Stefanos Kornilios Mitsis Poiitidis
a85ef061d1
AOITR: Add AOTIRGenerate fo FEXLoader option that does generation
2021-05-01 09:40:50 +03:00
Stefanos Kornilios Mitsis Poiitidis
ce9324f50f
Kinda-parse unwind table
2021-05-01 09:40:49 +03:00
Stefanos Kornilios Mitsis Poiitidis
0897fc4a0a
pretrans wip
2021-05-01 09:40:49 +03:00
Ryan Houdek
73e61b0c8e
Switches default logging output to stderr
...
stdout is too likely to break something
2021-04-30 18:28:45 -07:00
Ryan Houdek
a30866a886
Merge pull request #976 from FEX-Emu/skmp/aotir-mmap
...
AOTIR: Switch over to mmap-based loading
2021-04-30 18:24:54 -07:00
Ryan Houdek
f6cc75de87
Fixes SDL2 interface check...again.
2021-04-30 01:55:08 -07:00
Stefanos Kornilios Mitsis Poiitidis
32b4b02302
AOTIR: mmap based loading
2021-04-28 13:08:43 +03:00
Stefanos Kornilios Mitsis Poiitidis
aae4de106a
Merge pull request #992 from Sonicadvance1/optimize_cpuid
...
Optimizes CPUID generation a bit
2021-04-28 09:12:09 +03:00
Ryan Houdek
b17464d81a
Oops: Missed line on FEXConfig SDL2
2021-04-27 16:51:12 -07:00
Ryan Houdek
34a5eb6d6f
Optimizes CPUID generation a bit
...
The flags calculation is fairly intensive and we were doing it for every core.
Do it once then duplicate it per core instead
Improves generation time quite significantly. A couple of milliseconds converted to half a millisecond
Slight improvement to startup time
2021-04-27 01:09:28 -07:00
Ryan Houdek
2a1a863c58
Only use SDL2 import target if it exists
...
Should fix Arch and Ubuntu 20.04 together
2021-04-27 00:45:20 -07:00
Ryan Houdek
04e0baadc6
Changes LogMan assert to defines
...
C++ no-op functions can't optimize out the predicate arguments in all cases.
This was causing a problem where zero cost assertions weren't actually zero cost.
The only way to resolve this is to actually use macros sadly enough.
This will give a fairly hefty performance uplift with anything operating on IR.
2021-04-26 13:49:35 -07:00
Stefanos Kornilios Mitsis Poiitidis
b45b7c3441
IR: Remove Entry from OP_HEADER, pass as parameter to CompileCode
2021-04-25 13:15:23 +03:00
Stefanos Kornilios Mitsis Poiitidis
6635765ea9
Merge pull request #972 from Sonicadvance1/naked_mman
...
Naked mman usage removal
2021-04-22 09:47:41 +03:00
Ryan Houdek
93ed411899
Fixes ELFCodeLoader2 loading relative ELF files
2021-04-20 01:58:37 -07:00
Stefanos Kornilios Mitsis Poiitidis
8260ddda13
Merge pull request #970 from Sonicadvance1/sdl2_target_imports
...
Use cmake SDL2 target properties
2021-04-19 00:02:59 +03:00