Atmosphere/libraries/libstratosphere/source
Michael Scire b7ec64ea16 fs.mitm: add and use memlet module to temporarily steal applet memory while building romfs images.
Starting in 20.0.0, the browser needs more applet memory to function, so we can't steal as much any more.
Thus, we now steal 14 MB on 20.0.0+ instead of 40MB.

However, since this reduces memory available for custom system modules, we are adjusting to compensate.
ams.mitm's heap size has been reduced from 32MB to 12MB (recovering 20MB).
In addition, fs.mitm now uses a new mechanism for stealing memory from the applet pool while romfs is being built.

On net, we are compromising:
    * Custom sysmodules lose memory available to them.
        On 19.0.0/AMS 1.8.0, there was 30 MB available for custom sysmodules.
        Stealing 14 MB instead of 40 MB, we lose 26 MB of that. Reducing ams.mitm's usage will gain us back 20.
        Nintendo also appears to...use 4 extra MB, in 20.0.0, from my test homebrew.
        So on 20.0.0/AMS 1.9.0, there should be 20 MB available for custom sysmodules.
        On the bright side, on <20.0.0/AMS 1.9.0, I guess there will be 50 MB available for custom sysmodules now?
    * totk mods will lose the ability to...put every file in the romfs on sd card. There will be some unknown maximum filecount for totk mods.
        On the bright side, implementing the transient memory stealing should improve compatibility for some mods which strictly add files?
2025-05-09 11:55:21 -07:00
..
ams ams: build with -std=gnu++23 2024-06-01 22:36:37 -07:00
boot2 fs.mitm: add and use memlet module to temporarily steal applet memory while building romfs images. 2025-05-09 11:55:21 -07:00
cal ams: use R_SUCCEED, R_THROW globally 2022-03-26 00:14:36 -07:00
capsrv jpegdec: fix abort check on output width 2023-10-18 02:33:59 -07:00
cfg ams: support building unit test programs on windows/linux/macos 2022-03-21 17:21:44 -07:00
crypto strat: only include windows.h in translation units where actually needed 2022-03-21 17:21:44 -07:00
cs cs: prevent exceptions from manifesting 2021-10-07 19:48:40 -07:00
dd kern: update for new device map semantics 2022-10-12 09:15:16 -07:00
ddsf ams: use R_SUCCEED, R_THROW globally 2022-03-26 00:14:36 -07:00
diag ams: various fixes to support booting debug configuration 2025-04-08 13:43:29 -07:00
dmnt ams: support building unit test programs on windows/linux/macos 2022-03-21 17:21:44 -07:00
erpt/srv erpt: initial support (incomplete) for 20.0.0 2025-05-09 11:55:21 -07:00
err ams: support building unit test programs on windows/linux/macos 2022-03-21 17:21:44 -07:00
fs strat: update for fsp-ldr 20.0.0 changes 2025-05-09 11:55:21 -07:00
fssrv strat: update for fsp-ldr 20.0.0 changes 2025-05-09 11:55:21 -07:00
fssystem fs: fix uninit warnings on windows localfilesystem 2024-10-29 20:00:08 -07:00
gc/impl ncm: update client code to better reflect latest sysupdate 2022-03-21 17:21:44 -07:00
gpio gpio: really not sure how this works before, lol 2023-01-30 23:13:45 -07:00
hid ams: globally prefer R_RETURN to return for ams::Result 2022-03-26 14:48:33 -07:00
hos ams: use R_SUCCEED, R_THROW globally 2022-03-26 00:14:36 -07:00
htc ams: build with -std=gnu++23 2024-06-01 22:36:37 -07:00
htcfs ams: globally prefer R_RETURN to return for ams::Result 2022-03-26 14:48:33 -07:00
htclow strat: add windows socket api, linux/macos TODO 2022-03-27 14:36:31 -07:00
htcs strat: fix nx_debug build target 2024-01-20 13:31:12 -07:00
i2c ams: globally prefer R_RETURN to return for ams::Result 2022-03-26 14:48:33 -07:00
init ams: support building unit test programs on windows/linux/macos 2022-03-21 17:21:44 -07:00
kvdb ams: globally prefer R_RETURN to return for ams::Result 2022-03-26 14:48:33 -07:00
ldr ldr/pm: update for 20.0.0 abi changes 2025-05-09 11:55:21 -07:00
lm ams: globally prefer R_RETURN to return for ams::Result 2022-03-26 14:48:33 -07:00
lmem ams: support building unit test programs on windows/linux/macos 2022-03-21 17:21:44 -07:00
lr lr: new AOC commands use MapAlias for paths... 2022-10-12 09:15:16 -07:00
mem strat: only include windows.h in translation units where actually needed 2022-03-21 17:21:44 -07:00
mitm mitm: fix errant include on non-hos 2023-06-06 19:32:06 -07:00
ncm ncm: update to implement new ContentMetaDatabase function for 20.0.0 2025-05-09 11:55:21 -07:00
nim ams: globally prefer R_RETURN to return for ams::Result 2022-03-26 14:48:33 -07:00
nsd/impl/device strat: use m_ for member variables 2021-10-10 00:14:06 -07:00
os fs.mitm: add and use memlet module to temporarily steal applet memory while building romfs images. 2025-05-09 11:55:21 -07:00
osdbg ams: build with -std=gnu++23 2024-06-01 22:36:37 -07:00
patcher loader/ro: abort if patching would go out of bounds 2023-12-27 23:05:10 -07:00
pgl libstrat: make build with new ncm/fs api changes (sysmodules probably fail to build) 2023-02-22 17:19:51 -08:00
pinmux/driver ams: support building unit test programs on windows/linux/macos 2022-03-21 17:21:44 -07:00
pm pm: adjust resource limit function names 2023-10-17 11:10:09 -07:00
powctl ams: various fixes to support booting debug configuration 2025-04-08 13:43:29 -07:00
psc ams: globally prefer R_RETURN to return for ams::Result 2022-03-26 14:48:33 -07:00
pwm strat: update for code changes found in boot (closes #1797) 2022-05-05 17:45:55 -07:00
ro/impl ams: support building unit test programs on windows/linux/macos 2022-03-21 17:21:44 -07:00
scs ams: globally prefer R_RETURN to return for ams::Result 2022-03-26 14:48:33 -07:00
settings ams: globally prefer R_RETURN to return for ams::Result 2022-03-26 14:48:33 -07:00
sf ams: fix compilation with gcc 13 2023-05-07 03:36:46 -07:00
sm ams: globally prefer R_RETURN to return for ams::Result 2022-03-26 14:48:33 -07:00
socket util: update some bit utility logic 2022-04-03 10:51:46 -07:00
spl spl: add support for new spl:es command 33 2024-03-29 02:41:14 -07:00
sprofile/srv ams: globally prefer R_RETURN to return for ams::Result 2022-03-26 14:48:33 -07:00
time strat: add windows socket api, linux/macos TODO 2022-03-27 14:36:31 -07:00
updater ams: globally prefer R_RETURN to return for ams::Result 2022-03-26 14:48:33 -07:00
usb ams: globally prefer R_RETURN to return for ams::Result 2022-03-26 14:48:33 -07:00
util lz4: update to git-master 2022-03-21 17:21:44 -07:00
wec ams: support building unit test programs on windows/linux/macos 2022-03-21 17:21:44 -07:00
service_guard.h strat: fix inclusion/ordering for some c headers 2020-08-14 17:33:49 -07:00