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 
							
						 
					 
					
						
						
						
						
							
						
						
							b690bc1472 
							
						 
					 
					
						
						
							
							os: fix AttachTransferMemory return type  
						
						
						
					 
					
						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 
							
						 
					 
					
						
						
						
						
							
						
						
							3ef8f0f73f 
							
						 
					 
					
						
						
							
							os: implement Barrier  
						
						
						
					 
					
						2021-10-07 23:06:21 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							389018db64 
							
						 
					 
					
						
						
							
							os: implement SdkRecursiveMutex  
						
						
						
					 
					
						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 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							c357cf7b87 
							
						 
					 
					
						
						
							
							os: implement ExpandUnsignedValueToAscii  
						
						... 
						
						
						
						Nintendo does this as of latest firmware.
It's desirable because it removes the only usage of util::SNPrintf() from os library,
which means programs which don't otherwise use SNPrintf do not need to link it into .text.
This saves ~0xD40 of .text as of time-of-commit when successfully unlinking, and e.g.
reduces our sm (and other modules) memory size by a page. 
						
					 
					
						2021-10-07 23:06:20 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							6f53cbbe79 
							
						 
					 
					
						
						
							
							os: implement LightSemaphore  
						
						
						
					 
					
						2021-10-07 23:06:20 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							41495ef51b 
							
						 
					 
					
						
						
							
							os: implement LightMessageQueue  
						
						
						
					 
					
						2021-10-07 23:06:19 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							c00d83204f 
							
						 
					 
					
						
						
							
							os: refactor MessageQueue to use new MessageQueueHelper template  
						
						
						
					 
					
						2021-10-07 23:06:19 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							9035b840a2 
							
						 
					 
					
						
						
							
							os: tweak LightEvent codegen  
						
						
						
					 
					
						2021-10-07 23:06:19 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							3d6e8d5281 
							
						 
					 
					
						
						
							
							os: implement LightEvent  
						
						
						
					 
					
						2021-10-07 23:06:19 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							57e380b2d6 
							
						 
					 
					
						
						
							
							os: implement ReadWriteBusyMutex  
						
						
						
					 
					
						2021-10-07 23:06:18 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							6c98cd1ce2 
							
						 
					 
					
						
						
							
							os: implement BusyMutex  
						
						
						
					 
					
						2021-10-07 23:06:18 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							7bb3153938 
							
						 
					 
					
						
						
							
							osdbg: implement thread info api  
						
						
						
					 
					
						2021-09-19 10:35:27 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							fe21509991 
							
						 
					 
					
						
						
							
							ams-1.0.0: meso no longer optional, remove conditional logic  
						
						
						
					 
					
						2021-09-06 16:32:47 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							07073a7580 
							
						 
					 
					
						
						
							
							sm: update to excise unnecessary library code  
						
						
						
					 
					
						2021-05-12 09:09:41 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							2fe065b590 
							
						 
					 
					
						
						
							
							tipc/sm: various fixes for issues  
						
						
						
					 
					
						2021-04-11 03:59:24 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							2542f282e0 
							
						 
					 
					
						
						
							
							sm: reimplement using tipc instead of cmif (probably broken, untested)  
						
						
						
					 
					
						2021-04-11 03:59:24 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							9b47aa6e08 
							
						 
					 
					
						
						
							
							ams: prefer construct_at/destroy_at over placement new/explicit destructor  
						
						
						
					 
					
						2021-04-11 03:59:04 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							1861791c1c 
							
						 
					 
					
						
						
							
							ams: remove TYPED_STORAGE() macro in favor of template  
						
						
						
					 
					
						2021-04-11 03:59:03 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							b58f3d9174 
							
						 
					 
					
						
						
							
							ro: reduce memory usage by excising (unused) std::malloc  
						
						
						
					 
					
						2021-02-02 12:16:21 -08:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							5c40e39e27 
							
						 
					 
					
						
						
							
							os: fix missing logic in SdkReplyAndReceive  
						
						
						
					 
					
						2021-01-13 10:41:30 -08:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							f62751fe0f 
							
						 
					 
					
						
						
							
							os: implement 11.x SdkReplyAndReceive  
						
						
						
					 
					
						2021-01-13 10:41:29 -08:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							270766dbd1 
							
						 
					 
					
						
						
							
							strat: avoid using unique_lock in a few places  
						
						
						
					 
					
						2021-01-13 10:41:29 -08:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							803257776c 
							
						 
					 
					
						
						
							
							ams: save 0x11000 of memory in spl via minor tweaks  
						
						
						
					 
					
						2021-01-13 10:41:28 -08:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							159ca97a9d 
							
						 
					 
					
						
						
							
							os: remove completed TODO  
						
						
						
					 
					
						2020-12-02 06:53:00 -08:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							b09571b57e 
							
						 
					 
					
						
						
							
							os: do not use deprecated libnx ::virtmemReserve api  
						
						
						
					 
					
						2020-12-02 06:53:00 -08:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							41bcdc9c1f 
							
						 
					 
					
						
						
							
							gpio: implement more of server library for boot sysmodule client usage  
						
						
						
					 
					
						2020-12-02 06:52:43 -08:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							120c63b612 
							
						 
					 
					
						
						
							
							ddsf: implement namespace  
						
						
						
					 
					
						2020-12-02 06:52:42 -08:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							344a3265c0 
							
						 
					 
					
						
						
							
							os: fix building with new svc defs  
						
						
						
					 
					
						2020-08-01 15:31:05 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							c5e4c7c921 
							
						 
					 
					
						
						
							
							kern: implement SvcWaitSynchronization  
						
						
						
					 
					
						2020-08-01 15:31:01 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							3c7c4d8bff 
							
						 
					 
					
						
						
							
							fs: implement AccessLog, enable for File operations  
						
						
						
					 
					
						2020-08-01 15:30:55 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							a1a68953e0 
							
						 
					 
					
						
						
							
							sysupdater: implement (untested) rest of the api  
						
						
						
					 
					
						2020-06-28 19:41:10 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							f3ae89aa2b 
							
						 
					 
					
						
						
							
							os: use ported libnx mutex impl  
						
						
						
					 
					
						2020-05-18 08:22:12 -07:00 
						 
				 
			
				
					
						
							
							
								SciresM 
							
						 
					 
					
						
						
						
						
							
						
						
							7d041e853d 
							
						 
					 
					
						
						
							
							Switch atmosphere's build target to C++20. ( #952 )  
						
						... 
						
						
						
						* ams: update to build with gcc10/c++20
* remove mno-outline-atomics
* ams: take care of most TODO C++20s
* fusee/sept: update for gcc10
* whoosh, your code now uses pre-compiled headers
* make: dependency fixes 
						
					 
					
						2020-05-12 15:44:19 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							ea45d6e146 
							
						 
					 
					
						
						
							
							os: oh geez look at the time  
						
						
						
					 
					
						2020-05-12 15:44:16 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							2e18a27f3a 
							
						 
					 
					
						
						
							
							os: bug fixes after re-review of rwlock code  
						
						
						
					 
					
						2020-04-24 17:29:11 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							b8be9d0031 
							
						 
					 
					
						
						
							
							os: implement ReadWriteLock  
						
						
						
					 
					
						2020-04-24 17:29:11 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							5a52014d1c 
							
						 
					 
					
						
						
							
							hos: change initialization API  
						
						... 
						
						
						
						This was needed to make stratosphere buildable with debugging on.
os:: assertions rely on GetCurrentThread() working, and this requires
the global os resource manager to be constructed. However, __appInit executes
before global constructors. We now require that hos::InitializeForStratosphere()
be called before anything else is done. This initializes the os resource manager,
sets the hos version for libnx, and may do more things in the future.
TODO: Consider replacing __appInit/__appExit with ams:: namespace functions in general,
and wrap them so that we guarantee hos::InitializeForStratosphere is called first, and
generally ensure a consistent stratosphere environment. 
						
					 
					
						2020-04-24 17:29:08 -07:00 
						 
				 
			
				
					
						
							
							
								SciresM 
							
						 
					 
					
						
						
						
						
							
						
						
							c1fe12fcbd 
							
						 
					 
					
						
						
							
							pgl: Reimplement the pgl sysmodule ( #896 )  
						
						... 
						
						
						
						* pgl: add skeleton folder to stratosphere
* pgl: Add service interface for IShellInterface
* pgl: begin skeletoning shell service, implement two commands.
* pgl: Implement three more commands.
* pgl: implement bool tracking commands
* pgl: Implement TriggerApplicationSnapShotDumper
* pgl: implement InitializeProcessControlTask
* pgl: Implement pgl::srv::Initialize
* pgl: Implement main()
* pgl: Implement (Get)ShellEventObserver
* pgl: implement LaunchProgramFromHost, GetHostContentMetaInfo
* pgl: Implement ProcessControlTask
* settings: fix duplicate object name
* pgl: fix minor bugs in impl 
						
					 
					
						2020-04-16 20:05:56 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							c190d46343 
							
						 
					 
					
						
						
							
							hos::Version: rename enum members  
						
						
						
					 
					
						2020-04-15 11:55:01 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							a0cddf7c06 
							
						 
					 
					
						
						
							
							os: refactor/rewrite entire namespace.  
						
						
						
					 
					
						2020-04-15 11:54:59 -07:00 
						 
				 
			
				
					
						
							
							
								SciresM 
							
						 
					 
					
						
						
						
						
							
						
						
							926d5a55d6 
							
						 
					 
					
						
						
							
							mem: implement most of StandardAllocator ( #860 )  
						
						... 
						
						
						
						This was tested using `https://github.com/node-dot-cpp/alloc-test ` plus a few other by-hand tests.
It seems to work for the case we care about (sysmodules without thread cache-ing).
External users are advised to build with assertions on and contact SciresM if you find issues.
This is a lot of code to have gotten right in one go, and it was written mostly after midnight while sick, so there are probably un-noticed issues. 
						
					 
					
						2020-03-30 20:41:21 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							07684b2c65 
							
						 
					 
					
						
						
							
							stratosphere: fix building with latest libnx  
						
						
						
					 
					
						2020-03-18 00:15:04 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							0c60930e33 
							
						 
					 
					
						
						
							
							os: add rngmanager  
						
						
						
					 
					
						2020-03-18 00:15:02 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							45b839ec3a 
							
						 
					 
					
						
						
							
							Add architecture-specific guard for get tick  
						
						
						
					 
					
						2020-03-18 00:15:02 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							8bcf34a172 
							
						 
					 
					
						
						
							
							os: implement Tick api, make build with -Werror  
						
						
						
					 
					
						2020-03-18 00:15:01 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							93d4cbef94 
							
						 
					 
					
						
						
							
							libstrat: fix unconverted _WITH_ASSERTs  
						
						
						
					 
					
						2020-03-02 19:51:07 -08:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							1e9368c770 
							
						 
					 
					
						
						
							
							ams: revamp assertion system  
						
						
						
					 
					
						2020-03-02 19:51:04 -08:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							7ee4ae460e 
							
						 
					 
					
						
						
							
							find -exec sed -i'' -e 's/2018-2019 Atmo/2018-2020 Atmo/g' {} +  
						
						
						
					 
					
						2020-03-02 19:50:40 -08:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							58236db55e 
							
						 
					 
					
						
						
							
							util::IntrusiveList: assert member referencing is correct  
						
						
						
					 
					
						2020-03-02 19:50:39 -08:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							5e55beeda0 
							
						 
					 
					
						
						
							
							random: use TinyMT instead of XorShift  
						
						
						
					 
					
						2019-12-10 19:17:50 -08:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							5797d753bf 
							
						 
					 
					
						
						
							
							libstratosphere is now just one lib  
						
						
						
					 
					
						2019-12-08 17:01:03 -08:00