Stefanos Kornilios Mitsis Poiitidis
d34cde12ae
Merge pull request #850 from Sonicadvance1/struct_verifier
...
libclang based Struct verifier written in python
2021-03-19 10:06:34 +02:00
Ryan Houdek
bdeefa7bf0
Merge pull request #861 from Sonicadvance1/add_version_config
...
Implements a --version argument
2021-03-18 12:39:00 -07:00
Stefanos Kornilios Mitsis Poiitidis
0106b362d6
EmulatedFiles: Lock around FDToNameMap accesses
2021-03-18 12:45:27 +02:00
Ryan Houdek
9b2bd8df28
Implements a --version argument
...
Nicer for the user to determine what their version is
2021-03-17 00:00:57 -07:00
Ryan Houdek
2a074204bc
Merge pull request #859 from Sonicadvance1/improve_fexinterpreter_msg
...
Adds an installer message to the FEXInterpreter install
2021-03-16 23:13:12 -07:00
Ryan Houdek
d79fb37135
Merge pull request #858 from Sonicadvance1/remove_testharness
...
Removes TestHarness
2021-03-16 23:13:03 -07:00
Ryan Houdek
d01b40c5aa
Adds an installer message to the FEXInterpreter install
...
Otherwise it doesn't feel like FEXInterpreter is installing
2021-03-16 22:36:58 -07:00
Ryan Houdek
e871a43387
Merge pull request #857 from phire/deletething
...
Remove old and unused HostCore
2021-03-16 22:30:30 -07:00
Ryan Houdek
62aab57ef7
Removes TestHarness
...
This has been completely deprecated for favour of the TestHarnessRunner instead.
Is unused.
2021-03-16 22:14:49 -07:00
Scott Mansell
208fa0d1fc
Remove old and unused HostCore
...
The thing we are actually using is Source/CommonCore/HostFactory.cpp
2021-03-17 18:09:49 +13:00
Ryan Houdek
634d4fead0
Removes libcap-dev dependency
...
We are only using this for syscalls getcap and setcap.
These are only passthrough pointers and don't need to be handled from a library.
Noticed this while writing user documentation
2021-03-16 22:08:15 -07:00
Ryan Houdek
4f64ba582c
Patch up the remaining 32bit structs
2021-03-15 15:51:59 -07:00
Ryan Houdek
aacb0f6891
Adds new struct_verifier ctest to cmake
...
Currently only testing 32bit syscall struct definitions
2021-03-15 15:24:49 -07:00
Ryan Houdek
040cc746e7
Fixes FEXConfig trying to update full refresh
...
This burns a decent amount of CPU time just idling and we don't have active screen elements to matter here
It's still responsive because it'll update as the window gets any events
2021-03-15 09:46:49 -07:00
Ryan Houdek
9dc0717cdb
Attributes a few 32bit syscall types
...
This will be necessary for struct verification in the next commit
rusage needed to be updated to match the real rusage. Has unions with two named types
2021-03-15 06:58:06 -07:00
Ryan Houdek
3a0b475cfa
Wrap /proc/version where we were leaking host kernel information
...
drops the correct FEX version in to the string as well
2021-03-12 20:29:35 -08:00
Ryan Houdek
4ece56ac4d
Fixes uname version string
...
This wasn't following the correct format and it never actually had a working FEX_VERSION define.
Now it pulls in the GIT_DESCRIBE_STRING and brings in the correct date + time format
2021-03-12 20:29:35 -08:00
Ryan Houdek
ea7af248e8
Ensure programs can pull in git_version.h
2021-03-12 20:29:35 -08:00
Stefanos Kornilios Mitsis Poiitidis
e9afabc4cb
Merge pull request #827 from FEX-Emu/skmp/thunks-json
...
Thunks: Add Thunk json, thunk guest folder
2021-03-11 11:05:23 +02:00
Ryan Houdek
6b860cd68e
Merge pull request #839 from Sonicadvance1/more_32bit_syscalls
...
Adds a couple new 32bit syscalls found while running Steam
2021-03-10 21:34:31 -08:00
Ryan Houdek
ddce28df11
Merge pull request #834 from Sonicadvance1/cleanup_clang_tidy_iwyu
...
Moves clang-tidy arguments to root cmakelists
2021-03-10 17:47:19 -08:00
Ryan Houdek
0dc7fd75e1
Adds a couple new 32bit syscalls found while running Steam
...
These are straightforward to implement. Only a few dozen more syscalls missing on 32bit
2021-03-10 17:43:21 -08:00
Ryan Houdek
1ddfa3e7ed
Moves clang-tidy arguments to root cmakelists
...
This way we don't need to redeclare the arguments twice
Also moves IWYU lower so it doesn't hit any external projects other than FEXCore
Still not running these since everything needs to be cleaned up anyway
2021-03-10 12:38:16 -08:00
Ryan Houdek
e2ec645855
Extends error message about not being able to find guest interpreter
...
Passes the result back up to the frontend as well which allows us to early exit correctly.
Also ensures that we return ENOEXEC on these error cases so if someone is waiting on a return value, they don't just get zero
Fixes #757
2021-03-10 11:11:36 -08:00
Stefanos Kornilios Mitsis Poiitidis
f0d3004363
Thunks: Add Thunk json, thunk guest folder
2021-03-10 15:51:34 +02:00
Stefanos Kornilios Mitsis Poiitidis
449ea3e80b
Signals: SA_NOCLDSTOP only blocks CLD_CONTINUED/STOPPED/TRAPPED
2021-03-10 11:25:40 +02:00
Scott Mansell
6ed36e3304
Refactor syscalls to take Frame
...
The vast majoirty of syscalls don't need anything in thread or frame.
So lets save an indirection for all those syscalls.
Most of the syscalls which do need Thread (or CTX via
Thread are in Thread.cpp or Memory.cpp
These have all been modifiy to fetch Thread from Frame
2021-03-09 20:28:50 +13:00
Scott Mansell
35c01038ba
Seperate per-thread and per-frame state
2021-03-09 20:27:44 +13:00
Ryan Houdek
a3ba1ae199
Deduplicates some configuration data
...
Configuration mapping was duplicated between three different tables.
Additionally default configuration values were strewn about. Making it confusing as to what the default value would end up being
Adds a new ConfigValues.inl header that defines a few things right next to each other.
Defines the enum name as usual.
Defines the JSON config option name.
Defines the Environment config option name
Defines the default value that the configuration should be
2021-03-08 22:53:41 -08:00
Stefanos Kornilios Mitsis Poiitidis
3978097f15
Merge pull request #705 from FEX-Emu/skmp/mmap-cache-flushing
...
Flush IR/Code cache on mmap, mmunmap & mprot
2021-03-03 12:59:29 +02:00
Stefanos Kornilios Mitsis Poiitidis
613e5b66ba
SMC: Expand --smc-checks options to 'none', 'mman', 'full'
2021-03-03 12:49:23 +02:00
Stefanos Kornilios Mitsis Poiitidis
e92578817d
SMC: Flush IR/Code cache on mmap, mmunmap & mprot
2021-02-26 13:22:05 +02:00
Ryan Houdek
9746e0175e
Change unsupported faccessat2 to use safe syscall unsupported
2021-02-25 13:45:24 -08:00
Ryan Houdek
d78a3784fb
Guards SYS_faccessat2 define for new enough glibc defines
2021-02-25 13:44:40 -08:00
Ryan Houdek
7dd5252d68
Implements support for faccessat2 in syscallhandler
...
Only exists if the host kernel is >= 5.8.0.
2021-02-24 09:52:30 -08:00
Ryan Houdek
ac92a103df
Adds support for faccessat2 to FileManager
2021-02-24 09:51:29 -08:00
Ryan Houdek
74a00fee0f
Updates syscall definitions enums
2021-02-24 09:51:03 -08:00
Stefanos Kornilios Mitsis Poiitidis
075cd423ed
AOTIR: Review feedback
2021-02-23 12:08:57 +02:00
Stefanos Kornilios Mitsis Poiitidis
bdcf3ff606
AOTIR: Merge IRLists, RALists and DebugDataLists to LocalIRCache; cleanups and fixups
2021-02-23 12:08:57 +02:00
Stefanos Kornilios Mitsis Poiitidis
abb2e09c20
AOTIR: Add support for 32-bit process
2021-02-23 12:08:57 +02:00
Stefanos Kornilios Mitsis Poiitidis
b3d12fbb7b
AOTIR: Cleanup interface
2021-02-23 12:08:57 +02:00
Stefanos Kornilios Mitsis Poiitidis
fafc987eab
AOTIR: Rename Generate to Capture
2021-02-23 12:08:57 +02:00
Stefanos Kornilios Mitsis Poiitidis
d825ed2b03
AOTIR: Reduce map lookup
2021-02-23 12:08:57 +02:00
Stefanos Kornilios Mitsis Poiitidis
3e1e093b24
AOTIR: Store in ~/.fex-emu/aotir, per so
2021-02-23 12:08:57 +02:00
Stefanos Kornilios Mitsis Poiitidis
be40d1604a
Improve aotir format
2021-02-23 12:08:57 +02:00
Stefanos Kornilios Mitsis Poiitidis
47d4481a75
AOTIR: Support relocations via new ir op
2021-02-23 12:08:57 +02:00
Stefanos Kornilios Mitsis Poiitidis
57680a8614
AOTIR: Add --aotir-generate and --aotir-load to FEXLoader & Config
2021-02-23 12:08:57 +02:00
Stefanos Kornilios Mitsis Poiitidis
66bdface49
AOTIR: Make copies for insertions, only cache RA'd blocks
2021-02-23 12:08:57 +02:00
Stefanos Kornilios Mitsis Poiitidis
816c4656df
IR: Add AOT Cache
2021-02-23 12:08:57 +02:00
Ryan Houdek
d3e98fedb4
Pulls uname nodename from host system
...
Hardcoding FEXCore as the nodename is an annoyance.
Pull the host's nodename instead.
Fixes #600
2021-02-22 22:39:05 -08:00