Commit graph

3348 commits

Author SHA1 Message Date
Eladash
923ba6f3bb Fix sysutil_send_system_cmd at Emu.Stop() 2021-03-12 21:01:48 +03:00
Eladash
729cd9284e debugger: Fix PPU threads pausing 2021-03-12 13:01:12 +03:00
Eladash
cfa2d4aaa8 Loader: Log FNID of imported/exported functions 2021-03-11 15:23:58 +03:00
Nekotekina
03332c340d Implement utils::bless (pointer cast)
Tries to workaround strict aliasing troubles.
Don't confuse with std::bless which works differently.
2021-03-10 16:02:00 +03:00
Eladash
63ecb56b51 PPU interpreter hotfix 2021-03-10 13:41:13 +03:00
Nekotekina
a4fdbf0a88 Enable -Wstrict-aliasing=1 (GCC)
Fixed partially.
2021-03-09 03:10:15 +03:00
Nekotekina
53af2dbb3f Add/fix warning -Wignored-qualifiers (GCC/clang)
Fix simple_array::const_iterator as a part of it.
2021-03-09 03:09:50 +03:00
xddxd
df338f0552 Move sys_crashdump to it's own file and make it a module itself 2021-03-08 22:57:35 +03:00
Malcolm Jestadt
e5d0e035d0 SPU LLVM: Rearange FM instruction for better performance
- Doesn't eliminate any instructions, but allows for better out of order execution.
2021-03-08 15:48:36 +03:00
Nekotekina
87af905018 Enable -Wunused-parameter 2021-03-06 18:07:08 +03:00
GitArUs
f8097a428c
Allow games to list all savedata (#9547)
* cellSaveData - allow games to list all savedata, not only those they own.

Co-authored-by: Megamouse <studienricky89@googlemail.com>
2021-03-06 16:01:04 +03:00
Eladash
a5d74c5e96 GUI: Improve missing firmware handling
* Install PS3UPDAT.PUP at the spot when booting games whenever firmware is missing. The option to boot games without firmware is still supported when all firmware SPRX are HLEd in firmware settings.
* Pop-up a confirmation dialog in firmware installation if firmware is already installed.
2021-03-06 10:34:49 +01:00
Timothy Redaelli
fa5a2b6a85 SPUThread.cpp: remove "__attribute__((always_inline))"
cmp_rdata and mov_rdata are using __attribute__((always_inline)),
without inline, that is not supported on current g++ (see RPCS3#1546).

Moreover __attribute__((always_inline)) is a noop if used without inline so
just remove it.

A proper fix is to move the 2 functions in an header file as static
(with FORCE_INLINE) so it can be correctly inlined by the compiler.
2021-03-04 12:17:27 +03:00
RipleyTom
0eb0b1e1c9 Add some GT6 devices to whitelist 2021-03-03 17:30:16 +03:00
Nekotekina
52fe86b56c fixed_typemap.hpp: make it a bit fool-proof
Require objects to be non-copyable (move is still allowed).
2021-03-02 21:58:49 +03:00
Eladash
004ebfdaee SPU debugger: Implement MFC journal
* Allow to dump up to 1820 commands with up 128 bytes of data each, using key D with the debugger.
2021-03-02 21:57:51 +03:00
Nekotekina
ea5e837bd6 fixed_typemap.hpp: return reference 2021-03-02 16:08:14 +03:00
Nekotekina
d788b12a8e fixed_typemap.hpp: reduce indirection
Backported some changes from auto_typemap.hpp
Implemented methods init(), reset(), clear()
Disabled recreation support.
2021-03-02 16:08:14 +03:00
Florin9doi
dfee46604a Buzz settings 2021-02-28 22:36:47 +03:00
Megamouse
a7c9827ad4
Improve cellScreenshot (#9851)
* Fix screenshot logging

* Update libpng to 1.6.37

* cellScreenshot: Write text chunks
* cellScreenshot: add overlay image
* screenshot_manager: add /dev_hdd0/photo/

* read_png_file: use deleter instead of manual close

* cellScreenshot: use Qt for overlays
* cellScreenshot: don't apply overlay to regular img
* screenshot_manager: add mount hack for VFS
* cellScreenshot: escape the whole path
2021-02-28 22:05:04 +03:00
Nekotekina
f580bee32c Rewrite cellNetCtlNetStartDialogLoadAsync hack 2021-02-28 20:20:17 +03:00
RipleyTom
67378c7dea Add CELL_NET_CTL_INFO_DHCP_HOSTNAME impl 2021-02-26 11:58:42 +03:00
Nekotekina
a90ad62fc0 Remove garbage SPUW perf report 2021-02-23 18:24:50 +03:00
Nekotekina
090a769bf6 Implement fs::sync (Linux/POSIX) 2021-02-23 18:24:50 +03:00
Nekotekina
014846cf31 cellSaveData: fix minor issues 2021-02-23 18:24:50 +03:00
Eladash
112b7f6571 Fix Emulation::CallAfter
Most CallAfter usages were extremely wrong when ordered after Emu.Stop(). could result in anywhere from emulation stopping hangs to even segfaults.
track_emu_state = true is now the default, I haven't found cases which need need it disabled.
2021-02-23 17:55:36 +03:00
Eladash
68a878264c Minor GUI fix for PPU interpreter at "precompilation" 2021-02-23 17:35:45 +03:00
Eladash
9ccf39b27f Atomic SPU LS capture writes 2021-02-23 11:29:23 +03:00
Eladash
d4af8dd89a Fix atomicity of savedata/trophy data writes 2021-02-23 11:29:23 +03:00
Eladash
932f31e37b Atomic PARAM.SFO writes 2021-02-23 11:29:23 +03:00
Eladash
96400234a8 Remove cpu_thread destructor 2021-02-22 12:47:45 +03:00
Megamouse
f0b7afd7cc cellPad: minor optimization 2021-02-22 10:45:40 +01:00
RipleyTom
8be2a55ccc Add mutex lock for NP changes 2021-02-21 18:04:55 +03:00
RipleyTom
81270f3142 Remove now useless code from sys_bnet_connect 2021-02-21 18:04:55 +03:00
Eladash
eb0d006168
Fix most of "[x] thread is too sleepy" at Emu.Stop() (#9813)
* Fixes some thread sleep/wait calls
2021-02-21 16:43:02 +03:00
Eladash
20eb4352fb
debugger: Fix single stepping (#9793) 2021-02-19 14:53:09 +03:00
Nekotekina
038148bf06 Fix almost all GCC warnings 2021-02-17 22:59:04 +03:00
Nekotekina
1446254a03 Add error on missing 'override'
For consistency.
2021-02-15 20:21:30 +03:00
Nekotekina
8e6e57de86 Enable -Wunused-function warning 2021-02-15 14:39:53 +03:00
Eladash
f009d36811 Update log messages of PPU/SPU hashes and patches applied 2021-02-14 09:35:42 +01:00
Eladash
f43260bd58
Atomic waiting refactoring (#9208)
* Use atomic waitables instead instead of global thread wait as often as possible.
* Add ::is_stopped() and and ::is_paued() which can be used in atomic loops and with atomic wait. (constexpr cpu flags test functions)
* Fix notification bug of sys_spu_thread_group_exit/terminate. (old bug, enhanced by #9117)
* Function time statistics at Emu.Stop() restored. (instead of current "X syscall failed with 0x00000000 : 0")
2021-02-13 17:50:07 +03:00
Eladash
cf384795d2 debugger: Improve PPU string constraints 2021-02-13 16:00:26 +03:00
Eladash
423cc1685c PPU LLVM: Reduce PRX/OVL compilation memory usage a little 2021-02-13 13:05:41 +03:00
Eladash
5ed0cc293d Fix PS3 process exit/exitspawn 2021-02-12 19:39:47 +03:00
Eladash
e26ae9899c Reimplement/fix PRX patches 2021-02-12 15:27:59 +03:00
Nekotekina
4f8cac731b Fix SAFE_BUFFERS attribute for GCC 2021-02-09 12:33:50 +03:00
Nekotekina
0057c89eaa PPU Analyser: follow fallbacks in some cases
Fallback is an "invisible" branch to the next instruction.
This may be necessary for certain cases when patches are used.
2021-02-07 11:02:45 +03:00
Nekotekina
9e9a55df46 PPU LLVM: compile instructions from patches
For now, only as a single instruction at a time.
2021-02-07 11:02:31 +03:00
Nekotekina
9463238490 PPU Analyser: minor fixups for end pointer
Add more sanity checks for sections.
Remove some redundancy.
2021-02-07 11:02:31 +03:00
Nekotekina
b7ff2ecffb Patch system: export some info for future use
For now it's just a list of addresses.
For now it's not used (just a stub).
2021-02-07 11:02:31 +03:00