Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							383fc2cc99 
							
						 
					 
					
						
						
							
							kern: codegen tweaks, now that we're no longer -Os  
						
						 
						
						
						
					 
					
						2022-03-23 09:10:50 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							cdc619a8a6 
							
						 
					 
					
						
						
							
							kern: on second thought, gcc built ins are for chumps  
						
						 
						
						
						
					 
					
						2022-03-23 09:10:50 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							ff07ba4201 
							
						 
					 
					
						
						
							
							kern: implement revised IPI/SGI semantics  
						
						 
						
						
						
					 
					
						2022-03-23 09:10:50 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							9d89835ff8 
							
						 
					 
					
						
						
							
							kern: update for new hw maintenance semantics  
						
						 
						
						
						
					 
					
						2022-03-23 09:10:50 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							6e17317d5d 
							
						 
					 
					
						
						
							
							kern: implement new thread context/fpu semantics  
						
						 
						
						
						
					 
					
						2022-03-23 09:10:50 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							401047f603 
							
						 
					 
					
						
						
							
							kern: implement additional randomness in KPageHeap allocations  
						
						 
						
						
						
					 
					
						2022-03-23 09:10:50 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							24739f245e 
							
						 
					 
					
						
						
							
							kern: enforce end of dram == end of partitions (move our probably outdated KTraceBuffer to new location)  
						
						 
						
						
						
					 
					
						2022-03-23 09:10:50 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							8cb3cfd835 
							
						 
					 
					
						
						
							
							kern: add new KCapability checks before creating process  
						
						 
						
						
						
					 
					
						2022-03-23 09:10:50 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							14e768cd10 
							
						 
					 
					
						
						
							
							kern: add InfoType_IsSvcPermitted  
						
						 
						
						
						
					 
					
						2022-03-23 09:10:50 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							e05df99342 
							
						 
					 
					
						
						
							
							pm/kern: update for 14.0.0  
						
						 
						
						
						
					 
					
						2022-03-23 09:10:50 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							646f84bad1 
							
						 
					 
					
						
						
							
							abort/error: print backtrace, abuse templates, overhaul result/diag (macos not done yet)  
						
						 
						
						
						
					 
					
						2022-03-21 17:21:44 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							64a97576d0 
							
						 
					 
					
						
						
							
							ams: support building unit test programs on windows/linux/macos  
						
						 
						
						
						
					 
					
						2022-03-21 17:21:44 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							4c7fd70c10 
							
						 
					 
					
						
						
							
							kern: fix syntax in audit statement  
						
						 
						
						
						
					 
					
						2022-02-19 13:26:08 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								SciresM 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							96f95b9f95 
							
						 
					 
					
						
						
							
							Integrate new result macros. ( #1780 )  
						
						 
						
						... 
						
						
						
						* result: try out some experimental shenanigans
* result: sketch out some more shenanigans
* result: see what it looks like to convert kernel to use result conds instead of guards
* make rest of kernel use experimental new macro-ing 
						
					 
					
						2022-02-14 14:45:32 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							30fac905af 
							
						 
					 
					
						
						
							
							ams: deduplicate static initialization logic  
						
						 
						
						
						
					 
					
						2021-12-13 13:07:03 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							09074798cd 
							
						 
					 
					
						
						
							
							KScheduler big brain strat for mdscr_el1 cfg change  
						
						 
						
						
						
					 
					
						2021-11-05 23:38:43 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							4cc5e9cdfd 
							
						 
					 
					
						
						
							
							kern/dmnt2: allow retrieval of process info via extension  
						
						 
						
						... 
						
						
						
						This also fixes ctrl-c break in gdbstub, and fixes crash on unknown monitor cmd. 
						
					 
					
						2021-11-03 23:56:25 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							d1f3c4904b 
							
						 
					 
					
						
						
							
							kern: fix minor assembly bugs, avoid unnecessary function call in KScheduler hotloop  
						
						 
						
						
						
					 
					
						2021-10-28 19:16:23 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							4b7b33809f 
							
						 
					 
					
						
						
							
							kern: optimize and bring into line with N our pstate.i management  
						
						 
						
						
						
					 
					
						2021-10-27 15:00:07 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							e81a1ce5a8 
							
						 
					 
					
						
						
							
							kern: audit (and fix) our hardware maintenance instructions to match official kernel  
						
						 
						
						
						
					 
					
						2021-10-27 12:31:53 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							1d5f66be56 
							
						 
					 
					
						
						
							
							kern: implement 13.1.0 kernel changes  
						
						 
						
						
						
					 
					
						2021-10-25 17:34:47 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							ebca23305e 
							
						 
					 
					
						
						
							
							kern: simplify random bitmap selection to match latest Nintendo logic  
						
						 
						
						
						
					 
					
						2021-10-25 17:31:14 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							273f4a87ae 
							
						 
					 
					
						
						
							
							kern: add (and use) generic KSystemControlBase  
						
						 
						
						
						
					 
					
						2021-10-25 17:31:14 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							2a842791eb 
							
						 
					 
					
						
						
							
							kern: add toggleable support for 40-bit physaddr caps  
						
						 
						
						
						
					 
					
						2021-10-25 17:31:14 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							0a58e803be 
							
						 
					 
					
						
						
							
							kern/test: add wip qemu-virt board support to mesosphere  
						
						 
						
						
						
					 
					
						2021-10-25 17:31:14 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							54dde406bc 
							
						 
					 
					
						
						
							
							kern: devirtualize KReadableEvent::Reset, KWorkerTask::DoWorkerTask  
						
						 
						
						
						
					 
					
						2021-10-24 20:41:38 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							fd187f952e 
							
						 
					 
					
						
						
							
							kern: enable lto for global instants (saves about a page in deduplicated code)  
						
						 
						
						
						
					 
					
						2021-10-24 17:06:43 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							8a661cee6e 
							
						 
					 
					
						
						
							
							kern: devirtualize KAutoObjectWithList::GetId()  
						
						 
						
						
						
					 
					
						2021-10-24 17:00:05 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							3e4acc62f3 
							
						 
					 
					
						
						
							
							kern: fix reorder-init in KHandleTable  
						
						 
						
						
						
					 
					
						2021-10-24 13:08:08 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							d0cd511c0e 
							
						 
					 
					
						
						
							
							kern: devirtualize most things that are free to devirtualize (see  #1672 )  
						
						 
						
						
						
					 
					
						2021-10-24 13:04:31 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							89926f44c6 
							
						 
					 
					
						
						
							
							kern: use optimized red black tree finds for remaining holdouts  
						
						 
						
						
						
					 
					
						2021-10-23 21:58:48 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							436613401a 
							
						 
					 
					
						
						
							
							kern: devirtualize several KAutoObject functions  
						
						 
						
						
						
					 
					
						2021-10-23 21:13:26 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							71e4313d0c 
							
						 
					 
					
						
						
							
							kern: devirtualize remaining vcall for class token/dyncast  
						
						 
						
						
						
					 
					
						2021-10-23 16:04:04 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								SciresM 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							36e4914be8 
							
						 
					 
					
						
						
							
							kern: avoid constexpr init for many objects (avoids unnecessary memory clear) ( #1668 )  
						
						 
						
						
						
					 
					
						2021-10-23 15:25:20 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							20716cb3de 
							
						 
					 
					
						
						
							
							kern: use new AtomicRef, use Atomic<bool>  
						
						 
						
						
						
					 
					
						2021-10-20 13:29:38 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							aed9d3f535 
							
						 
					 
					
						
						
							
							util: better match true std::atomic semantics  
						
						 
						
						
						
					 
					
						2021-10-20 11:02:17 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							d74f364107 
							
						 
					 
					
						
						
							
							kern/util: use custom atomics wrapper to substantially improve codegen  
						
						 
						
						
						
					 
					
						2021-10-19 15:24:15 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							52332e8d75 
							
						 
					 
					
						
						
							
							kern: use 13.0.0 revised KLightLock logic  
						
						 
						
						
						
					 
					
						2021-10-19 02:45:29 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							d3eb1268bc 
							
						 
					 
					
						
						
							
							kern: remove spurious assertion  
						
						 
						
						
						
					 
					
						2021-10-19 01:21:23 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							f3b532070b 
							
						 
					 
					
						
						
							
							kern: update scheduler for 13.0.0 change, fix some ctz/clz bugs  
						
						 
						
						
						
					 
					
						2021-10-19 01:20:28 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							42b6c2dd95 
							
						 
					 
					
						
						
							
							kern: fix use of plr vs plr_heap, fix close/unlock order in ArbitrateLock  
						
						 
						
						
						
					 
					
						2021-10-19 01:19:31 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							889d843718 
							
						 
					 
					
						
						
							
							ams: improve offsetof style consistency  
						
						 
						
						
						
					 
					
						2021-10-18 00:17:13 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							96d3187f3e 
							
						 
					 
					
						
						
							
							kern: remove need for explicit reserved member in KAutoObject  
						
						 
						
						
						
					 
					
						2021-10-16 17:17:26 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							bfffe6b119 
							
						 
					 
					
						
						
							
							kern: devirtualize KAutoObject::DynamicCast<>()  
						
						 
						
						... 
						
						
						
						This is an optimization that saves the most common type of virtual call in the kernel (DynamicCast)
by storing class token as a member, rather than getting it via virtual call every time.
This does not currently cost any memory space on 64-bit targets, due to pre-existing padding space.
This optimization can be turned off via a compile-time flag for accuracy. 
						
					 
					
						2021-10-16 16:24:06 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							26c02e2019 
							
						 
					 
					
						
						
							
							kern/util: update structure layouts to match Nintendo (saves 0x10 per KThread/KSession)  
						
						 
						
						
						
					 
					
						2021-10-16 16:13:10 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							179d91a563 
							
						 
					 
					
						
						
							
							kern: fix some lingering non-m_ member variables  
						
						 
						
						
						
					 
					
						2021-10-09 15:46:04 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							9def4b5925 
							
						 
					 
					
						
						
							
							kern: tidy up capability calc  
						
						 
						
						
						
					 
					
						2021-10-08 12:29:41 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							4866e80769 
							
						 
					 
					
						
						
							
							svc: refactor/rename MemoryInfo fields  
						
						 
						
						
						
					 
					
						2021-10-05 15:16:54 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							77fe5cf6f5 
							
						 
					 
					
						
						
							
							ams: the copyright^H^H^H^H^H^H^Hmplex plane is the algebraic closure of the reals  
						
						 
						
						
						
					 
					
						2021-10-04 12:59:10 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							d00cec38b0 
							
						 
					 
					
						
						
							
							kern: use util::BitFlagSet for capability flags  
						
						 
						
						
						
					 
					
						2021-09-27 11:37:27 -07:00