Commit graph

610 commits

Author SHA1 Message Date
Nekotekina faaef03604 Fix 2015-02-21 14:30:26 +03:00
Nekotekina 152feb898e libmixer fix 2015-02-19 22:17:30 +03:00
Nekotekina 2d1d996c50 Small fix 2015-02-19 14:18:28 +03:00
S Gopal Rajagopal 4272ec7a82 PPUJIT: Convert tabs to spaces 2015-02-19 00:37:09 +05:30
S Gopal Rajagopal 85648da706 Merge remote-tracking branch 'upstream/master' 2015-02-18 23:43:37 +05:30
S Gopal Rajagopal 681fb1eeaa PPUJIT: Support stopping/pausing threads (does not always work) 2015-02-18 23:40:04 +05:30
Nekotekina af986d8f4c Loader improved, ModuleManager refactored 2015-02-18 19:22:06 +03:00
Nekotekina 1f2eafc4f2 Loader fixed 2015-02-17 18:27:15 +03:00
S Gopal Rajagopal 1365c830b2 PPUJIT: Fix EOL issues 2015-02-16 23:07:22 +05:30
S Gopal Rajagopal 3a2b13c02b PPUJIT: Fix unit tests 2015-02-16 23:00:41 +05:30
S Gopal Rajagopal e7f278b5d2 PPUJIT: Support exception based MMIO and reservations 2015-02-16 22:49:17 +05:30
Nekotekina e6c628caba Memory (unfinished) 2015-02-16 04:53:53 +03:00
Nekotekina 1189503b4d Some cleanup 2015-02-15 20:13:06 +03:00
Nekotekina f01059283a Some cleanup 2015-02-14 00:45:36 +03:00
Nekotekina 0d489518ab Compilation fix 2015-02-13 23:24:18 +03:00
Nekotekina 5fc77fe89e Merge branch 'master' of https://github.com/DHrpcs3/rpcs3 2015-02-13 23:15:35 +03:00
Hykem fcd300ad4d Merge pull request #1008 from robxu9/master
Fix building on OS X 10.10
2015-02-13 15:55:08 +00:00
Nekotekina 267de68441 Memory cleanup, page flags implemented
RSXCMDMem, SPRXMem, MmaperMem removed
MainMem range fixed
2015-02-13 17:04:03 +03:00
Nekotekina 0eebfb0aaa Memory cleanup: u64 -> u32, empty TLS fixed
cellGameContentPermit fixed
2015-02-12 23:10:25 +03:00
Nekotekina 250fb15592 Compilation fix 3 2015-02-11 15:25:20 +03:00
Nekotekina fdc5fa34be Bugfix 2015-02-11 14:39:51 +03:00
S Gopal Rajagopal 853234f7d7 Merge remote-tracking branch 'upstream/master' into spurs_taskset 2015-02-11 15:00:46 +05:30
Robert Xu 00e637645c Fix building on OS X 10.10 2015-02-10 23:17:39 -05:00
Nekotekina 31bbf56ff1 Reservations improved 2015-02-08 18:25:50 +03:00
Nekotekina 19acaf3f86 Bugfix, ECIWX/ECOWX disabled 2015-02-08 16:38:08 +03:00
Nekotekina 39db6bb461 Reservations improved 2015-02-07 16:46:42 +03:00
Nekotekina 1af4848324 New reservations (not finished) 2015-02-07 02:39:51 +03:00
S Gopal Rajagopal d1a7c85e95 Merge remote-tracking branch 'upstream/master' into spurs_taskset
Conflicts:
	rpcs3/emucore.vcxproj.filters
2015-02-03 23:12:26 +05:30
S Gopal Rajagopal ba6ac5019e SPURS: Implement some portions of taskset policy manager 2015-02-02 01:32:40 +05:30
Nekotekina e5dd03dbcb ARMv7: argc, argv setting, LDRSB_IMM, bugfixes 2015-02-01 16:52:34 +03:00
Nekotekina 8a945a1a52 Fixes 2015-02-01 10:09:24 +03:00
S Gopal Rajagopal 61342946a4 SPURS: Implement some portions of taskset pm 2015-02-01 02:16:06 +05:30
Nekotekina 61a5459ccb TLS for ARMv7 threads 2015-01-31 19:44:26 +03:00
Nekotekina 4ea1b8cffc Fixed TLS for PPU threads 2015-01-30 23:01:13 +03:00
S Gopal Rajagopal 507638e6d8 SPURS: Update system service workload to use lock line reservations 2015-01-31 00:36:58 +05:30
S Gopal Rajagopal 62e2d8d9a7 SPURS: Update kernel to use lock line reservations 2015-01-29 20:20:34 +05:30
B1ackDaemon 1fa301b719 Merge pull request #981 from Nekotekina/master
ARMv7 progress, some changes in vm_ptr
2015-01-29 01:57:42 +02:00
Nekotekina 579a88b7c4 vm_ptr: function format changed 2015-01-28 15:59:16 +03:00
Raul Tambre be50130c3f Various fixes
Fixes to dead code and a couple self-assignings
2015-01-24 21:50:26 +02:00
Nekotekina 1a5d5c96ed Compilation fix 2015-01-22 00:39:25 +03:00
Nekotekina 79d03ece66 ARMv7 decoder improved 2015-01-22 00:09:37 +03:00
S Gopal Rajagopal 411dfd9a3f Merge remote-tracking branch 'upstream/master' into spurs_taskset
Conflicts:
	rpcs3/Emu/SysCalls/Modules/cellSpurs.cpp
	rpcs3/Emu/SysCalls/Modules/cellSpurs.h
	rpcs3/emucore.vcxproj.filters
2015-01-21 01:13:53 +05:30
Nekotekina ec2e53dc6b Formatting changes 2015-01-20 02:15:43 +03:00
Nekotekina c4558d2ca7 cast_armv7_gpr added 2015-01-19 21:02:33 +03:00
Nekotekina f3c9143a81 cast_to_ppu_gpr(), cast_from_ppu_gpr() updated 2015-01-19 17:16:31 +03:00
Nekotekina 0d28f378a7 fmt::format() optimization (fmt::unveil template) 2015-01-19 01:54:56 +03:00
B1ackDaemon d9dd3a7eda Merge pull request #969 from achurch/spu-interpreter-fixes
Fix SPU interpreter to match real hardware
2015-01-18 20:54:12 +02:00
Andrew Church e64f6a1db3 Implement full floating-point support. 2015-01-19 03:19:10 +09:00
Andrew Church 4375422c09 Implement the mfspr and mtspr instructions. 2015-01-19 03:18:36 +09:00
Andrew Church 03b059c1d5 Implement the SRR0 register. 2015-01-19 03:18:03 +09:00
Andrew Church a87de1b565 Implement the FPSCR register. 2015-01-19 03:17:51 +09:00
Andrew Church 3a87a40593 Implement host FP exception checking for PPU floating-point instructions. 2015-01-18 21:14:31 +09:00
Andrew Church 04902965fe Set host FP rounding mode for PPU floating-point instructions. 2015-01-18 21:14:19 +09:00
B1ackDaemon 26f1e2c9e3 Merge pull request #965 from Nekotekina/master
cellAudio update, thread_t
2015-01-18 02:40:03 +02:00
Andrew Church c9df9c93ed Implement VSCR_NJ for all vector FP instructions. 2015-01-18 07:05:48 +09:00
Andrew Church 9a310c312e Fix intermediate truncation in vector FP fused multiply-add. 2015-01-18 07:05:38 +09:00
Andrew Church 3eb3f66e96 Fix vmaxfp/vminfp with mixed signs of zero. 2015-01-18 07:05:30 +09:00
Andrew Church 10c706d9a5 Handle NaNs correctly in vector FP instructions. 2015-01-18 07:05:18 +09:00
Andrew Church 2e2dbf6c33 Reduce code duplication for vcmp instructions. 2015-01-18 07:05:08 +09:00
Andrew Church 0fa0946a46 Fix vsumsws clobbering input registers and reading from the wrong word. 2015-01-18 07:04:56 +09:00
Andrew Church 14e0cbde9c Catch invalid and zero-division exceptions in FPU instructions. 2015-01-18 07:04:45 +09:00
Andrew Church 43e74a9c61 Fix intermediate rounding of fused multiply-add instructions. 2015-01-18 07:04:35 +09:00
Andrew Church fee20573d2 Fix fcti rounding. 2015-01-18 07:04:22 +09:00
Andrew Church 5fd88bf801 Fix invalid double constant. 2015-01-18 07:04:13 +09:00
Andrew Church 46fa645555 Reduce code duplication in FPU instruction implementations. 2015-01-18 07:04:01 +09:00
Andrew Church bbe12bf4b1 Fix mftbu returning the wrong half of the timebase register. 2015-01-18 07:03:48 +09:00
Andrew Church 74cbf1877b Fix stwcx. and stdcx. not properly clearing the reservation address. 2015-01-18 07:03:16 +09:00
Andrew Church d78fe3b4d4 Fix detection of denormals in frsp. 2015-01-18 07:03:02 +09:00
Andrew Church b7761beee9 Fix lfs/stfs with SNaNs. 2015-01-18 07:02:50 +09:00
Andrew Church 42b55c60e7 Fix fcmp. 2015-01-18 07:02:18 +09:00
Andrew Church 6cd3310171 Fix FPSCR manipulation instructions. 2015-01-18 07:02:11 +09:00
Andrew Church ee508f85b4 Fix handling of VRSAVE, and remove references to nonexistent USPRG registers. 2015-01-18 07:01:52 +09:00
Andrew Church e47d21024c Fix mtcrf. 2015-01-18 07:01:25 +09:00
Andrew Church 54827f7267 Fix conditional bcctr. 2015-01-18 07:01:16 +09:00
Andrew Church ae4420e604 Implement missing PPU instructions. 2015-01-18 07:00:58 +09:00
Nekotekina 42b748a881 Syscall name resolving improved 2015-01-14 22:45:36 +03:00
Nekotekina 809ba66290 vm::cast in PPUInterpreter 2015-01-14 19:48:50 +03:00
Nekotekina bf7cf0ee9d .ToLE() changed to .value() or removed 2015-01-14 02:08:00 +03:00
Nekotekina 1c4e89d2bf Formatting fixes, ToBE() replaced with data() 2015-01-13 17:54:36 +03:00
Nekotekina b6ec618f97 Experimental template formatting with be_t<> support 2015-01-12 21:12:06 +03:00
Nekotekina da09477be8 Callback syntax changed
call() became overloaded () operator
2015-01-11 13:43:40 +03:00
Nekotekina 056f93f3e4 Linux fixes 2015-01-09 01:17:26 +03:00
Nekotekina bd71c1200e CB_FUNC/SC_FUNC fixed 2015-01-07 19:44:47 +03:00
S Gopal Rajagopal 2d94db4945 Merge upstream 2015-01-05 16:44:26 +05:30
S Gopal Rajagopal c1df79b713 SPURS: Integrate SPURS kernel and system service workload. Also, fixed some bugs. 2015-01-03 15:59:22 +05:30
Nekotekina d8664c8da4 Bugfix 2015-01-02 19:02:31 +03:00
Nekotekina 318d7276c0 Warning fix 2015-01-02 18:29:57 +03:00
Nekotekina f3cd908d5c Sync primitives reworked
(rwlock rewritten)
2015-01-02 02:41:29 +03:00
Nekotekina be2d606193 Conflicts fixed 2014-12-26 17:06:36 +03:00
Nekotekina 7613d749ec SQueue renamed and moved 2014-12-25 01:24:17 +03:00
Nekotekina d8239a39c9 std::shared_ptr in IdManager 2014-12-24 02:38:13 +03:00
Nekotekina b2de24db73 SMutex eliminated 2014-12-23 02:31:11 +03:00
Nekotekina 0fb092f2a5 Syscalls: minor fixes 2014-12-22 03:56:04 +03:00
Raul Tambre 688e5a3af6 Fix compiling 2014-12-21 21:44:07 +02:00
S Gopal Rajagopal 698f4fd450 SPURS: Improve the readability of the SPURS2 kernel at the cost of some performance 2014-12-21 01:37:29 +05:30
S Gopal Rajagopal 5db254f3a5 PPU: Corrected SC instruction format to comply with the PowerISA 2014-12-11 19:13:17 +05:30
S Gopal Rajagopal 1f60d6374c Merge remote-tracking branch 'upstream/master' 2014-12-02 00:49:18 +05:30
Nekotekina 697b699873 Some bugs fixed
ARMv7 partially restored
2014-12-01 01:04:47 +03:00
S Gopal Rajagopal 6cc6ca9f3c PPU: Implemented more instructions 2014-12-01 02:09:48 +05:30
S Gopal Rajagopal ce0f713f03 PPU: Implement more instructions in the recompiler. Fix some instructions in the interpreter. 2014-11-30 02:46:29 +05:30
Nekotekina 9fc7197c4f cellGameContentPermit: extremely DANGEROUS bug fixed
And few tiny changes.
2014-11-29 20:41:18 +03:00
S Gopal Rajagopal 6ea50567b6 PPU: Implemented some instructions in the recompiler. Fixed some bugs in the interpreter. 2014-11-29 01:39:59 +05:30
S Gopal Rajagopal 205e1d88b3 PPU LLVM recompiler: Implement more instructions 2014-11-26 00:53:24 +05:30
S Gopal Rajagopal 631675fdd6 Merge remote-tracking branch 'upstream/master'
Conflicts:
	rpcs3/Emu/Cell/PPUInterpreter.h
2014-11-25 23:26:16 +05:30
S Gopal Rajagopal a9645eda73 Implement some more FP instructions in the PPU LLVM recompiler 2014-11-25 02:14:12 +05:30
S Gopal Rajagopal bb1e08a6be Remove code left in comments from the PPU LLVM recompiler. Also cause the emulator to pause if unsupported instructions are required to be compiled. 2014-11-24 23:49:06 +05:30
S Gopal Rajagopal d92344f383 Implement more instructions in the PPU LLVM recompiler 2014-11-24 01:41:25 +05:30
S Gopal Rajagopal 5934132b55 Implemented VPK* 2014-11-23 20:47:00 +05:30
S Gopal Rajagopal 921ee1464b Implemented some vector instructions 2014-11-23 19:06:20 +05:30
Raul Tambre 16b4b9bf40 Fix Travis compiling 2014-11-21 15:52:01 +02:00
DHrpcs3 cdfef3bf9e Fixed compilation errors
Implemented converter_le_be
2014-11-20 21:41:04 +02:00
S Gopal Rajagopal 5addbcbbb0 Direct UT output to PPULLVMRecompiler.log 2014-11-21 00:04:59 +05:30
S Gopal Rajagopal 6661018691 Fixed the unit test framework for the PPU LLVM recompiler. Added tests for ANDC. Fixed an issues that prevented LMW/STMW from being generated properly. 2014-11-20 23:38:10 +05:30
S Gopal Rajagopal 13acb06d1a Implemented ANDC and also added support for TB and TBH in MFSPR 2014-11-20 01:03:51 +05:30
S Gopal Rajagopal e8582c8655 Improved the logic that detects which functions should be recompiled 2014-11-20 00:42:07 +05:30
DHrpcs3 598d929aba Implemented LLE Modules Manager (draft)
Improved loader core.
Implemented *_thread wrappers.
Minor fixes.
Temporary disabled ELF Compiler & DisAsm frame.
2014-11-19 16:16:30 +02:00
Raul Tambre f99353f649 Fix for TB SPR and disable writing to TB SPR
Now use get_time() like MFTB instead of reading for the time-based SPR.
2014-11-18 18:03:49 +02:00
Hykem 19d1a6babc Merge pull request #858 from gopalsr83/ppu_llvm_recompiler
Improved tracer for the PPU recompiler
2014-11-15 15:19:40 +00:00
Raul Tambre 3af57957d5 cellSail fixes and GetRegBySPR split up
* Fixed cellSailPlayerAddDescriptor
* Fixed cellSailDescriptorSetAutoSelection
* Fixed cellSailDescriptorIsAutoSelection
* Split GetRegBySPR into ReadSPR and WriteSPR
* Added 0x10c for ReadSPR and WriteSPR (Time-based register)
2014-11-15 16:45:02 +02:00
S Gopal Rajagopal 1568d2d602 Fixed some more gcc/clang compilation errors 2014-11-10 14:32:41 +05:30
S Gopal Rajagopal 87accc624f Fixed some errors thrown by gcc/clang 2014-11-10 12:49:48 +05:30
S Gopal Rajagopal 06a4c301cd Merge remote-tracking branch 'upstream/master' into ppu_llvm_recompiler
Conflicts:
	rpcs3/Emu/Cell/PPUInterpreter.h
	rpcs3/Emu/Cell/PPULLVMRecompiler.cpp
	rpcs3/Emu/Cell/PPULLVMRecompiler.h
	rpcs3/Emu/Cell/PPUThread.cpp
	rpcs3/emucore.vcxproj.filters
	rpcs3/rpcs3.vcxproj
2014-11-10 02:31:35 +05:30
S Gopal Rajagopal c12a98510c Utilize idle time to combine blocks 2014-11-10 01:04:21 +05:30
S Gopal Rajagopal 71c12360c7 Always inline functions 2014-11-09 14:03:36 +05:30
S Gopal Rajagopal 5c468d7591 Disabled call stack tracing when using the PPU LLVM recompiler 2014-11-09 11:50:01 +05:30
S Gopal Rajagopal 80294e1034 Fixed some bugs 2014-11-09 02:00:19 +05:30
S Gopal Rajagopal 34e34910fd Integrated execution engine, tracer, recompilation engine and compiler 2014-11-08 09:52:23 +05:30
S Gopal Rajagopal ee6a239679 Generate code from a CFG 2014-11-07 16:24:59 +05:30
Nekotekina 5d63c6b526 Merge branch 'master' of https://github.com/DHrpcs3/rpcs3 2014-11-05 19:20:44 +03:00
S Gopal Rajagopal 7c3c5ae08e Construct CFG from execution traces 2014-11-05 01:01:20 +05:30
Hykem 5a27a84f5a Merge branch 'master' of https://github.com/gopalsr83/rpcs3 into gopalsr83-master 2014-11-04 16:45:25 +00:00
S Gopal Rajagopal 7846fa5829 Made changes to tracer so that it understand compiled blocks 2014-11-01 01:22:39 +05:30
Nekotekina 7aeda3b0c7 ARMv7: more opcodes 2014-10-30 18:17:51 +03:00
Nekotekina 0f602e0e13 Bugfix 2014-10-28 19:46:14 +03:00
Nekotekina 65ddf980e0 Small fix 2014-10-28 15:30:37 +03:00
raven02 f54a5c6591 Stub DCBI instruction 2014-10-26 06:30:43 +08:00
S Gopal Rajagopal 160b58cf61 Fixed compilation issues 2014-10-25 06:56:57 +05:30
S Gopal Rajagopal 6bc0ce8046 Intial commit for advanced tracer 2014-10-25 06:38:47 +05:30
Nekotekina 6df5ddb973 Few warnings fixed 2014-10-24 17:24:09 +04:00
raven02 4eb4186b5c Support FCTID/FCTIW instructions 2014-10-24 08:46:14 +08:00
Nekotekina 973e3f8f7e Few instructions simplified 2014-10-24 02:06:15 +04:00
Nekotekina 7777be6fc1 Some things simplified 2014-10-23 02:53:44 +04:00
S Gopal Rajagopal dfd3425e65 Merge remote-tracking branch 'upstream/master' into ppu_llvm_recompiler
Conflicts:
	Utilities/BEType.h
	rpcs3/Emu/Cell/PPUInterpreter.h
	rpcs3/emucore.vcxproj.filters
2014-10-22 00:01:16 +05:30
raven02 00486d39e2 Add test against interpreter 2014-10-21 22:43:46 +08:00
raven02 20a5bf424f Support FSQRT/FSQRTS instructions 2014-10-21 22:20:52 +08:00
S Gopal Rajagopal 4514fc12bd Updated Travis CI configuration to compile LLVM 2014-10-21 02:17:00 +05:30
Hykem ab0a907c7a Merge pull request #846 from gopalsr83/master
Fixed the implementation of LSWI and STSWI. Simplified the implementation of VSL and VSR.
2014-10-20 16:43:20 +01:00
S Gopal Rajagopal 7e1413badf Fixed the implementation of LSWI and STSWI. Simplified the implementation
of VSL and VSR.
2014-10-20 17:19:01 +05:30
S Gopal Rajagopal 024c15d4d3 Some cleanup 2014-10-20 01:16:35 +05:30
S Gopal Rajagopal 8a7ba5a709 Merge remote-tracking branch 'upstream/master' into ppu_llvm_recompiler
Conflicts:
	Utilities/BEType.h
	rpcs3/Emu/Cell/PPUInterpreter.h
	rpcs3/emucore.vcxproj.filters
2014-10-19 02:36:26 +05:30