Scott Mansell
2e5f59cdc1
Merge pull request #734 from Sonicadvance1/remove_warnings_4
...
Removes warnings from OpcodeDispatcher
2021-02-01 16:45:37 +13:00
Scott Mansell
767813eb97
Merge pull request #735 from Sonicadvance1/remove_warnings_5
...
Removes warning from X86Tables
2021-02-01 16:44:24 +13:00
Scott Mansell
9c81fbb2fd
Merge pull request #736 from Sonicadvance1/remove_warnings_6
...
Removes warning from IRDumper
2021-02-01 16:42:52 +13:00
Scott Mansell
5f624bec05
Merge pull request #733 from Sonicadvance1/remove_warnings_3
...
Removes warnings from x86-64 JIT.cpp
2021-02-01 16:42:10 +13:00
Scott Mansell
a156210064
Merge pull request #738 from Sonicadvance1/remove_warnings_9
...
Removes warnings from Register Allocation Pass
2021-02-01 16:32:05 +13:00
Scott Mansell
d4fbca3cbf
Merge pull request #732 from Sonicadvance1/remove_warnings_2
...
Removes warnings from Frontend
2021-02-01 16:23:29 +13:00
Scott Mansell
687176eca6
Merge pull request #741 from Sonicadvance1/remove_warnings_12
...
Removes warnings from HostFactory
2021-02-01 16:23:11 +13:00
Scott Mansell
c14dfb9d52
Merge pull request #737 from Sonicadvance1/remove_warnings_7
...
Removes warning from DeadStoreElimination
2021-02-01 16:15:12 +13:00
Scott Mansell
27adabef83
Merge pull request #740 from Sonicadvance1/remove_warnings_11
...
Removes warnings from ELFLoader
2021-02-01 16:14:43 +13:00
Scott Mansell
1d102b9e59
Merge pull request #731 from Sonicadvance1/remove_warnings_1
...
Removes warnings from SoftFloat-3e
2021-02-01 16:08:42 +13:00
Ryan Houdek
1b1e922830
Removes warnings from HostFactory
2021-01-31 08:01:53 -08:00
Ryan Houdek
436e6e96ce
Removes warnings from ELFLoader
2021-01-31 08:01:25 -08:00
Ryan Houdek
0c3ddd3016
Removes warnings from Register Allocation Pass
2021-01-31 08:00:28 -08:00
Ryan Houdek
a90e2268f9
Removes warning from DeadStoreElimination
2021-01-31 07:59:26 -08:00
Ryan Houdek
175078b739
Removes warning from IRDumper
2021-01-31 07:58:58 -08:00
Ryan Houdek
9e55f1b177
Removes warning from X86Tables
2021-01-31 07:58:08 -08:00
Ryan Houdek
6012fcfee6
Removes warnings from OpcodeDispatcher
2021-01-31 07:57:28 -08:00
Ryan Houdek
c2f4ea4646
Removes warnings from x86-64 JIT.cpp
2021-01-31 07:56:19 -08:00
Ryan Houdek
1f6017c37c
Removes warnings from Frontend
2021-01-31 07:55:26 -08:00
Ryan Houdek
47a6b49f7f
Removes warnings from SoftFloat-3e
2021-01-31 07:54:47 -08:00
Ryan Houdek
fc7e0ede03
Merge pull request #728 from FEX-Emu/skmp/lookupcache-hotfix
...
LookupCache: Fix crash on L2 insertion
2021-01-29 17:14:29 -08:00
Stefanos Kornilios Mitsis Poiitidis
1f7d815f3a
LookupCache: Fix crash on L2 insertion
2021-01-29 22:00:07 +02:00
Ryan Houdek
2edb14538f
Merge pull request #725 from FEX-Emu/skmp/single-compiler-backend
...
Core: Single compiler backend
2021-01-29 05:30:47 -08:00
Stefanos Kornilios Mitsis Poiitidis
9ecde7a0b8
Interpreter: Move execution to IntepreterOps::ExecuteIR, single core refactor
2021-01-29 15:17:37 +02:00
Ryan Houdek
f23fe030a1
Merge pull request #722 from FEX-Emu/skmp/ra-data
...
RA: Split RAData from RAPass, Optimize data packing, Cleanups
2021-01-29 05:16:18 -08:00
Stefanos Kornilios Mitsis Poiitidis
972219043d
Core: Refactor compilation driver, lifetime of objects
2021-01-29 10:42:55 +02:00
Stefanos Kornilios Mitsis Poiitidis
0e00d3dc15
RA: Optimize RAData
2021-01-29 10:42:48 +02:00
Stefanos Kornilios Mitsis Poiitidis
a45c2c34e9
RA: Use RAData directly
2021-01-29 10:42:40 +02:00
Stefanos Kornilios Mitsis Poiitidis
513112919b
RA: Move allocation data to RAData
2021-01-29 10:42:40 +02:00
Ryan Houdek
810143d304
Merge pull request #723 from FEX-Emu/skmp/lookup-cache-refactor
...
BlockCache -> LookupCache, L3C
2021-01-29 00:22:27 -08:00
Ryan Houdek
3973449245
Merge pull request #721 from FEX-Emu/skmp/compile-fix
...
Syscalls: Define MREMAP_DONTUNMAP if missing
2021-01-29 00:18:15 -08:00
Stefanos Kornilios Mitsis Poiitidis
791aa4c32c
LookupCache: Add a third level cache that will always resolve all known blocks
2021-01-29 01:53:12 +02:00
Stefanos Kornilios Mitsis Poiitidis
0c9e05ed8f
Rename BlockCache to LookupCache
2021-01-29 01:31:48 +02:00
Stefanos Kornilios Mitsis Poiitidis
d6ee3caad4
Syscalls: Define MREMAP_DONTUNMAP if missing
2021-01-28 17:09:08 +02:00
Ryan Houdek
ded559139c
Merge pull request #717 from Sonicadvance1/32bit_allocator
...
Finishes 32bit memory allocator
2021-01-27 11:00:46 -08: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
Stefanos Kornilios Mitsis Poiitidis
cc1000751a
Merge pull request #719 from Sonicadvance1/ioctl32
...
Implements ioctl32 for x86-64
2021-01-27 20:18:11 +02:00
Stefanos Kornilios Mitsis Poiitidis
f872e178ac
Merge pull request #718 from Sonicadvance1/32bit_sigret_handler
...
Forces SIGRET handler to the lower 32bits VA on 32bit processes
2021-01-27 20:16:51 +02: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
Stefanos Kornilios Mitsis Poiitidis
ec31dc0872
Merge pull request #716 from Sonicadvance1/describe_tag
...
Puts the FEX describe tag in CPUID
2021-01-27 20:10:46 +02:00
Stefanos Kornilios Mitsis Poiitidis
4c4b797f51
Merge pull request #715 from Sonicadvance1/fix_vixl_asserts
...
Fixes some asserts from vixl and a bug in ExitSpillSRA
2021-01-27 20:09:33 +02: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
Ryan Houdek
2437b89c7b
Forces SIGRET handler to the lower 32bits VA on 32bit processes
...
This is visible to the guest process so for 32bit it needs to be in the
lower 32bits.
2021-01-27 07:54:30 -08:00
Ryan Houdek
5673a0e213
Puts the FEX describe tag in CPUID
...
This is what shows up in /proc/cpuinfo
example on tagged release: 'model name : FEX-2101'
example on untagged release: 'model name : FEX-2101-64-g536be23f'
Fixes #661
2021-01-27 07:20:14 -08:00
Ryan Houdek
3df344a78d
Fixes some asserts from vixl and a bug in ExitSpillSRA
...
Assembler by default doesn't allow you to use the assembler. Needs a
CodeBufferCheckScope.
Labels with binds and not links will throw an assert.
ExitSpillSRA was using b instead of bind incorrectly.
Thus branching to a invalid location
2021-01-27 00:53:27 -08:00
Ryan Houdek
f58d018934
Enables vixl asserts when in debug mode globally
...
Fixes an issue where some header asserts were missed
2021-01-27 00:52:37 -08:00
Ryan Houdek
536be23f68
Merge pull request #704 from FEX-Emu/skmp/add-gcc-target-tests
...
Add gcc target tests
2021-01-26 15:45:12 -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