From af23df842d168923f515f2307feaa7495b78e7cc Mon Sep 17 00:00:00 2001 From: trigger <5994581+cipherxof@users.noreply.github.com> Date: Sat, 1 Mar 2025 01:45:03 -0800 Subject: [PATCH] PPU: Report encrypted modules with KLIC in main file, opportunistic compilation at exit-spawn (#16743) --- rpcs3/Emu/Cell/PPUThread.cpp | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/rpcs3/Emu/Cell/PPUThread.cpp b/rpcs3/Emu/Cell/PPUThread.cpp index 63835db35f..90241016e6 100644 --- a/rpcs3/Emu/Cell/PPUThread.cpp +++ b/rpcs3/Emu/Cell/PPUThread.cpp @@ -4275,9 +4275,30 @@ extern void ppu_precompile(std::vector& dir_queue, std::vector(&Emu.klic[0])); + + if (src) + { + ppu_log.error("Possible missed KLIC for precompilation of '%s', please report to developers.", path); + + // Ignore executables larger than 500KB to prevent a long pause on exitspawn + if (src.size() >= 500000) + { + g_progr_ftotal_bits -= file_size; + + continue; + } + } + } + if (!src) { ppu_log.notice("Failed to decrypt '%s'", path); + + g_progr_ftotal_bits -= file_size; + continue; } @@ -4459,9 +4480,22 @@ extern void ppu_precompile(std::vector& dir_queue, std::vector(&Emu.klic[0])); + + if (src) + { + ppu_log.error("Possible missed KLIC for precompilation of '%s', please report to developers.", path); + } + } + if (!src) { ppu_log.notice("Failed to decrypt '%s'", path); + + g_progr_ftotal_bits -= file_size; + continue; }