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
Stefanos Kornilios Mitsis Poiitidis
568fb3643d
Syscalls/x86-32: Fix selects to actually remarshal the sets after running the host syscall
2021-02-16 02:35:38 +02:00
Scott Mansell
3d6461f0ca
BRK: don't munmap if mmap failed
2021-02-09 17:29:44 +13:00
Scott Mansell
46ec7c406f
emulated-cpuid: add some comments
2021-02-09 13:03:49 +13:00
Scott Mansell
a28acf5505
Fix the number of physical cpus reported.
2021-02-09 12:52:27 +13:00
Ryan Houdek
0aaed41f72
Merge pull request #751 from FEX-Emu/skmp/fix-fchmodat-faccessat
...
Syscalls: chmodat, faccessat glibc interface differs from kernel
2021-02-02 05:52:38 -08:00
Stefanos Kornilios Mitsis Poiitidis
4d05438796
Merge pull request #747 from phire/android_build_fixes
...
Android build fixes
2021-02-02 14:40:34 +02:00
Stefanos Kornilios Mitsis Poiitidis
f9aa457e3f
Syscalls: chmodat, faccessat glibc interface differs from kernel
2021-02-02 14:35:27 +02:00
Stefanos Kornilios Mitsis Poiitidis
a3b5234d1c
HarnessHelpers: Fix empty arg forwarding
2021-02-02 14:19:23 +02:00
Scott Mansell
9fa108ff33
Move -lnuma to correct place
2021-02-02 16:47:55 +13:00
Scott Mansell
45962098ef
Refactor LinuxSyscalls to it's own static library
2021-02-02 16:47:55 +13:00
Scott Mansell
622c437829
undef PAGE_SIZE if it's defined
...
The android NDK defines this.
2021-02-02 16:47:55 +13:00
Scott Mansell
16e7ba6fa8
Move nasm check inside unit tests
...
Allow building of fex without nasm if unit tests are disabled
2021-02-02 16:47:55 +13:00
Scott Mansell
93d5cdde1f
Fix missing libc++ includes
...
gnu's libc++ is lenient and allows you to miss includes at times.
Android's binoic is more strict and needs these fixes to build.
2021-02-01 21:08:45 +13:00
Ryan Houdek
1b1e922830
Removes warnings from HostFactory
2021-01-31 08:01:53 -08:00
Stefanos Kornilios Mitsis Poiitidis
513112919b
RA: Move allocation data to RAData
2021-01-29 10:42:40 +02:00
Stefanos Kornilios Mitsis Poiitidis
d6ee3caad4
Syscalls: Define MREMAP_DONTUNMAP if missing
2021-01-28 17:09:08 +02:00
Ryan Houdek
a98eaa6a27
Finishes 32bit memory allocator
...
This was partially implemented before but it had some bugs still.
This fixes those bugs and also implements mremap, shmat, and shmdt.
This now works well enough for 32bit graphical applications
2021-01-27 10:49:28 -08:00
Ryan Houdek
2d8b70bbd5
Merge pull request #710 from Sonicadvance1/brk_improvements
...
More improvements to BRK handling
2021-01-27 10:49:07 -08:00
Ryan Houdek
a5d9e62cc6
More improvements to BRK handling
...
Base size is now only one page in size. We will then increment that BRK
size by 8MB alignments. 256MB for 32bit applications was causing some
applications on the edge to run out of virtual memory
I was hitting some 32bit applications that were being fairly mean with
BRK. They were allocating all of BRK space then running out of virtual
memory space with its mmap handler fallback after freeing BRK space.
This means we now munmap BRK pages on release for the guest, similar to
behaviour that Linux does.
Additionally I had an application that was getting very upset that BRK
wasn't actually at the end of program space. So allocate at the end of
program space like expected.
brk test now passes from gvisor
2021-01-27 10:12:25 -08:00
Ryan Houdek
15df787710
Implements ioctl32 for x86-64
...
If you have the COMPAT feature enabled then this just works there.
AArch64 not implemented currently since changes aren't upstream
2021-01-27 08:02:49 -08:00
Stefanos Kornilios Mitsis Poiitidis
8ff0b870b1
Merge pull request #712 from Sonicadvance1/fix_timers
...
Fixes timer syscall API
2021-01-26 15:33:00 +02:00
Ryan Houdek
3679156dd7
Fixes timer syscall API
...
The glibc and kernel timer interfaces are sufficiently different enough
that unwrapping this through glibc is impossible.
Pass it directly through to the kernel.
2021-01-26 05:02:44 -08:00
Ryan Houdek
cab317e2f0
Removes all references to Boost
...
We don't require this
Fixes #699
2021-01-26 02:34:26 -08:00
Ryan Houdek
2721418fb7
Merge pull request #698 from phire/better_defaults
...
Better Default Configuration
2021-01-22 16:56:29 -08:00
Scott Mansell
3cae0a0932
Better Default Configuration
...
Make FEX have good performance out of the box
resolves #685
2021-01-23 13:47:53 +13:00
Stefanos Kornilios Mitsis Poiitidis
8b025d4c26
IRLoader: Actually set EntryRIP if the IR was parsed
2021-01-21 22:19:16 +02:00
Stefanos Kornilios Mitsis Poiitidis
e7f2a650b5
Fix compilation
2021-01-21 22:18:48 +02:00
Stefanos Kornilios Mitsis Poiitidis
3bd8731b26
IR: Add CONFIG_VALIDATE_IR_PARSER, enable it on TestHarnessRunner
2021-01-21 21:38:41 +02:00
Stefanos Kornilios Mitsis Poiitidis
1177c375ff
IR: Further parser cleanups, add fence types
2021-01-21 21:17:27 +02:00