Nekotekina
8590b66b4b
Fix cpu_thread pause
2017-03-27 01:15:41 +03:00
Nekotekina
4739eb3601
Reservation fix
2017-03-11 15:48:43 +03:00
Nekotekina
9000407a77
cpu_thread::test_state added
...
lv2_obj::sleep adjustment
synchronization fixes
2017-02-22 13:23:21 +03:00
Nekotekina
598c90f376
PPU thread scheduler
2017-02-13 22:26:11 +03:00
Nekotekina
257b9a2015
Debugger fix
...
Crash fixes
GUI fixes
Debug enhancements
2017-02-10 16:33:22 +03:00
Nekotekina
246b9f3182
CHECK_EMU_STATUS removal
2017-02-05 17:35:27 +03:00
Nekotekina
a5a2d43d7c
Thread.cpp refinement
...
Hide thread mutex
Safe notify() method
Other refactoring
2017-01-29 19:52:19 +03:00
Nekotekina
591a6c8671
IdManager improved
2017-01-25 23:29:36 +03:00
Nekotekina
9232ddf0ab
Minor changes
2017-01-25 04:43:12 +03:00
Nekotekina
05fb57baff
VERIFY macro removed
2016-08-15 03:13:31 +03:00
Nekotekina
5e0489dcc0
cpu_init removed
2016-08-14 18:07:34 +03:00
Nekotekina
bdeccd889f
cpu_type removed, system_type added
...
cpu_state -> cpu_flag
vm::stack_allocator template improved
ppu_cmd type changed to enum, cmd64 type added
2016-08-09 17:14:41 +03:00
Nekotekina
46735d6b3d
New bitsets (experimental)
2016-08-08 16:29:37 +03:00
Nekotekina
5a36c57c57
Formatting system improved
...
`unveil<>` renamed to `fmt_unveil<>`, now packs args to u64 imitating va_args
`bijective...` removed, `cfg::enum_entry` now uses formatting system
`fmt_class_string<>` added, providing type-specific "%s" handler function
Added `fmt::append`, removed `fmt::narrow` (too obscure)
Utilities/cfmt.h: C-style format template function (WIP)
Minor formatting fixes and cleanup
2016-08-04 21:34:00 +03:00
Nekotekina
f8719c1230
PPUThread refactoring
...
`CallbackManager` removed, added _gcm_intr_thread for cellGcmSys
`PPUThread` renamed to `ppu_thread`, inheritance allowed
Added lightweight command queue for `ppu_thread`
Implemented call stack dump for PPU
`get_current_thread_mutex` removed
`thread_ctrl::spawn`: minor initialization fix
`thread_ctrl::wait_for` added
`named_thread`: some methods added
`cpu_thread::run` added
Some bugs fixes, including SPU channels
2016-07-30 16:35:02 +03:00
Nekotekina
7a921cbdf9
cpu_thread compressed
2016-06-27 16:43:57 +03:00
Nekotekina
a8bebcba55
LLVM AOT
2016-06-19 21:29:48 +03:00
Nekotekina
266db1336d
The rest
2016-05-23 16:22:25 +03:00
Ivan
aafcf44581
Header optimizations ( #1684 )
...
Shouldn't break anything. I hope.
2016-04-27 01:27:24 +03:00
Ivan
da7472fe81
Optimizations ( #1680 )
...
* Optimizations
1) Some headers simplified for better compilation time
2) Some templates simplified for smaller executable size
3) Eliminate std::future to fix compilation for mingw64
4) PKG installation can be cancelled now
5) cellGame fixes
6) XAudio2 fix for mingw64
7) PPUInterpreter bug fixed (Clang)
* any_pod<> implemented
Aliases: any16, any32, any64
rsx::make_command fixed
2016-04-25 13:49:12 +03:00
Nekotekina
f8f067ca7c
Partial commit: Emu (the rest)
2016-04-15 19:22:49 +03:00
Nekotekina
38531459df
Logging system rewritten
...
GUI doesn't freeze anymore
Some things simplified
2016-01-13 18:54:57 +03:00
Nekotekina
3ed603074c
Changes done by [DH] rewritten
...
Added rsx_program_decompiler submodule
Added fs::dir iterator
Added fmt::match
2015-12-22 23:11:20 +03:00
Nekotekina
ca6783ba9a
Threads improved, ID manager improved
2015-12-04 23:37:34 +03:00
O1L
fd13a495de
Replace remained old ini-manager calls
2015-11-14 23:59:46 +04:00
Nekotekina
a974ee009e
vm::var improved, cleanup
...
Mostly vm::var initialization introduced.
Added vm::make_var function.
2015-10-14 18:17:37 +03:00
Nekotekina
8ae3401ffa
Some things improved
...
shared_mutex_t implemented
GUI Emu Callbacks rewritten
fxm::import, fxm::import_always implemented
cellMsgDialog rewritten
Emu.CallAfter improved (returns std::future)
2015-09-22 16:48:21 +03:00
Nekotekina
5e14310071
noexcept usage fixed
...
thread_t renamed to named_thread_t
2015-08-24 21:22:48 +03:00
Nekotekina
c2897cddd6
id_traits, idm::get_last_id() added
...
id_traits for file/dir descriptors
idm::get_current_id() removed, thread-local last ID
2015-08-24 21:22:38 +03:00
Nekotekina
d9403c2ed2
thread_t cleanup
2015-08-24 21:22:37 +03:00
Nekotekina
be9a599beb
PPU Decoder Cache improved
2015-08-24 21:22:35 +03:00
Nekotekina
eb63558c6d
KernelExplorer improved
2015-08-24 21:22:34 +03:00
Nekotekina
dd665e7363
ID manager simplified
...
ID manager refactoring, redundant "type" information removed
2015-08-24 21:22:19 +03:00
Nekotekina
71a378a3fb
vm::wait_op improved
...
Now it accepts thread_t and its descendants (but may require adding
friend vm::waiter_lock_t class)
2015-08-01 14:38:55 +03:00
Nekotekina
2f7fe35f5c
Minor style change
2015-07-21 23:14:31 +03:00
Nekotekina
8175630619
sys_cond/sys_mutex improved
2015-07-21 23:14:29 +03:00
Nekotekina
9913c9059c
Very bugfix
...
I reverted cellSaveData changes since they were relying on the
uninitialized local variable `save_entry` and thus were almost
completely wrong.
2015-07-21 23:14:26 +03:00
Nekotekina
a7668ff57f
SPU_EVENT_LR improved
2015-07-21 23:14:22 +03:00
Nekotekina
82781e620a
Small fixes
2015-07-10 04:31:36 +03:00
Nekotekina
c0f13f7084
sleep_queue_t rewritten, used in sys_cond/sys_mutex
...
Some synchronization fixes
2015-07-10 04:31:34 +03:00
Nekotekina
eafddd9e33
CPUThread fixes, thread_t cleanup
2015-07-10 04:31:32 +03:00
Nekotekina
83321c5be7
sys_time_get_current_time fixed, CALL_FUNC draft
2015-07-10 04:31:30 +03:00
Nekotekina
22e1da5e76
Minor cleanup
2015-07-10 04:31:29 +03:00
Nekotekina
8f9e1100c8
SPU fixes, various fixes
2015-07-10 04:31:25 +03:00
Nekotekina
32d3d1fbe5
EXCEPTION() macro usage, sceNpTrophy improved
2015-07-10 04:31:20 +03:00
Nekotekina
6f1e76198a
Some fixes
2015-07-10 04:31:18 +03:00
Nekotekina
3aefa2b4e1
ThreadBase rewritten (wip)
2015-07-10 04:31:16 +03:00
Nekotekina
714da1aa7c
vm::var fix, vm::ptr improved
...
GetCurrentPPUThread() removed
2015-07-10 04:31:00 +03:00
Nekotekina
78fdcf75e7
Attribute macro changed
...
__forceinline -> force_inline
__noinline -> never_inline
printf_alike(x,y) added
2015-05-28 18:14:22 +03:00
Nekotekina
22b78fec71
IdManager improved, atomic_t improved
...
Various changes
2015-05-27 06:11:59 +03:00
Nekotekina
935302b620
Bugfix
2015-04-20 02:49:13 +03:00
Nekotekina
d2ad84453d
KernelExplorer fixed
2015-04-14 05:00:31 +03:00
Nekotekina
a71cb5f521
Basic concept
2015-03-17 00:38:21 +03:00
Nekotekina
63b97d6817
cellFsSt*
2015-03-16 03:21:40 +03:00
Nekotekina
3e412a2a1f
Syscall names registered
2015-03-15 16:26:01 +03:00
Nekotekina
befc0f62b8
Lv2 lwcond "true" syscalls
2015-03-10 17:42:08 +03:00
Nekotekina
ef65299dff
Lv2 Cond/Mutex rewritten, bugfixes
2015-03-07 01:10:04 +03:00
Nekotekina
9e49a33b3c
SPU syscall improvements
2015-03-05 00:51:14 +03:00
Nekotekina
5f8cf18a5a
SPU refactoring
2015-03-03 00:09:20 +03:00
Nekotekina
bc94d92cba
nyu
2015-03-02 05:10:41 +03:00
Nekotekina
af986d8f4c
Loader improved, ModuleManager refactored
2015-02-18 19:22:06 +03:00
Nekotekina
e642e39324
NV3089_IMAGE_IN_SIZE
2015-02-10 15:51:45 +03:00
B1ackDaemon
c267ca2584
Merge pull request #989 from Nekotekina/master
...
Various improvements
2015-02-02 13:39:51 +02:00
Peter Tissen
13d2f8fa59
re-enable threadlist in GUI
...
This used to crash so it was removed. However I think this is a cruicial feature.
This is the only way to observe the stack-frames, registers and disasm around the PC
in a user friendly way.
The reason this caused crashes was that we got a reference to a std::vector and iterated
over it in one thread while another thread could modify it (and thereby invalidating the
iterators). The way I "fixed" it is to just copy the `std::vector<std::shared_ptr<...>>`
and iterate over the copy. This obviously has some overhead (locking the shared_ptr
counters and incrementing them). It also allows entities other than the Thread manager
to keep the Thread objects frome being deleted but that should not be a problem.
2015-02-02 11:33:49 +01:00
Nekotekina
e5dd03dbcb
ARMv7: argc, argv setting, LDRSB_IMM, bugfixes
2015-02-01 16:52:34 +03:00
Nekotekina
6d1c9f2764
Some warnings fixed
2015-01-25 19:23:24 +03:00
Nekotekina
2647b77c01
sceLibKernel.h added
2015-01-24 00:48:14 +03: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
Nekotekina
0d28f378a7
fmt::format() optimization (fmt::unveil template)
2015-01-19 01:54:56 +03:00
Nekotekina
fd06f70387
cellAudio updated, thread_t updated
2015-01-16 17:36:53 +03: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
6069071e4d
Code moved, attempt to make SIGSEGV handler
2015-01-05 00:46:31 +03:00
Nekotekina
27cfdc897b
PKG installer improved
...
Now it doesn't attempt to delete existing directory and overwrites only
existing files. It should fix installing updates.
2015-01-04 19:44:54 +03:00
Nekotekina
22497757e9
Prefix decoding improved
2015-01-04 18:33:25 +03:00
Nekotekina
896097da0d
Experimental RawSPU MMIO implementation
2015-01-04 15:35:47 +03:00
Nekotekina
be2d606193
Conflicts fixed
2014-12-26 17:06:36 +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
Raul Tambre
ce853bc252
cellSail updates and many various fixes
2014-12-19 13:31:52 +02:00
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
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
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
Fabian Schaffert
6906d146bb
Adds copy constructor for class InstrBase
...
A copy constructor is necessarry for `class InstrBase`, as the implicit
copy constructor simply copies the pointer `m_args`. This results in a
double delete of the same memory region, causing a segmentation fault
when rpcs3 exited.
2014-11-15 00:16:17 +01:00
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
34e34910fd
Integrated execution engine, tracer, recompilation engine and compiler
2014-11-08 09:52:23 +05:30
Nekotekina
18b69cac99
waiter_map_t : concept changed
...
Purpose-specific waiter_map_t objects instead of global one. SM_Sleep()
removed.
2014-10-16 20:29:41 +04:00
Nekotekina
9a02add930
Bugfix
2014-10-08 16:29:29 +04:00
Nekotekina
94c30924dd
Some things for u128
2014-10-08 01:37:04 +04:00
Nekotekina
66000240ac
vm::atomic update, be_t update
...
1) MakeFromLE replaced with make(), MakeFromBE removed. Compiler seems
to be able to optimize it anyway.
2) be_t<> conversion operator temporarily replaced with conversion
through LE because it can't work with all possible numeric conversions
(float<>int for example)
2014-09-20 03:16:11 +04:00
Nekotekina
626133c0eb
declCPU removed, PPUThread& is passed as argument
...
Added experimental feature: passing PPUThread& to syscall
2014-09-16 21:49:50 +04:00
Nekotekina
5f1253598c
Fix formatting
2014-09-15 23:04:18 +04:00
Nekotekina
597d07bf24
Small refactoring
2014-09-15 02:17:24 +04:00
Nekotekina
860d7bd3f1
Small fix 2
2014-09-13 18:25:02 +04:00
Nekotekina
0df3e955c8
Small fix
2014-09-13 01:50:50 +04:00
Nekotekina
10e9d383d4
ExecAsCallback() removed
2014-09-13 01:14:48 +04:00
O1L
54106f6f9b
Removed unnecessary newlines.
2014-09-07 18:05:29 +04:00
O1L
402199d70f
Add PPU / SPU / RawSPU threads in KernelExplorer, and some coding style changes.
2014-09-07 17:47:53 +04:00