A hardcoded cache size makes a small package unmountable

CACHE_SIZE at 0x43C is written as a constant, 0xD0000, because that is what all three real packages carry. All three are also tens of megabytes. A minimal package - built to isolate a console panic by shrinking the image - has an inner filesystem of 0xB0000, which is smaller than the cache its own header declares, and a console refuses it:

[PFS] mount finished 1 1 1 1 0 1 0 0          the outer image mounts
sceFsMountGamePkg(1452) ***ERR*** Failed to enable GDDR5 cache.
sceFsMountGamePkg() ret = 80020016            EINVAL

The outer image mounts and pfs_image.dat opens - the failure is 27 lines further into sceFsMountGamePkg than the ENOENT that the inode-flag fixes cleared. Then it asks for a cache larger than the thing being cached, and stops.

Two things worth keeping from this:

The consequence for the investigation is larger than the bug. A minimal package was built to test whether a console panic during the app0 mount came from the filesystem writer or from the payload inside it - and it turns out a small package fails earlier, for a reason of its own, so it never reaches the code that panics. It is not a reproducer. A useful one has to stay above the declared cache size, which is the opposite of minimal.