Eladash
fdd7f0645d
Some typos ( #7908 )
...
* sys_lwcond: replace writer lock with reader lock
* sys_rsx: Typo fix
* sys_net: Fixup for buffer reading
2020-03-31 16:44:50 +03:00
Eladash
29be815302
rsx: Implement DECR memory layout ( #7906 )
2020-03-31 05:12:30 +01:00
Eladash
1510505b30
Fix sys_rwlock_wlock timeout event
2020-03-30 14:22:15 +03:00
Eladash
019aae8bec
sys_net: Fix access violation handling ( #7901 )
...
Should fix page faults notifications on unmapped menory on Gran Turismo 5.
2020-03-30 05:53:17 +01:00
Whatcookie
cc100f4008
Fix alignment on embedded spu elf searching ( #7894 )
...
- They are actually 128 byte (1024 bit) aligned.
2020-03-29 03:54:45 +01:00
Nekotekina
dcc269128f
SPU LLVM: runtime multithreaded compilation
...
Active for CPU with 12 or more threads.
2020-03-28 17:17:51 +03:00
Nekotekina
9db088e17b
SPU LLVM: log hash in some places
2020-03-28 17:17:51 +03:00
Eladash
66bd8308d9
lv2: Wait for rescheduling before confirming timeouts ( #7875 )
2020-03-28 03:16:59 +00:00
AniLeo
c00ee7ed5b
hle: cellSysutilNpEula
...
Add missing function names and stub all functions
Co-Authored-By: Eladash <elad3356p@gmail.com>
Co-Authored-By: Eladash <elad3356p@gmail.com>
2020-03-27 15:26:28 +03:00
Eladash
36d8553f9c
liblv2 HLE: Fix entryx of start/stop prx functions
2020-03-26 17:52:45 +03:00
Eladash
7ed570dc4a
PPU LLVM: Add relocation 5 for ADDIS
...
+ Add some more for u16 relocations (4, 5, 6), simplify logic.
2020-03-26 17:52:45 +03:00
Nekotekina
fa29c5aa94
ppu_iname: refactor to use actual strings
2020-03-26 15:28:41 +03:00
Nekotekina
8d1a9dce91
spu_iname: refactor to use actual strings
2020-03-26 15:26:55 +03:00
Eladash
453478c98b
PPU LLVM: Log unsupported relocation opcode
2020-03-26 15:22:45 +03:00
Eladash
ccc7cb7994
Log IDs of loaded prx modules
2020-03-26 15:22:45 +03:00
Eladash
150d1bcdd5
sys_prx_unload_module: Implement CELL_PRX_ERROR_NOT_REMOVABLE
2020-03-25 16:22:47 +03:00
Eladash
e1f2f3f081
sys_prx: Improve sys_prx_start/stop_module
...
* Add missing error codes, "internal" errors are ones which are not reachable from liblv2.sprx functions
* Implement SYS_PRX_NO_RESIDENT (unloading module) for _sys_prx_start_module.
2020-03-25 16:22:47 +03:00
Eladash
717dd1625c
sys_prx: Implement sys_prx_get_module_list
2020-03-25 16:22:47 +03:00
Nekotekina
471db3219d
Finalize constexpr ppu_decoder<> thing
...
Move SSSE3 checks to runtime in PPUInterpreter.cpp
2020-03-25 11:18:48 +03:00
Nekotekina
1ceb779a38
Make ppu_decoder<> objects constexpr (partial)
2020-03-24 13:46:46 +03:00
Nekotekina
a936533eb1
Make spu_decoder<> objects constexpr
2020-03-24 12:18:37 +03:00
Eladash
eb1de04ca8
_sys_lwmutex_lock: log new case of ESRCH
2020-03-23 23:18:21 +03:00
Eladash
2aff36647a
Make sceNpDrmProcessExitSpawn(2) execute sys_game calls correctly
2020-03-23 23:18:21 +03:00
Eladash
52360b3f98
liblv2 HLE: Fix sys_lwmutex_lock assertation
2020-03-23 21:37:37 +03:00
Eladash
08e66ab14c
Minor warning fixes
2020-03-23 21:37:37 +03:00
Eladash
3de41bfea7
_sys_lwcond_signal: Make mode 3 respect ordering of the sleep queue
2020-03-23 21:37:37 +03:00
Megamouse
1537f505a5
cellGem: fix move_handler::mouse left click
2020-03-23 15:10:01 +03:00
Nekotekina
5ebc538d7e
Workaround for VS 16.5
...
Strange codegen bug didn't promote s32 to u64.
2020-03-23 14:48:49 +03:00
Eladash
537f175f52
Another fixup after #7826
2020-03-23 11:54:19 +03:00
Eladash
017ef5a94e
Minor fixup after #7826
2020-03-23 10:59:51 +03:00
Eladash
cccc32fa9d
sys_lwmutex/lwcond: track lwcond waiters ( #7826 )
...
In lwmutex destroy syscall, wait for pending waiters.
2020-03-23 10:30:17 +03:00
Emmanuel Gil Peyrot
425e032a62
SPU: Copy with memcpy() instead of hand-rolled SSE2
...
In some very unscientific benchmark:
spu_thread::do_dma_transfer() was taking 2.27% of my CPU before, now
0.07%, while __memmove_avx_unaligned_erms() was taking 1.47% and now
2.88%, which added makes about 0.8% saved.
2020-03-22 15:51:03 +03:00
Nekotekina
e606130262
Memoize and print r3-r6 under Current function in the ppu_thread::dump()
2020-03-22 14:13:52 +03:00
Eladash
dc839e1784
lv2: Do not lose r3 data on syscalls
...
Allows to get the ID of the lv2 sync objects in the debugger by looking at r3's content.
2020-03-22 12:41:02 +03:00
Eladash
01cafc042d
cellSaveData: Ensure savedata_context members are 16-byte aligned
...
I saw stvx v128{0} (aligned 16-bytes store) usage on the first 16-bytes of CellSaveDataCBResult before funcStat in fw.
Also I saw 4 stw of u32{0} on it as well before funcFile, funcFixed and funcList.
So just add the resets for result before all callbacks, and make all
members of savedata_ontext 16 -byte aligned in case there are more
members guaranteed to be aligned.
2020-03-21 19:05:20 +03:00
Eladash
ceaee0ec68
cellSaveData: Clear traces of setList setup from setBuf->buf, add missing memset
...
* Always memset 0 setBuf->buf (to bufSize) before funcStat if the direcory is not new.
* Always memset 0 setBuf->buf (to bufSize) if listGet->dirNum became non-zero (listGet->dirListNum can be zero yet memset still occurs) .
* Clear traces of setList setup before funcStat (after funcFixed/List, only if listGet->dirNum != 0, callback can hack this value and prevent the memset).
2020-03-21 19:05:20 +03:00
Eladash
b6a288d383
cellSaveData: Skip directory items in savedata_get_list_item
2020-03-21 19:05:20 +03:00
Eladash
ae14eb0747
Minor fix of cellUserInfoGetStat
...
stat == nullptr is allowed, fix invalid id error code.
2020-03-21 19:05:20 +03:00
Eladash
be0e586671
cellSaveData: Add error checks for cellSaveData(User)GetListItem
2020-03-21 19:05:20 +03:00
Eladash
66916df4ae
cellSaveData: Set listSet->focusPosition to LISTHEAD by default
2020-03-21 19:05:20 +03:00
Eladash
fae46bf194
cellSaveData: Add CELL_SAVEDATA_ERROR_NOUSER
2020-03-21 19:05:20 +03:00
Eladash
e1cb827488
PPU Precise: Fix FMADDS, FMSUBS, FNMSUBS, FNMADDS
2020-03-21 16:32:09 +03:00
Eladash
3a36b713ce
Dont spam syscalls stats if emu is paused
2020-03-21 16:31:18 +03:00
Megamouse
f1127f1894
overlays: implement osk panels
2020-03-19 21:10:08 +01:00
Eladash
1dbb5422a2
Avoid a segfault when reading ppu stack contents in debuggers
...
TODO: lock vm mutex.
2020-03-19 14:18:05 +03:00
Eladash
7139c4fbab
Fix bug introduced by #7797
2020-03-19 07:22:05 +03:00
Malcolm Jestadt
0bfdc1f62e
PPU LLVM: Improve VMADDFP and VNMSUBFP
...
- Use native FMA to emulate VMADDFP, with a fallback for processors that don't support FMA
- Use native FMA to emulate VNMSUBFP as well, but note that it differs from the emulated path with regards to negative zero
2020-03-19 06:47:16 +03:00
Eladash
b11e8f8b8d
Minor fix of sys_ppu_thread_yield return value
...
Account for a special case where threads were rotated but no context
switch was made.
2020-03-19 06:45:14 +03:00
Eladash
7be35315da
Fix lv2 sys_lwcond/sys_lwmutex kernel explorer names
2020-03-19 06:45:14 +03:00
Nekotekina
6a2571d0e1
SPU: print current chunk hash in dump
2020-03-18 18:28:46 +03:00