-
fpkghandling and related crypto paths were improved. A lot of internal logic was sped up: fewer repeated calculations, fewer repeated memory reads, and faster handling of adjacent data blocks. -
FSELFhandling was improved. Parsing and patching now happen more carefully and more efficiently, with extra protection against repeated-access edge cases. -
Startup and early initialization were sped up. Process lookup and internal memory setup were optimized. Some unnecessary allocations and repeated copies were removed.
-
Protection against freezes and kernel panics was improved. Critical paths now perform safer validation. If important data cannot be read or written correctly, the code more often tries to stop safely instead of continuing with corrupted state.
-
Automatic mounting can now be disabled. This is useful if you want a more controlled startup flow or if you are debugging.
- Memory for loading the module is now allocated automatically in the required size.
- The loader startup path was optimized.
CR3preparation and related setup were improved.- A more compatible
ShellCoreprocess lookup path was restored, to avoid trading too much stability for aggressive optimization. - A prepared zero buffer is now reused instead of clearing memory the slow way each time.
What this improves:
- faster startup;
- fewer unnecessary operations during loading;
- lower chance of hitting unstable behavior during early initialization.
- Caches were added for crypto state.
- Expanded
XTSkeys andHMAC-SHA256state are now cached. - Virtual-to-physical translation was sped up in crypto paths.
- Adjacent
XTSmessages can now be processed together. - A direct
DMEMfast path was added forXTSsectors. - Batched
XTShandling forfpkgwas optimized. - A shared slow temporary buffer was removed.
HMAC-SHA256was specialized for the fake-key crypto paths that are actually used.
What this improves:
- faster
fpkgmounting and processing; - less redundant crypto work;
- lower overhead in repeated operations.
- A cache was added for already parsed
FSELFheaders. - A cache was added for the active
SELFcontext within a single system call. - Extra validation was added so an old and a new object are not confused if the same address gets reused.
authinfoloading became lazy: it is only read when it is actually needed.SELFblock copying became safer: overlapping memory ranges are now handled correctly; no-op copies are skipped; unnecessary reads were reduced.
What this improves:
- faster repeated
SELFprocessing; - fewer unnecessary kernel memory reads;
- lower risk of corrupting data in complex loading scenarios.
- A cache was added for the debug
RIFkey schedule. - Internal hashing was moved to a lighter and faster wrapper.
- Extra nested FPU transitions were removed where the FPU was already held.
- The
NPDRMhandler now deals with errors more carefully and with slightly lower fixed overhead.
What this improves:
- less unnecessary work in license and key-related paths;
- more predictable behavior when something goes wrong.
libtomcryptwas replaced with a faster minimal path based onisa-l_crypto.- A custom minimal PS5 adapter for
isa-l_cryptowas added. - A dedicated fast
SHA-256path optimized forZen 2was added. uelfand the crypto-related parts of the build are now better tuned for the PS5 CPU.- Optimization settings were made safer and more predictable.
What this improves:
- higher speed in real crypto workloads;
- less unnecessary code;
- better fit for actual PS5 hardware.
fsbaseoffset lookup inkekcallwas fixed.- A case where a fake key could remain half-broken after a partial failure was fixed.
- Checked helpers were added for reading and writing sensitive kernel data.
- Error handling was improved in
syscall,trap,mailbox,FSELF,fpkg, andNPDRMpaths. - Debug register save and restore handling was fixed.
- FPU entry failures are now handled explicitly instead of being ignored.
What this improves:
- lower chance of kernel panics caused by corrupted state;
- better behavior in rare failures and edge cases;
- safer debugging.