Ryan Houdek
169875c34d
Merge pull request #155 from Sonicadvance1/non_temporal
...
Implements two non-temporal XMM move instructions
2020-04-29 12:27:22 -07:00
Ryan Houdek
536eb7ec3e
Merge pull request #154 from Sonicadvance1/more_satalu
...
Implements six more saturating arithmetic instructions
2020-04-29 12:27:10 -07:00
Ryan Houdek
523562cc6d
Merge pull request #153 from Sonicadvance1/more_syscalls3
...
Implements 9 new syscalls
2020-04-29 12:26:59 -07:00
Ryan Houdek
fb88100a7e
Merge pull request #152 from Sonicadvance1/implement_open_syscall
...
Implements the open syscall
2020-04-29 12:26:46 -07:00
Ryan Houdek
a7e2198586
Merge pull request #151 from Sonicadvance1/fix_epoll_create
...
Fixes epoll_create syscall
2020-04-29 12:26:32 -07:00
Ryan Houdek
1ee9070e8f
Merge pull request #150 from Sonicadvance1/fix_x86_code_overflow
...
Fixes crash that occurs when the x86-64 JIT code cache gets full
2020-04-29 12:26:11 -07:00
Ryan Houdek
a0537ed630
Merge pull request #149 from Sonicadvance1/fix_syscall_memleak
...
Fixes memory leak on shutdown for syscall handlers
2020-04-29 12:25:55 -07:00
Ryan Houdek
2f56c475e2
Fixes memory leak on shutdown for syscall handlers
...
Switches it over to a unique_ptr to ensure it doesn't happen again.
2020-04-26 18:15:52 -07:00
Ryan Houdek
3528b30684
Fixes loading EXEC applications in to memory.
...
If we are loading EXEC then we actually need to start loading in to the
lower 32bits of memory.
This lets the frontend code loader handle the memory base instead of
hiding it behind some core magic instead.
This lets us get EXEC programs working.
So now we support EXEC, DYN, and static applications
2020-04-26 18:11:48 -07:00
Ryan Houdek
986263bccc
Fixes ELFLoader's check for dynamic program
...
This wasn't right in a case that a program would load the dynamic
linker.
The dynamic linker can be a dynamic program which was causing some
problems and the dynamic Program will then just be set based on the
header type
2020-04-26 18:04:10 -07:00
Ryan Houdek
f3f63251ea
Merge pull request #124 from Sonicadvance1/fix_cache_clear_crash
...
Fixes crashes when code cache is cleared
2020-04-26 18:02:54 -07:00
Ryan Houdek
589b6e6368
Implements a popf unit test
2020-04-26 00:14:51 -07:00
Ryan Houdek
bdf0008c61
Implements a pushf unit test
...
Missed this during the implementation.
Checks to make sure we get the default initialization value for rflags
2020-04-26 00:14:43 -07:00
Ryan Houdek
0665599e30
Implements an fwait unit test
...
Just ensures execution works since we don't have exception support
2020-04-25 23:54:09 -07:00
Ryan Houdek
ec87131939
Implements fwait as a nop
...
Since we don't yet support instruction exceptions this is nothing but a
nop.
2020-04-25 23:53:30 -07:00
Ryan Houdek
2dce16190d
Implements JRCXZ unit test
2020-04-25 22:07:24 -07:00
Ryan Houdek
c726e3ef51
Implements JRCXZ in the OpcodeDispatcher
...
This only operates on 64bit and 32bit RCX register. the 16bit encoding
isn't possible in 64bit mode.
2020-04-25 22:06:46 -07:00
Ryan Houdek
ad467c5b30
Adds new vector float negate and float add horizontal IR ops
2020-04-25 17:55:37 -07:00
Ryan Houdek
0c88f12801
Merge pull request #159 from dmiller423/cmake_pkg_find
...
CMake checks for Boost && Nasm in ./Source/Tests/CMakeLists.txt
2020-04-25 11:58:56 -07:00
David Miller
9b8871fee6
added checks for ./Source/Tests/ {Boost,NASM}
2020-04-25 14:55:28 -04:00
Ryan Houdek
4c83b0d201
Merge pull request #158 from dmiller423/default_U
...
Default UnifiedMemory, ensure TestHarnessRunner doesn't enable it.
2020-04-25 11:52:11 -07:00
David Miller
c77a3c0c02
changed default value of FEXCore::Context::Config::UnifiedMemory to proper location
2020-04-25 14:34:34 -04:00
David Miller
e9003acf36
Ensure TestHarnessRunner doesn't enable UnifiedMemory.
2020-04-25 12:56:37 -04:00
David Miller
0c51baf7a8
Added default Config::UnifiedMemory value to true
2020-04-25 12:49:41 -04:00
Ryan Houdek
bf5dbdf143
Adds reciprocal unit tests
2020-04-24 23:36:01 -07:00
Ryan Houdek
4ae33147f5
Implements support for rcpps/rcpss
2020-04-24 23:35:33 -07:00
Ryan Houdek
a0c0384340
Ensures reciprocal hits the precision we expect in the x86-64 JIT
...
Otherwise unit tests can fail
2020-04-24 23:34:47 -07:00
Ryan Houdek
cd0f43a5bc
Implements unit test for movsldup
2020-04-24 23:14:27 -07:00
Ryan Houdek
73632556ce
Implements support for movsldup
2020-04-24 23:13:51 -07:00
Ryan Houdek
cd50ea7c57
Implements unit tests for the two new move temporal instructions
2020-04-24 23:05:12 -07:00
Ryan Houdek
8ffccc0027
Implements two non-temporal XMM move instructions
...
movntss/movntsd
2020-04-24 23:04:41 -07:00
Ryan Houdek
55edd35127
Implements unit tests for the six new instructions
2020-04-24 22:52:48 -07:00
Ryan Houdek
fef466ee6b
Implements six more saturating arithmetic instructions
...
paddusb, paddusw, psubusb, psubusw, psubsb, psubsw
2020-04-24 22:51:17 -07:00
Ryan Houdek
52396227b7
Implements 9 new syscalls
...
Found these while running games and having upgraded from glibc 2.30 to
2.31
2020-04-24 19:40:10 -07:00
Ryan Houdek
726057c873
Implements the open syscall
...
Was only stubbed before, easy enough to pass it through
2020-04-24 19:11:14 -07:00
Ryan Houdek
3101e92bb4
Fixes epoll_create syscall
...
Accidently made it behave like epoll_create1. This caused some games to
throw asserts in terminal.
2020-04-24 19:08:29 -07:00
Ryan Houdek
4bdbe65043
Fixes crash that occurs when the x86-64 JIT code cache gets full
...
Need to clear the other caches in the cases the x86 cache needs to be
wiped.
Not optimal but will improve once we get multiple tiers of code cache
2020-04-24 19:05:55 -07:00
Ryan Houdek
914f177a5a
Merge pull request #148 from dmiller423/master
...
EnvironmentLoader, clean merge
2020-04-24 16:54:23 -07:00
David Miller
1589b9a351
Added EnvLoader to frontend binaries, called prior to ArgLoader
2020-04-24 19:53:28 -04:00
David Miller
d93c66e5f6
Added EnvLoader to fontend binaries, called prior to ArgLoader
2020-04-24 19:35:59 -04:00
David Miller
75ee8f0604
EnvironmentLoader, clean merge
2020-04-24 19:25:57 -04:00
Ryan Houdek
b9002bb790
Merge pull request #135 from dmiller423/master
...
Added include of <llvm/IR/IntrinsicsX86.h> to LLVMCore.cpp
2020-04-24 13:24:09 -07:00
Ryan Houdek
f2f2d9fd0d
Merge pull request #134 from Sonicadvance1/fix_stack_bug
...
Fixes accessing a stack variable post destruction bug
2020-04-24 09:10:36 -07:00
Ryan Houdek
b2beb6ffb1
Merge pull request #132 from Sonicadvance1/RA_print
...
Adds RA printing to the IR dumping function
2020-04-24 09:10:22 -07:00
Ryan Houdek
1ac36e2ddd
Merge pull request #131 from Sonicadvance1/fix_dumb_wait_for_idle
...
Removes the dumb timer wait for idle
2020-04-24 09:10:10 -07:00
Ryan Houdek
f6bdcbbdcf
Merge pull request #129 from Sonicadvance1/more_syscalls2
...
Implements two more syscalls
2020-04-24 09:10:01 -07:00
Ryan Houdek
e0ca2e3126
Merge pull request #128 from Sonicadvance1/removes_ssse3
...
Removes SSSE3 CPUID feature bit
2020-04-24 09:09:51 -07:00
Ryan Houdek
7869a5a40e
Merge pull request #127 from Sonicadvance1/fix_x86_regs
...
Fixes x86 JIT's RA for 16bit and 8bit registers
2020-04-24 09:09:40 -07:00
Ryan Houdek
8cc8472a75
Merge pull request #126 from Sonicadvance1/fix_llvm_logs
...
Disables LLVM debug messages
2020-04-24 09:09:20 -07:00
Ryan Houdek
2e5db1ddc9
Merge pull request #125 from Sonicadvance1/x87_table
...
Ensure FLDENV/FNSTENV has correct flags in the x87 table
2020-04-24 09:09:06 -07:00