AnyPS5/docs/dev
Jan Šlégl e753080391 fix(libkernel): count guest module segments against the flexible memory budget
sceKernelAvailableFlexibleMemorySize and the flexible maps counted only
explicit flexible mappings, so the full 448 MiB was reported while the
title's executable and modules were loaded. A title that derives its code
and data size from the budget minus the available size got an unsigned
underflow.

The segments of the main executable and of every .guest.prx module that
the title's ELF gives permissions now count, rounded to 16 KiB pages, as
shadPS4 maps every non-system module segment as flexible memory. The
relinker's own blocks and the host system libraries do not count. The
charge ends when a module is unloaded.

Refs #2883

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Fnrk5Dazjb2tLooVSpdRQq
2026-10-11 17:48:05 +02:00
..
ARCHITECTURE.md fix(agc): select the registered back half for a fused hull header 2026-10-11 12:36:01 +02:00
BUILD.md build: reject an SDL2 without HIDAPI and fall back to shared SPIRV-Tools 2026-10-11 10:18:23 +02:00
CONVENTIONS.md refactor(docs): separated user and dev in docs + compatibility file 2026-09-28 22:58:17 +03:00
HW_ORACLE.md feat(shader): follow FP16_OVFL in every f16 result 2026-10-10 04:32:38 -03:00
PROGRESS.md feat(tools): mark behaviourally empty bodies in the progress report 2026-10-11 11:44:28 +00:00
TechnicalDebt.md fix(libkernel): count guest module segments against the flexible memory budget 2026-10-11 17:48:05 +02:00