Ani
1fb97734a0
cellDmuxPamf: LLE by default again
...
HLE implementation is crashing on a few games, see #18360 , revert it back to LLE until issues with HLE are fixed
2026-03-16 06:21:01 +02:00
capriots
bd7d5faa9f
cellDmuxPamf implementation part 2: PPU thread
2026-03-07 21:46:07 +02:00
RipleyTom
3b6afc1d9a
Final sys_ fixes
2026-02-28 09:00:49 +02:00
Elad
207ee59acd
PPU Analyzer: Firmware/import caller analysis and KLIC finding pass
2025-02-27 12:32:21 +02:00
Emma
10e0fb2b54
sys_prx: implement get_module_id_by_name, module_info_v2 ( #16573 )
2025-01-18 15:16:38 +02:00
Elad
2614450e4b
Fix IDM image serialization
2025-01-04 09:29:09 +02:00
Elad
575a245f8d
IDM: Implement lock-free smart pointers ( #16403 )
...
Replaces `std::shared_pointer` with `stx::atomic_ptr` and `stx::shared_ptr`.
Notes to programmers:
* This pr kills the use of `dynamic_cast`, `std::dynamic_pointer_cast` and `std::weak_ptr` on IDM objects, possible replacement is to save the object ID on the base object, then use idm::check/get_unlocked to the destination type via the saved ID which may be null. Null pointer check is how you can tell type mismatch (as dynamic cast) or object destruction (as weak_ptr locking).
* Double-inheritance on IDM objects should be used with care, `stx::shared_ptr` does not support constant-evaluated pointer offsetting to parent/child type.
* `idm::check/get_unlocked` can now be used anywhere.
Misc fixes:
* Fixes some segfaults with RPCN with interaction with IDM.
* Fix deadlocks in access violation handler due locking recursion.
* Fixes race condition in process exit-spawn on memory containers read.
* Fix bug that theoretically can prevent RPCS3 from booting - fix `id_manager::typeinfo` comparison to compare members instead of `memcmp` which can fail spuriously on padding bytes.
* Ensure all IDM inherited types of base, either has `id_base` or `id_type` defined locally, this allows to make getters such as `idm::get_unlocked<lv2_socket, lv2_socket_raw>()` which were broken before. (requires save-states invalidation)
* Removes broken operator[] overload of `stx::shared_ptr` and `stx::single_ptr` for non-array types.
2024-12-22 20:59:48 +02:00
capriots
9d4ff13c2b
cellAdec implementation part 2: LPCM decoder ( #16381 )
...
* cellAdec: savestate fixup
* simd.hpp: add some intrinsics
* cellAdec implementation part 2: LPCM decoder
* cellAdec: set to HLE by default
* cellAdec: review fixes
---------
Co-authored-by: Elad <18193363+elad335@users.noreply.github.com>
2024-12-18 20:21:56 +02:00
oltolm
2b0f786b2d
Fix std::basic_string warnings ( #16261 )
2024-11-11 21:54:44 +02:00
capriots
d60eced317
cellAtracXdec: set to HLE by default
2024-09-14 19:37:21 +02:00
Megamouse
363a4dbdef
Fix warning: dangling pointer (construct string_view from temporary string)
2024-06-27 03:21:35 +03:00
Megamouse
e635abe552
Fix warning: std::move of const variables
2024-06-27 03:21:35 +03:00
Elad Ashkenazi
4e8e5a7fed
PPU Debug: Dump decrypted PRX
2024-06-08 14:09:37 +03:00
capriots
79f54771b5
cellRtc: set to HLE by default
2024-04-27 13:33:09 +02:00
Eladash
f0abb4473e
PPU LLVM: Fix memory leak on precompilation
2024-03-30 21:58:26 +03:00
capriots
eb8325afcb
cellPamf implementation ( #15143 )
2024-02-29 21:45:28 +01:00
Eladash
4aee44b1c0
sys_prx/overlay: Add some debugging steps
2024-02-16 10:42:57 +02:00
Megamouse
59c58aa3cf
fix some warnings
2023-12-30 19:07:35 +01:00
Eladash
f60bdbaece
Savestates: Compressed state files
2023-11-27 12:36:17 +02:00
Eladash
66d01b688c
Savestates: Implement initial RAM ventilation system
2023-11-10 08:45:49 +02:00
Eladash
44c08c3a73
PPU/Progress Dialog: Improve remaining time calculation
2023-09-05 22:02:47 +03:00
Eladash
b900c43ceb
PPU: Precompile only encrypted executeables
...
Improve sys_prx_load_module and sys_overlay_load_module error checking.
2023-09-02 22:14:53 +03:00
Eladash
9ff91c29f2
Invalidate Savestates
2023-07-23 17:58:54 +03:00
Eladash
554b27a82a
PPU LLVM: Implement SELF precompilation
...
Do not use PS3 memory for precompilation.
2023-06-28 18:34:33 +03:00
brian218
42b388317e
sys_ss: Further implemented Update Manager service for VSH
2023-06-05 13:51:54 +03:00
Megamouse
cd9ff08235
Decrease some include madness
2023-04-26 21:37:44 +02:00
Megamouse
6555de6ef5
fix warnings
2023-04-21 16:41:06 +02:00
Elad Ashkenazi
780a6a7b40
sys_prx: Fix PRX module filename reading ( #13339 )
2023-02-04 21:24:24 +01:00
Elad Ashkenazi
e6a7597444
PRX/savestates/VSH: Associate PRX with library, fix VSH browser ( #13221 )
...
* PRX/savestate:s Associate PRX with library
* VFS/Savestates: Fix host_root resolving
* Savestates: Fix segfault in ppu_initialize
* SPU: Avoid some log spam
* VSH/sys_vm: Fix limit on root processes
2023-01-15 23:12:54 +03:00
Elad Ashkenazi
0946e5945f
VSH Improvements ( #13172 )
...
* sys_prx: Implement PRX LIB register syscall
* VSH: partial log spam fix
* sys_process reboot fix
* Implement sys_memory_container_destroy_parent_with_childs
* sys_net: Implement SO_RCVTIMEO/SO_SENDTIMEO
* VSH: Implement sys_rsx_context_free
* PPU LLVM: distinguish PPU cache exec also by address
Fixes referencing multiple PRX.
* UI: Do not report size of apps inside /dev_flash
2023-01-09 20:03:01 +03:00
Eladash
820e692e57
PRX: Implement multi-referenced library management
2022-12-25 16:10:32 +03:00
Eladash
b875a86e1d
PRX: export functions on start()
2022-11-09 02:28:12 +03:00
Nekotekina
6ff6a4989a
Implement at32() util
...
Works like .at() but uses source location for "exception".
2022-09-26 18:04:15 +03:00
Eladash
194f7375da
SPU/LV2: Fix tiny race conditions
2022-09-21 20:35:34 +03:00
Nekotekina
b49a1f27eb
Warning fixes
2022-09-17 16:35:02 +03:00
Elad Ashkenazi
fcd297ffb2
Savestates Support For PS3 Emulation ( #10478 )
2022-07-04 16:02:17 +03:00
Eladash
c49ebba648
Fixes of PS3 filesystem EDAT/SDAT handling
...
* Return EFSSPEIFIC if encountered corrupted EDAT or an unmatched key in sys_fs_open and sys_fs_read.
* Fix validate_dev_klic() for license-free EDAT.
* Fix EDATADecrypter::ReadData() for when size + pos > file_size but pos < file_size.
* Try to save up to 16 decryption keys. Educated guess based on NPDRM file descriptors count llimit.
* Return LICENCE_NOT_FOUND if needed RAP file is not found in sceNpDrmIsAvailable.
* Check additional sys_fs_open errors for sceNpDrmOpen. (EISDIR, ENOTMOUNTED)
2021-11-04 21:32:15 +03:00
Eladash
9c2d94ca1a
sys_prx: Improve sys_prx_get_module_info error checking
2021-09-16 19:09:18 +03:00
Eladash
ae4f837f57
sys_prx: Implement sys_prx_get_module_id_by_address
2021-09-16 19:09:18 +03:00
Eladash
8b48fd95fe
Fix sys_prx_start/stop_module for older firmware
...
The old structure is only 32 bytes long, not containing prologue/epilogue functions.
2021-09-15 18:08:58 +03:00
Megamouse
dc0a086400
sys_prx_unload_module: fix log message
2021-08-03 08:39:57 +02:00
Eladash
be9be6e5c9
Make sys_prx_unload_module use success type logging
2021-07-24 14:23:47 +03:00
clienthax
9c5c4457b6
Stub libfs_utility_init to bypass FSCK checks by vsh.
2021-07-17 18:56:07 +02:00
Ani
a49446c9e9
Replace gsl::span for std::span (c++20) ( #7531 )
...
* Replace gsl::span for std::span (c++20)
* Replace gsl::byte with std::byte
Co-authored-by: Bevan Weiss <bevan.weiss@gmail.com>
2021-05-30 17:10:46 +03:00
Eladash
f103004aa0
sys_prx/overlay: Fix disambiguator of module names opened by FD ( #10340 )
...
Don't append zero offset.
2021-05-26 23:38:17 +03:00
Megamouse
8fd3b26308
sys: more constants
2021-04-23 22:46:15 +02:00
Nekotekina
ccb46df905
Minor fixups (removed unnecessary code)
2021-04-11 16:36:02 +03:00
Megamouse
a16d8ba3ea
More random changes
2021-04-11 14:01:51 +03:00
Eladash
32116086b3
Implement _sys_prx_register_module loading imports/exports functionality
2021-04-03 17:23:40 +03:00
Eladash
1213708b72
Replace some log errors ( #9980 )
2021-03-17 17:19:35 +03:00