Commit Graph
855 Commits
Author SHA1 Message Date
Stefanos Kornilios Mitsis Poiitidis d481bd4ffc Merge pull request #541 from Sonicadvance1/remove_sonicutils
Moves SonicUtils in to FEXCore
2020-12-03 16:54:56 +02:00
Stefanos Kornilios Mitsis Poiitidis 7c40083106 Merge pull request #539 from Sonicadvance1/more_64bit_syscall_movement
Moves 64bit sigaltstack and execve to 64bit files
2020-12-03 16:51:38 +02:00
Ryan Houdek a28df9f5c1 Moves SonicUtils in to FEXCore
Removes the extraneous and dead VM CPU backend
2020-11-29 00:30:28 -08:00
Ryan Houdek 638201254a Moves 64bit sigaltstack and execve to 64bit files
These need specific 32bit handling
2020-11-27 20:33:23 -08:00
Ryan Houdek 94b034db6c Moves shmat to 64bit memory specific file
This removes the bad attempt to keep shm regions in our 64GB shm region

This will need to be handled specially on the 32bit side through its
memory management once we have that wired up
2020-11-27 00:32:25 -08:00
Ryan Houdek e23ae78795 Merge pull request #537 from Sonicadvance1/move_memory_x64
Moves some memory op implementations to x64 file
2020-11-27 00:20:10 -08:00
Ryan Houdek 55129bed41 Merge pull request #536 from Sonicadvance1/move_getdents_x64
Moves the getdents implementations for x64
2020-11-27 00:19:33 -08:00
Ryan Houdek 516db28a20 Moves some memory op implementations to x64 file
These will need to be unique for 32bit
2020-11-26 18:06:27 -08:00
Ryan Houdek b228d6bad1 Moves the getdents implementations for x64
These end up being different for x32 so move them now
2020-11-26 17:58:32 -08:00
Ryan Houdek fb973f23dd Fixes manufacturer id for CPUID fn8000_0000
This has the same vendor ID in the as CPUID fn0000_0000
2020-11-26 17:44:46 -08:00
Scott Mansell ee98cbfe3f IR: Remove Rol as it's not native to ARM 2020-11-26 14:00:24 +13:00
Scott Mansell 0ec6e40a67 IR: Remove 8/16bit ROR
Opcode Dispatcher will now explictly emualte them
2020-11-26 14:00:24 +13:00
Scott Mansell 5b1d4eadd4 IR: Make BFI sizes explicit
Otherwise they can be quite hard to get right.
2020-11-26 12:40:37 +13:00
Ryan Houdek 269c73f60b Merge pull request #531 from Sonicadvance1/remove_dead_tls
Removes dead TLS setting code
2020-11-25 13:45:29 -08:00
Scott Mansell 5ca6435dd5 GdbServer: Add Hacky segfault signal handling 2020-11-26 10:36:29 +13:00
Scott Mansell cf8365d923 Core: Fix start paused
Otherwise we can't attach to the program
with GDB server before it runs.
2020-11-26 10:19:55 +13:00
Ryan Houdek 6605c6e6eb Removes dead TLS setting code
This is no longer necessary now that phire fixed mapping of static elfs
2020-11-25 13:18:57 -08:00
Ryan Houdek 830d8146cf Support unity+mono+bdwgc sigsuspend GC shenanigans 2020-11-20 01:07:54 -08:00
Ryan Houdek f32bc6a5a5 Merge pull request #489 from FEX-Emu/skmp/cc-bypass
OpDisp: flags bypass
2020-11-20 00:48:37 -08:00
Ryan Houdek 1aae6bd231 Revert "Adds resizable frontend decoded buffer"
This reverts commit c122516077.
2020-11-20 00:06:30 -08:00
Ryan Houdek 4503f41957 Merge pull request #473 from FEX-Emu/skmp/memops-addressgen
Complex address generation for Load/StoreMem
2020-11-19 23:57:20 -08:00
Ryan Houdek c430f10c86 Implements a threaded compile service routine
This is made to be completely synchronous to a thread
2020-11-18 10:07:47 -08:00
Stefanos Kornilios Mitsis Poiitidis 0d1fc2869d Merge pull request #512 from Sonicadvance1/cpubackend_compile_service
Adds support for the CPUBackends to run in a compile thread
2020-11-18 20:04:58 +02:00
Stefanos Kornilios Mitsis Poiitidis 59c9138282 Merge pull request #511 from Sonicadvance1/compile_service_shared_data
Adds function for copying data required for threaded compiler
2020-11-18 20:03:27 +02:00
Stefanos Kornilios Mitsis Poiitidis ee2c1cf925 Merge pull request #509 from Sonicadvance1/fix_cache_clear
Fixes cache clear bug on x86_64
2020-11-18 11:16:19 +02:00
Stefanos Kornilios Mitsis Poiitidis ab08544f8e Merge pull request #508 from Sonicadvance1/cpu_count_file
Captures another CPU count file
2020-11-18 11:15:45 +02:00
Stefanos Kornilios Mitsis Poiitidis 5ff2e0edf7 Merge pull request #507 from Sonicadvance1/resizable_frontend_buffer
Adds resizable frontend decoded buffer
2020-11-18 11:14:41 +02:00
Stefanos Kornilios Mitsis Poiitidis d288602eeb Merge pull request #505 from Sonicadvance1/fix_missing_pragma
Adds missing pragma in RA pass
2020-11-18 11:11:55 +02:00
Ryan Houdek c677fdf3e1 Adds support for the CPUBackends to run in a compile thread
These take different paths depending on if it was for a compile thread
or not
2020-11-17 14:07:18 -08:00
Ryan Houdek edce88e66e Ensures that we don't try and free the Dispatcher code if it doesn't
exist

This doesn't happen yet but it will soon
2020-11-17 14:07:10 -08:00
Ryan Houdek 47d47fac86 Adds function for copying data required for threaded compiler
These structures need to be shared to the threaded compiler, so set it
up for copying.

Will be necessary for the compile service
2020-11-17 13:48:10 -08:00
Ryan Houdek f775bea63f Fixes cache clear bug on x86_64
On cache clear this would munmap pages 1.5x past the code cache.
This most certainly leads to spurious bugs
2020-11-17 13:03:53 -08:00
Ryan Houdek 71a9f2cb71 Captures another CPU count file
Some application was using this to determine CPU count as well
2020-11-17 12:56:18 -08:00
Ryan Houdek c122516077 Adds resizable frontend decoded buffer
Allows us to save memory in the frontend decoder by starting out with a
small buffer until we hit larger code blocks.
2020-11-17 12:43:26 -08:00
Ryan Houdek a1dacf87ac Adds missing pragma in RA pass 2020-11-17 12:29:28 -08:00
Ryan Houdek d17530623b Ensures pass validation goes through LogManager
Now that it supports large strings we can push these through here.
We really need to avoid touching stdout/stderr as an interpreter
2020-11-17 12:28:17 -08:00
Stefanos Kornilios Mitsis Poiitidis 42be02b84c JITs: Review feedback 2020-11-17 16:46:23 +02:00
Stefanos Kornilios Mitsis Poiitidis e228295f6e Jit: Remove conditional TSO on backends 2020-11-17 16:42:21 +02:00
Stefanos Kornilios Mitsis Poiitidis 92eb140510 OpDisp: Rename TSO helper to _Load/_StoreAutoTSO 2020-11-17 16:39:38 +02:00
Stefanos Kornilios Mitsis Poiitidis 4ec41088e3 Typofix: UnwarpNode -> UnwrapNode 2020-11-17 16:25:00 +02:00
Stefanos Kornilios Mitsis Poiitidis f38179913a IR: Swith MemoryOffsetType to a type from uint8_t 2020-11-17 16:23:50 +02:00
Stefanos Kornilios Mitsis Poiitidis d7191891a0 Load/Store: Use ->Addr and ->Offset in Interpreter 2020-11-17 16:23:50 +02:00
Stefanos Kornilios Mitsis Poiitidis 0e329f4e05 Load/StoreMem: Cleanup Complex address gen 2020-11-17 16:23:50 +02:00
Stefanos Kornilios Mitsis Poiitidis b82c8b9e92 ConstProp: Fix inline consts for load/storemem 2020-11-17 16:23:50 +02:00
Stefanos Kornilios Mitsis Poiitidis 703a025a38 IR/Arm64: Inline Constants for MemoryOps 2020-11-17 16:23:50 +02:00
Stefanos Kornilios Mitsis Poiitidis 552f5db006 TSO: Only emit if enabled 2020-11-17 16:23:50 +02:00
Stefanos Kornilios Mitsis Poiitidis 9fdd2a5b10 LoadMem/StoreMem: Add OffsetType, OffsetScale 2020-11-17 16:23:50 +02:00
Stefanos Kornilios Mitsis Poiitidis f0cedab31c Fix unified mem, Add interpreter 2020-11-17 16:23:50 +02:00
Stefanos Kornilios Mitsis Poiitidis 2ff55a0420 Add arm64 backend, disable for TSO 2020-11-17 16:23:50 +02:00
Stefanos Kornilios Mitsis Poiitidis 74254a1a9c IR: Load/Store mem with two args 2020-11-17 16:23:48 +02:00