Ryan Houdek
f6cc75de87
Fixes SDL2 interface check...again.
2021-04-30 01:55:08 -07: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
Ryan Houdek
5820c251e8
Fixes OpenAt breaking with anonymous objects
...
Fixes #753
2021-04-16 21:21:08 -07:00
Ryan Houdek
eff97509c0
Replaces naked mman usage in TestHarnessRunner
2021-04-16 21:01:59 -07:00
Ryan Houdek
3128d0c148
Replaces naked mman usage in SyscallHandler
2021-04-16 21:01:39 -07:00
Ryan Houdek
0216d7b552
Replaces naked mman usage in x86-64 syscalls
2021-04-16 21:01:07 -07:00
Ryan Houdek
87b473c7ee
Replaces naked mman usage in IRLoader
2021-04-16 21:00:51 -07:00
Ryan Houdek
f9d647c852
Replaces naked mman usage in HarnessHelpers
2021-04-16 21:00:19 -07:00
Ryan Houdek
2c175f1e0b
Replaces naked mman usage in FEXLoader
2021-04-16 21:00:01 -07:00
Ryan Houdek
96813b0d6c
Replaces naked mman usage in ELFCodeLoader
2021-04-16 20:59:27 -07:00
Ryan Houdek
e9aeebb3a1
Use cmake SDL2 target properties
...
Some distros include generated cmake files instead of the two cmake files from the source.
Distros that use the generated cmake files only have SDL import properties, so we are required
to use those.
2021-04-16 18:45:06 -07:00
Ryan Houdek
08bc7a8364
Merge pull request #967 from FEX-Emu/skmp/new-elf-loading
...
ELF: Simpler loader, uses mmap
2021-04-16 18:35:56 -07:00
Stefanos Kornilios Mitsis Poiitidis
13bfdcad06
Emulated Files: Don't precalculate /proc/pid path, it changes after fork
2021-04-15 15:33:10 +03:00
Stefanos Kornilios Mitsis Poiitidis
38a707b38e
Add missing functions to elfcodeloader2
2021-04-15 13:51:22 +03:00
Stefanos Kornilios Mitsis Poiitidis
ada7915b01
Convert an assert to log
2021-04-15 13:40:28 +03:00
Stefanos Kornilios Mitsis Poiitidis
9775a2148e
Fix rootfs interpreter loading
2021-04-15 12:16:33 +03:00
Stefanos Kornilios Mitsis Poiitidis
bc8696828b
More logging
2021-04-15 12:14:55 +03:00
Stefanos Kornilios Mitsis Poiitidis
7d792e65f0
Rootfs, assert fixes
2021-04-15 12:04:42 +03:00
Stefanos Kornilios Mitsis Poiitidis
14b5b881c5
Add more logging
2021-04-15 11:47:42 +03:00
Stefanos Kornilios Mitsis Poiitidis
830e41459c
Fix build for test harness, irloader
2021-04-15 11:05:07 +03:00
Stefanos Kornilios Mitsis Poiitidis
0db99ea4f6
Use allocator for x32
2021-04-15 10:51:16 +03:00
Stefanos Kornilios Mitsis Poiitidis
22f1cf0e2a
More wip
2021-04-15 10:05:59 +03:00
Stefanos Kornilios Mitsis Poiitidis
80493487db
ELF Loading: Cleanups all around
2021-04-14 10:59:23 +03:00
Stefanos Kornilios Mitsis Poiitidis
59ce750af6
Elf: Add ELFCodeLoader2, with simplified loading logic
2021-04-13 15:59:36 +03:00
Stefanos Kornilios Mitsis Poiitidis
a0a382cc5c
Clear up file naming a big
2021-04-13 15:59:36 +03:00
Ryan Houdek
6cc7d065aa
Merge pull request #964 from Sonicadvance1/paranoid_tso
...
First step in paranoid TSO mode
2021-04-12 23:34:54 -07:00
Ryan Houdek
cc0c45cf47
Switches FEX over to using jemalloc
...
This is the first step that we need to do for correct 32-bit memory allocations.
2021-04-08 12:42:37 -07:00
Ryan Houdek
849b83bd02
Adds new ParanoidTSO option
2021-04-06 18:46:52 -07:00
Ryan Houdek
235f6fbe39
Strip symbols and dead sections
...
These are unnecessary and just add some file bloat. Strip them out
2021-04-06 00:39:03 -07:00
Stefanos Kornilios Mitsis Poiitidis
5e6c6adf8b
Merge pull request #956 from Sonicadvance1/enable_gcc_32_tests
...
Enables GCC 32-bit unit tests
2021-04-06 09:48:38 +03:00
Ryan Houdek
0cb53fff89
Change kernel version error to not be fatal
2021-04-05 23:09:06 -07:00
Ryan Houdek
f1663abe81
Removes getenv usage for aotir
...
We can't rely on `getenv("HOME")` always working.
Have the AOTIR code use the helper method for getting the data directory instead.
2021-04-04 21:43:14 -07:00
Ryan Houdek
8319a85524
Merge pull request #946 from Sonicadvance1/fix_eventfd
...
Fixes eventfd and eventfd2
2021-04-03 06:52:32 -07:00
Ryan Houdek
8ad45071e4
Merge pull request #945 from Sonicadvance1/fix_truncate_creat
...
Fixes truncate and creat
2021-04-03 06:47:31 -07:00
Ryan Houdek
3379f3a8f9
Fixes eventfd and eventfd2
...
glibc function signature doesn't match kernel
2021-04-03 06:46:28 -07:00
Stefanos Kornilios Mitsis Poiitidis
c76205040e
Merge pull request #944 from Sonicadvance1/fix_clock_nanosleep
...
Fixes clock_nanosleep
2021-04-03 11:09:46 +03:00
Stefanos Kornilios Mitsis Poiitidis
648ef617cf
Merge pull request #943 from Sonicadvance1/fix_fexconfig_unnamed_options
...
Fixes FEXConfig filling in unnamed options
2021-04-03 11:09:21 +03:00
Ryan Houdek
5d63dc179c
Fixes truncate and creat
...
These were using the passthrough helper which doesn't was breaking the result value
2021-04-02 20:45:33 -07:00
Ryan Houdek
858566c356
Fixes clock_nanosleep
...
glibc version behaves slightly differently than kernel
2021-04-02 20:41:04 -07:00
Ryan Houdek
fb94e62df1
Fixes FEXConfig filling in unnamed options
...
These aren't meant to be set by the user
2021-04-02 20:28:12 -07:00
Ryan Houdek
51e4fe7f0a
Fixes wrapping cmdline arguments
...
In case an application checks this
2021-04-02 20:26:28 -07:00
Ryan Houdek
6923c47a70
Fixes pselect6 signal arg pack argument
...
This doesn't exactly match the glibc call so do the syscall directly
2021-04-02 13:23:07 -07:00