Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							20ae7f3037 
							
						 
					 
					
						
						
							
							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 12:10:10 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							b70e367745 
							
						 
					 
					
						
						
							
							kern/ldr: add support for --x executables  
						
						
						
					 
					
						2024-10-15 21:51:39 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							60e3c8a4cc 
							
						 
					 
					
						
						
							
							kern/os: support CreateProcessFlag_EnableAliasRegionExtraSize  
						
						
						
					 
					
						2024-03-29 02:55:02 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							43b8461b5f 
							
						 
					 
					
						
						
							
							kern/svc: fix query/insecure names  
						
						
						
					 
					
						2023-11-16 16:25:26 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							51e932c88f 
							
						 
					 
					
						
						
							
							os: add UnsafeMemory apis  
						
						
						
					 
					
						2023-03-13 17:17:04 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							d408819335 
							
						 
					 
					
						
						
							
							os: update os namespace for 15.0.0, loader/ro: update to use csrng, spl: bump max sessions  
						
						
						
					 
					
						2022-10-12 09:15:47 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							5e73321aec 
							
						 
					 
					
						
						
							
							os: pthread_yield is deprecated, don't use it on linux  
						
						
						
					 
					
						2022-10-12 09:15:41 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							d421817c86 
							
						 
					 
					
						
						
							
							os: silence warning building with gcc 12 on windows  
						
						
						
					 
					
						2022-10-12 09:15:41 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							83aaf4904b 
							
						 
					 
					
						
						
							
							os: fix whoops in SetMemoryPermission on windows  
						
						
						
					 
					
						2022-10-12 09:15:40 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							019a7600c7 
							
						 
					 
					
						
						
							
							os: implement MemoryHeapManager, SetMemoryAttribute  
						
						
						
					 
					
						2022-10-12 09:15:40 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							01848bf7ac 
							
						 
					 
					
						
						
							
							os: fix various regressions since 1.3.1  
						
						
						
					 
					
						2022-04-29 16:14:23 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							ee0cb14b97 
							
						 
					 
					
						
						
							
							os: fix minor bug (and simplify) MapProcessCodeMemory  
						
						
						
					 
					
						2022-04-29 16:14:22 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							2702120d79 
							
						 
					 
					
						
						
							
							ro/os: use os primitives for MapProcessCodeMemory  
						
						
						
					 
					
						2022-04-29 16:14:22 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							aecf739a7c 
							
						 
					 
					
						
						
							
							loader: use os apis for interacting with process memory  
						
						
						
					 
					
						2022-04-29 16:14:21 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							738f57cd37 
							
						 
					 
					
						
						
							
							os: refactor multi wait apis to better match Nintendo's latest implementation  
						
						
						
					 
					
						2022-04-29 16:14:18 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							6a5d2ced4b 
							
						 
					 
					
						
						
							
							ams: globally prefer R_RETURN to return for ams::Result  
						
						
						
					 
					
						2022-04-04 17:46:58 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							6f4618ea60 
							
						 
					 
					
						
						
							
							ams: use R_SUCCEED, R_THROW globally  
						
						
						
					 
					
						2022-04-04 17:46:57 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							0f8ae6e04b 
							
						 
					 
					
						
						
							
							fs: for my sanity, begin tracking version where code was last checked for accuracy  
						
						
						
					 
					
						2022-04-04 17:46:53 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							d97cdde1aa 
							
						 
					 
					
						
						
							
							os/dd: add missing semicolon to new cache logic  
						
						
						
					 
					
						2022-03-23 09:16:08 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							d066ac3d69 
							
						 
					 
					
						
						
							
							kern: update for new hw maintenance semantics  
						
						
						
					 
					
						2022-03-23 09:16:06 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							a3b74aece9 
							
						 
					 
					
						
						
							
							kern: add InfoType_IsSvcPermitted  
						
						
						
					 
					
						2022-03-23 09:16:04 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							b8be94ed7e 
							
						 
					 
					
						
						
							
							strat: only include windows.h in translation units where actually needed  
						
						
						
					 
					
						2022-03-23 09:15:56 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							5febe40d50 
							
						 
					 
					
						
						
							
							fs: fix clang-build, os: StackGuardManager  
						
						
						
					 
					
						2022-03-23 09:15:52 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							0cefca205f 
							
						 
					 
					
						
						
							
							os: add working stack logic for macOS  
						
						
						
					 
					
						2022-03-23 09:15:50 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							d5b858f5ba 
							
						 
					 
					
						
						
							
							fix stack getting on linux, add test  
						
						
						
					 
					
						2022-03-23 09:15:50 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							1f2822fafe 
							
						 
					 
					
						
						
							
							abort/error: print backtrace, abuse templates, overhaul result/diag (macos not done yet)  
						
						
						
					 
					
						2022-03-23 09:15:49 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							5131256383 
							
						 
					 
					
						
						
							
							add basic tests for os::Event/SystemEvent functionality  
						
						
						
					 
					
						2022-03-23 09:15:47 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							d7a9c7ec4c 
							
						 
					 
					
						
						
							
							ams: support building unit test programs on windows/linux/macos  
						
						
						
					 
					
						2022-03-23 09:15:46 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							54783b86f1 
							
						 
					 
					
						
						
							
							dmnt2: detect thread name, add monitor get mapping(s), increase buffer sizes  
						
						
						
					 
					
						2021-11-03 23:59:55 -07:00 
						 
				 
			
				
					
						
							
							
								SciresM 
							
						 
					 
					
						
						
						
						
							
						
						
							823c0df6b9 
							
						 
					 
					
						
						
							
							kern: avoid constexpr init for many objects (avoids unnecessary memory clear) ( #1668 )  
						
						
						
					 
					
						2021-10-26 01:11:13 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							960c5c19f9 
							
						 
					 
					
						
						
							
							ams: improve offsetof style consistency  
						
						
						
					 
					
						2021-10-26 01:11:10 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							21cb300537 
							
						 
					 
					
						
						
							
							constexpr: resign ourselves to gcc dropping void -> T support  
						
						
						
					 
					
						2021-10-26 01:11:10 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							11e9dcfe11 
							
						 
					 
					
						
						
							
							os: add FlushDataCache  
						
						
						
					 
					
						2021-10-15 23:54:36 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							3e33fb6361 
							
						 
					 
					
						
						
							
							strat: use m_ for member variables  
						
						
						
					 
					
						2021-10-15 23:54:35 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							3b5f56ab9f 
							
						 
					 
					
						
						
							
							ams: replace most remaining operator & with std::addressof  
						
						
						
					 
					
						2021-10-15 23:54:34 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							0a4c2759a1 
							
						 
					 
					
						
						
							
							os: fix mutex push/pop prototypes  
						
						
						
					 
					
						2021-10-07 23:38:32 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							843dc8e521 
							
						 
					 
					
						
						
							
							libstrat: fix compilation without pre-compiled header/without lto  
						
						
						
					 
					
						2021-10-07 23:06:28 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							fd1b6d4578 
							
						 
					 
					
						
						
							
							libstrat: enable -Wextra, -Werror  
						
						... 
						
						
						
						This caught an embarrassingly large number of bugs. 
						
					 
					
						2021-10-07 23:06:28 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							390ce66da1 
							
						 
					 
					
						
						
							
							svc: refactor/rename MemoryInfo fields  
						
						
						
					 
					
						2021-10-07 23:06:28 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							5a71876ca8 
							
						 
					 
					
						
						
							
							strat: use svc:: over ::svc  
						
						
						
					 
					
						2021-10-07 23:06:26 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							002422d5dc 
							
						 
					 
					
						
						
							
							ams: the copyright^H^H^H^H^H^H^Hmplex plane is the algebraic closure of the reals  
						
						
						
					 
					
						2021-10-07 23:06:25 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							304b0f8016 
							
						 
					 
					
						
						
							
							os: remove ManagedHandle, refactor to use NativeHandle typename  
						
						
						
					 
					
						2021-10-07 23:06:25 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							28756234d9 
							
						 
					 
					
						
						
							
							strat: automatic program id detection  
						
						
						
					 
					
						2021-10-07 23:06:25 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							828506218f 
							
						 
					 
					
						
						
							
							os: adopt nintendo ReaderWriter naming over ReadWrite  
						
						
						
					 
					
						2021-10-07 23:06:24 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							cc4133c1b7 
							
						 
					 
					
						
						
							
							os: improve thread name codegen  
						
						
						
					 
					
						2021-10-07 23:06:24 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							d1c6b77f13 
							
						 
					 
					
						
						
							
							os: implement SharedMemory, update AslrSpaceManager  
						
						
						
					 
					
						2021-10-07 23:06:23 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							6125281acd 
							
						 
					 
					
						
						
							
							os: adopt multiwait naming over waitable  
						
						
						
					 
					
						2021-10-07 23:06:23 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							71b389c9e4 
							
						 
					 
					
						
						
							
							os: add tentative IoRegionType  
						
						
						
					 
					
						2021-10-07 23:06:22 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							7665721e03 
							
						 
					 
					
						
						
							
							ams-libs: AMS_ASSERT no longer invokes expression  
						
						
						
					 
					
						2021-10-07 23:06:21 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							47bbff43c5 
							
						 
					 
					
						
						
							
							os: add unit tests for ExpandUnsignedValueToAscii  
						
						
						
					 
					
						2021-10-07 23:06:20 -07:00