Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							0f72b2ceba 
							
						 
					 
					
						
						
							
							kern: move spendsgir static assert  
						
						
						
					 
					
						2025-05-28 19:34:03 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							8c3d2bdbba 
							
						 
					 
					
						
						
							
							kern: save/restore spendsgir in KInterruptController::Save/RestoreCoreLocal  
						
						
						
					 
					
						2025-05-28 19:34:02 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							69f113b87b 
							
						 
					 
					
						
						
							
							kern: wait 100us after synchronizing cores before saving interrupt state on sleep  
						
						
						
					 
					
						2025-05-28 19:34:01 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							4eefa84c42 
							
						 
					 
					
						
						
							
							kern: use KLightLock for KCoreBarrierInterruptHandler  
						
						
						
					 
					
						2025-05-28 19:34:01 -07:00 
						 
				 
			
				
					
						
							
							
								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 
							
						 
					 
					
						
						
						
						
							
						
						
							69993b1894 
							
						 
					 
					
						
						
							
							kern: plutoo is an intellectual, I am a fool, fix chicanery  
						
						
						
					 
					
						2025-05-09 12:10:08 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							e5ebbd0cd1 
							
						 
					 
					
						
						
							
							kern: use callback to note pte updates in KPageTableImpl  
						
						
						
					 
					
						2025-05-09 12:10:07 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							7f3ccf945a 
							
						 
					 
					
						
						
							
							kern: refactor FindFreeArea region search logic per 20.0.0 changes  
						
						
						
					 
					
						2025-05-09 12:10:07 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							0d0f533805 
							
						 
					 
					
						
						
							
							kern: update instruction cache invalidation logic in KPageTableBase to reflect 20.0.0 changes  
						
						
						
					 
					
						2025-05-09 12:10:07 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							7656a0e770 
							
						 
					 
					
						
						
							
							kern: reorder resource manager implementation  
						
						
						
					 
					
						2025-05-09 12:10:06 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							5aa54772e6 
							
						 
					 
					
						
						
							
							kern: support null resource limit in KSecureSystemResource  
						
						
						
					 
					
						2025-05-09 12:10:06 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							1e67468804 
							
						 
					 
					
						
						
							
							kern: adjust system registers during exception handling on MTE-violation or kernel address fault  
						
						
						
					 
					
						2025-05-09 12:10:05 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							fa7577c87b 
							
						 
					 
					
						
						
							
							kern: update UserspaceAccess functions for 20.0.0 changes  
						
						
						
					 
					
						2025-05-09 12:10:05 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							73dd0b5019 
							
						 
					 
					
						
						
							
							kern: update KAddressSpaceInfo to reflect 20.0.0 changes  
						
						
						
					 
					
						2025-05-09 12:10:04 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							16fb7ca067 
							
						 
					 
					
						
						
							
							kern: invert meaning of KTargetSystem/KSystemControl bools  
						
						
						
					 
					
						2025-05-09 12:10:04 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							437ef0004a 
							
						 
					 
					
						
						
							
							ams: various fixes to support booting debug configuration  
						
						
						
					 
					
						2025-05-09 12:10:02 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							715eff2102 
							
						 
					 
					
						
						
							
							kern: update KernelLdr for 19.0.0 (new checks, dummy function call).  
						
						... 
						
						
						
						Also, fix a few very embarassing mistakes in kernel ldr:
* We have been mapping the page table region RWX for a few years now, accidentally.
* My attempt at making initial page tables not use bit 58 was broken in multiple ways. 
						
					 
					
						2025-05-09 12:10:01 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							5d1a1eca26 
							
						 
					 
					
						
						
							
							kern: support reboot to fatal error on mariko  
						
						
						
					 
					
						2024-10-15 21:51:46 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							18473ebbe9 
							
						 
					 
					
						
						
							
							kern: Perform page table validity pass during KPageTableImpl::InitializeForKernel  
						
						
						
					 
					
						2024-10-15 21:51:46 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							4f9b30bd86 
							
						 
					 
					
						
						
							
							kern: fix more page table refactor bugs  
						
						
						
					 
					
						2024-10-15 21:51:45 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							1c2ed77c67 
							
						 
					 
					
						
						
							
							kern: first round of page table refactor bug fixes  
						
						
						
					 
					
						2024-10-15 21:51:45 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							1466c59252 
							
						 
					 
					
						
						
							
							kern: update KPageTable::Map for new refactor  
						
						
						
					 
					
						2024-10-15 21:51:44 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							235cff531b 
							
						 
					 
					
						
						
							
							kern: update ChangePermissions to use new iteration logic  
						
						
						
					 
					
						2024-10-15 21:51:44 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							73062fd8f8 
							
						 
					 
					
						
						
							
							kern: update KPageTable::Finalize for the refactor  
						
						
						
					 
					
						2024-10-15 21:51:44 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							eaef8d20a1 
							
						 
					 
					
						
						
							
							kern: use new merge pages api  
						
						
						
					 
					
						2024-10-15 21:51:43 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							1d7ad43fdc 
							
						 
					 
					
						
						
							
							kern: implement KPageTableImpl merge  
						
						
						
					 
					
						2024-10-15 21:51:43 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							b40b203614 
							
						 
					 
					
						
						
							
							kern: continue page table refactor, implement separate/unmap  
						
						
						
					 
					
						2024-10-15 21:51:43 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							fe06100001 
							
						 
					 
					
						
						
							
							kern: start KPageTable(Impl) refactor, use array-with-levels for KPageTableImpl  
						
						
						
					 
					
						2024-10-15 21:51:42 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							03d859792e 
							
						 
					 
					
						
						
							
							kern: invoke supervisor mode thread functions from C++ context with valid stack frame  
						
						
						
					 
					
						2024-10-15 21:51:40 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							28ad01341a 
							
						 
					 
					
						
						
							
							kern: specify allowable ipc client memory attr via inverted-whitelist, not blacklist  
						
						
						
					 
					
						2024-10-15 21:51:40 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							adc3f5e155 
							
						 
					 
					
						
						
							
							kern: add minimum alignment support to KMemoryManager  
						
						
						
					 
					
						2024-10-15 21:51:39 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							b70e367745 
							
						 
					 
					
						
						
							
							kern/ldr: add support for --x executables  
						
						
						
					 
					
						2024-10-15 21:51:39 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							49f2449073 
							
						 
					 
					
						
						
							
							kern/strat: update for new DebugFlags capability semantics  
						
						
						
					 
					
						2024-10-15 21:51:38 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							b0566b8dc7 
							
						 
					 
					
						
						
							
							kern: simplify KProcess max memory calculation  
						
						
						
					 
					
						2024-10-15 21:51:38 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							98d2aae984 
							
						 
					 
					
						
						
							
							kern: move KTargetSystem into .rodata, split init/verify  
						
						
						
					 
					
						2024-10-15 21:51:38 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							18d59ac4ac 
							
						 
					 
					
						
						
							
							kern: fix debug build  
						
						
						
					 
					
						2024-10-15 21:51:37 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							0c85274c14 
							
						 
					 
					
						
						
							
							kern: allocate all TTBR0 pages during init, use procidx as asid  
						
						
						
					 
					
						2024-10-15 21:51:37 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							42332ee1bc 
							
						 
					 
					
						
						
							
							kern: clear gicd/gicc pointers in KInterruptController::Finalize  
						
						
						
					 
					
						2024-10-15 21:51:36 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							989b494a86 
							
						 
					 
					
						
						
							
							kern: eliminate use of KMemoryInfo, shuffle KMemoryBlock fields  
						
						
						
					 
					
						2024-10-15 21:51:36 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							7be7c1ba7c 
							
						 
					 
					
						
						
							
							kern: KAddressSpaceInfo now takes CreateProcessFlags in getters  
						
						
						
					 
					
						2024-10-15 21:51:35 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							89bfecb6b6 
							
						 
					 
					
						
						
							
							kern/svc: update WaitForAddress to support 64-bit WaitIfEqual  
						
						
						
					 
					
						2024-10-15 21:51:35 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							63d83fe69d 
							
						 
					 
					
						
						
							
							kern: add InfoType_TransferMemoryHint  
						
						
						
					 
					
						2024-10-15 21:51:34 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							06d82b52ff 
							
						 
					 
					
						
						
							
							kern/creport: use mod0 to locate symbol table for all modules  
						
						
						
					 
					
						2024-10-15 21:51:33 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							fadec29817 
							
						 
					 
					
						
						
							
							kern: fix using memory config for half-of-true-size  
						
						
						
					 
					
						2024-03-29 03:19:46 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							d7867cccd7 
							
						 
					 
					
						
						
							
							kern: fix whoops in new page table logic  
						
						
						
					 
					
						2024-03-29 02:55:06 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							e0998df82e 
							
						 
					 
					
						
						
							
							kern: refactor smc helpers to share more common logic  
						
						
						
					 
					
						2024-03-29 02:55:05 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							7f661bd2c8 
							
						 
					 
					
						
						
							
							kern: return ExceptionType_UnalignedData on data abort caused by alignment fault  
						
						
						
					 
					
						2024-03-29 02:55:05 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							2af5fbb951 
							
						 
					 
					
						
						
							
							kern: add KPageGroup::CopyRangeTo  
						
						
						
					 
					
						2024-03-29 02:55:05 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							6571df6cbc 
							
						 
					 
					
						
						
							
							kern: implement new attr tracking for memory range/traversal context  
						
						
						
					 
					
						2024-03-29 02:55:04 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							5f4f668d97 
							
						 
					 
					
						
						
							
							kern: simplify size calculations in KPageTableBase::Read/WriteDebugIoMemory  
						
						
						
					 
					
						2024-03-29 02:55:04 -07:00