Eladash
adc8a360ad
SPU LLVM: More compilation threads
2024-03-08 11:40:38 +02:00
Eladash
d699db2d19
SPU Analyser: Detect invalid relative branches
2024-03-07 18:46:51 +02:00
RipleyTom
606a60e901
Accurate frest and frsqest
2024-01-23 12:24:38 +02:00
Megamouse
59c58aa3cf
fix some warnings
2023-12-30 19:07:35 +01:00
Eladash
eb407e3b5c
SPU/MFC: Add block has to command history
2023-10-24 22:14:12 +03:00
Eladash
37212a632c
SPU: Refactor function discovery
2023-08-30 08:45:29 +03:00
Eladash
b5faf5800b
SPU LLVM Precompilation
...
Implement function SPU function discovery in images or random SPU code
2023-08-28 09:03:56 +03:00
Ivan Chikish
d34287b2cc
Linux: use futex_waitv syscall for atomic waiting
...
In order to make this possible, some unnecessary features were removed.
2023-08-02 21:46:06 +03:00
Eladash
c0280b43f2
PPU/Debugger: View the currently used CR field content in register panel
2023-07-12 13:22:06 +03:00
Elad Ashkenazi
e882d64d8a
SPU/PPU Debugger: Add decimal mode to registers panel
2023-07-10 19:06:57 +03:00
Eladash
c21cdb8055
Implement PPU LV2 debug
2023-07-07 16:03:08 +03:00
Eladash
598fe85243
PPU LLVM/RawSPU: Implement MMIO violation elimination pass
2023-07-06 19:46:36 +03:00
Eladash
b861a9c5d0
LV2: Implement set-priority thread requeue
2023-06-02 08:54:46 +03:00
Eladash
e29b81c444
Debug Fixes
2023-05-22 20:04:49 +03:00
Eladash
514ef9a9c5
SPU Executable Code Dumping Tool
2023-05-15 14:11:13 +03:00
Margen67
5bb89328d0
Remove whitespace
2023-02-15 08:58:02 +01:00
Eladash
2759091ede
Debugger: Rewind SPU captures
...
Very basic implementation, can be improved.
2022-09-25 14:31:39 +03:00
Eladash
07f0ba213e
SPU: Allow special channel storage in channel busy waiting period
...
Move code to SPUThread.cpp.
2022-09-07 20:42:23 +03:00
Eladash
48382564d1
SPU: Implement "quintuple" Inbound MBOX storage
2022-09-07 20:42:23 +03:00
Eladash
7698064f5a
SPU: Untangle VM lock to avoid deadlocks
2022-09-07 16:05:56 +03:00
Eladash
3f02935844
Add some debugging information
2022-08-30 08:57:33 +02:00
Eladash
ee87fdc869
Fix GETLLAR spin detection
2022-08-22 08:33:22 +03:00
Eladash
bf63a18c5f
SPU Add ability to specify percentage of busy waiting
2022-08-21 15:02:01 +03:00
Eladash
28bec8e1bf
SPU: Implement custom reservation condition in atomic wait
2022-08-21 15:02:01 +03:00
Eladash
82b1a2bd7a
SPU: add the concept of inaccurate reservations
...
Implement cellSpursRequestIdleSpu
2022-08-21 15:02:01 +03:00
Eladash
6210a8491f
SPU: Optimize and enable SPU GETLLAR Polling detection by default
...
* Make this setting guard all reservation waitings. (renamed)
* Revert atomic list usage: it's more expensive and not needed because it has a timeout and is not optimized for the rest of the waitables.
2022-08-21 15:02:01 +03:00
Eladash
011aabe9ed
LV2: Make sys_mutex and sys_lwmutex lock-free, add some busy waiting in sys_mutex_lock
2022-08-07 20:23:54 +03:00
Eladash
73aaff1b29
LV2: allocation-free synchronization syscalls
...
* Show waiters' ID in kernel explorer.
* Remove deque dependency from sys_sync.h
2022-08-07 20:23:54 +03:00
Eladash
3e51426379
Savestates/SPU: Kill emulation when its safe to save SPU state
2022-07-15 09:30:53 +03:00
Elad Ashkenazi
fcd297ffb2
Savestates Support For PS3 Emulation ( #10478 )
2022-07-04 16:02:17 +03:00
Eladash
cf0fcf5a2a
SPU: Implement execution wake-up delay
2022-06-28 19:54:25 +03:00
Eladash
5e01ffdfd8
Debugger: Optimize cpu_thread::dump_regs()
...
Reuse string buffer. Copies and reallocations are expensive with such large strings.
2022-06-23 22:41:32 +02:00
Eladash
ccb2724fc4
Debugger: Implement SPU breakpoints
2022-06-21 16:59:45 +03:00
Eladash
d0e9108800
SPU: Implement "double" SNR storage
2022-06-20 20:50:11 +03:00
Eladash
961d41d0bd
RawSPU: Reinvoke pending interrupts if missed
2022-05-25 11:46:51 +03:00
Eladash
2ba437b6dc
SPU: Implement timer freezing ability
2022-05-14 22:03:47 +03:00
Eladash
6805d8c7e0
SPU: Fix race on SPU Mailbox last value reading
2022-05-12 13:44:12 +03:00
Hyogi Sim
3a804674c9
Fix linkage error on debug build with clang-13
...
Debug build with clang-13 fails with "undefined references" to the
static const members in spu_channel class. This patch replaces the const
definitions with constexpr constants.
2022-01-31 17:05:18 +03:00
Nekotekina
580bd2b25e
Initial Linux Aarch64 support
...
* Update asmjit dependency (aarch64 branch)
* Disable USE_DISCORD_RPC by default
* Dump some JIT objects in rpcs3 cache dir
* Add SIGILL handler for all platforms
* Fix resetting zeroing denormals in thread pool
* Refactor most v128:: utils into global gv_** functions
* Refactor PPU interpreter (incomplete), remove "precise"
* - Instruction specializations with multiple accuracy flags
* - Adjust calling convention for speed
* - Removed precise/fast setting, replaced with static
* - Started refactoring interpreters for building at runtime JIT
* (I got tired of poor compiler optimizations)
* - Expose some accuracy settings (SAT, NJ, VNAN, FPCC)
* - Add exec_bytes PPU thread variable (akin to cycle count)
* PPU LLVM: fix VCTUXS+VCTSXS instruction NaN results
* SPU interpreter: remove "precise" for now (extremely non-portable)
* - As with PPU, settings changed to static/dynamic for interpreters.
* - Precise options will be implemented later
* Fix termination after fatal error dialog
2022-01-15 06:48:04 +03:00
Eladash
c0c52c33b9
SPU: Implement interrupts handling for remaining events
2021-10-20 15:46:50 +03:00
Eladash
e10c6cbaf7
SPU: cpu_work() fixup, fix recursion in AV handler
2021-09-18 19:43:55 +03:00
Eladash
5870da0b55
SPU MFC: Add shuffling in steps setting
2021-09-18 19:43:55 +03:00
Eladash
975aae1d13
SPU MFC: Implement MFC commands execution shuffling
2021-09-17 11:38:10 +03:00
Eladash
063df64108
SPU/event queue: Implement protocol for SPU queue
2021-08-13 08:58:09 +03:00
Eladash
8e2c34a003
PPU debugger: Implement PPU calling history
2021-07-17 17:28:23 +02:00
Nekotekina
571bdfc828
Fixup for #10490
...
Restore explicit signaling of RSX thread for now.
2021-06-27 14:02:32 +03:00
Eladash
7a9a46e093
kernel-explorer: Implement SPU ports/interrupt tags information
2021-05-15 09:00:12 +03:00
Eladash
c681395fb2
sys_interrupt: weak_ptr -> shared_ptr
2021-05-15 00:31:14 +03:00
Eladash
56471f4ad4
SPU: Optimize SPU ports/queues
2021-05-15 00:31:14 +03:00
Eladash
daa53b77cf
Simplify named_thread construction
2021-05-01 18:08:03 +03:00