Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							982389dceb 
							
						 
					 
					
						
						
							
							os: add UnsafeMemory apis  
						
						
						
					 
					
						2023-03-01 03:20:49 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							d00406e089 
							
						 
					 
					
						
						
							
							os: update os namespace for 15.0.0, loader/ro: update to use csrng, spl: bump max sessions  
						
						
						
					 
					
						2022-10-12 09:15:16 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							a65b6df8d2 
							
						 
					 
					
						
						
							
							os: implement MemoryHeapManager, SetMemoryAttribute  
						
						
						
					 
					
						2022-06-10 22:36:03 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							c2c0a2e169 
							
						 
					 
					
						
						
							
							ro/os: use os primitives for MapProcessCodeMemory  
						
						
						
					 
					
						2022-04-18 01:39:22 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							70d67bb115 
							
						 
					 
					
						
						
							
							loader: use os apis for interacting with process memory  
						
						
						
					 
					
						2022-04-17 18:51:36 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							4ad8dad416 
							
						 
					 
					
						
						
							
							os: add DetachIoRegionHandle  
						
						
						
					 
					
						2022-03-28 00:00:36 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							bbf22b4c60 
							
						 
					 
					
						
						
							
							ams: globally prefer R_RETURN to return for ams::Result  
						
						
						
					 
					
						2022-03-26 14:48:33 -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 
							
						 
					 
					
						
						
						
						
							
						
						
							bc96ebb74c 
							
						 
					 
					
						
						
							
							os: add FlushDataCache  
						
						
						
					 
					
						2021-10-10 00:33:52 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							a595c232b9 
							
						 
					 
					
						
						
							
							strat: use m_ for member variables  
						
						
						
					 
					
						2021-10-10 00:14:06 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							ffc143860b 
							
						 
					 
					
						
						
							
							strat: use ams::Main() instead of main(argc, argv)  
						
						
						
					 
					
						2021-10-07 17:44: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 
							
						 
					 
					
						
						
						
						
							
						
						
							6f76066d24 
							
						 
					 
					
						
						
							
							os: remove ManagedHandle, refactor to use NativeHandle typename  
						
						
						
					 
					
						2021-10-04 12:33:09 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							18825866ac 
							
						 
					 
					
						
						
							
							strat: automatic program id detection  
						
						
						
					 
					
						2021-10-01 17:18:50 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							2b37e5d486 
							
						 
					 
					
						
						
							
							os: adopt nintendo ReaderWriter naming over ReadWrite  
						
						
						
					 
					
						2021-10-01 11:42:34 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							00d0c94f2d 
							
						 
					 
					
						
						
							
							os: amend io region api  
						
						
						
					 
					
						2021-10-01 01:02:48 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							82f3416799 
							
						 
					 
					
						
						
							
							os: implement SharedMemory, update AslrSpaceManager  
						
						
						
					 
					
						2021-10-01 00:36:18 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							101e3087fe 
							
						 
					 
					
						
						
							
							os: fix AttachTransferMemory return type  
						
						
						
					 
					
						2021-09-30 22:18:46 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							24d6933145 
							
						 
					 
					
						
						
							
							strat: use consistent include style for lib headers  
						
						
						
					 
					
						2021-09-30 19:21:08 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							7444a68cd1 
							
						 
					 
					
						
						
							
							os: adopt multiwait naming over waitable  
						
						
						
					 
					
						2021-09-30 19:00:47 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							d9b4009f82 
							
						 
					 
					
						
						
							
							os: add IoRegion  
						
						
						
					 
					
						2021-09-30 11:43:17 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							2d214f5e1e 
							
						 
					 
					
						
						
							
							os: add tentative IoRegionType  
						
						
						
					 
					
						2021-09-30 11:32:45 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							5dc64bc1f7 
							
						 
					 
					
						
						
							
							os: implement Barrier  
						
						
						
					 
					
						2021-09-29 18:03:11 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							b25218c918 
							
						 
					 
					
						
						
							
							os: implement SdkRecursiveMutex  
						
						
						
					 
					
						2021-09-29 14:56:53 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							1e7a327a25 
							
						 
					 
					
						
						
							
							os: implement LightSemaphore  
						
						
						
					 
					
						2021-09-29 13:24:03 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							b8a1ebd11a 
							
						 
					 
					
						
						
							
							os: implement LightMessageQueue  
						
						
						
					 
					
						2021-09-29 12:55:52 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							cf5f431058 
							
						 
					 
					
						
						
							
							os: refactor MessageQueue to use new MessageQueueHelper template  
						
						
						
					 
					
						2021-09-29 12:24:18 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							632b6b3330 
							
						 
					 
					
						
						
							
							os: implement LightEvent  
						
						
						
					 
					
						2021-09-28 18:54:09 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							5e0bbb61b1 
							
						 
					 
					
						
						
							
							os: implement ReadWriteBusyMutex  
						
						
						
					 
					
						2021-09-28 17:01:11 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							09570c470c 
							
						 
					 
					
						
						
							
							os: implement BusyMutex  
						
						
						
					 
					
						2021-09-28 14:53:55 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							c6fad1b0ee 
							
						 
					 
					
						
						
							
							osdbg: implement thread info api  
						
						
						
					 
					
						2021-09-11 19:41:47 -07:00 
						 
				 
			
				
					
						
							
							
								SciresM 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							e9849c74cf 
							
						 
					 
					
						
						
							
							LogManager: implement system module, client api, logging api ( #1617 )  
						
						... 
						
						
						
						Some notes:
* Unless `atmosphere!enable_log_manager` is true, Nintendo's log manager will be used instead.
  * This prevents paying memory costs for LM when not enabling logging.
  * To facilitate this, Atmosphere's log manager has a different program id from Nintendo's.
  * `atmosphere!enable_htc` implies `atmosphere!enable_log_manager`.
* LogManager logs to tma, and the SD card (if `lm!enable_sd_card_logging` is true, which it is by default).
* Binary logs are saved to `lm!sd_card_log_output_directory`, which is `atmosphere/binlogs` by default. 
						
					 
					
						2021-09-11 19:32:14 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							aff0da9427 
							
						 
					 
					
						
						
							
							ams: remove TYPED_STORAGE() macro in favor of template  
						
						
						
					 
					
						2021-03-21 18:47:30 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							c59388caf1 
							
						 
					 
					
						
						
							
							htc: implement complete usb driver  
						
						
						
					 
					
						2021-02-24 04:06:54 -08:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							8ac8abf295 
							
						 
					 
					
						
						
							
							os: implement 11.x SdkReplyAndReceive  
						
						
						
					 
					
						2021-01-12 18:18:39 -08:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							ddf2f5f3c5 
							
						 
					 
					
						
						
							
							ddsf: implement namespace  
						
						
						
					 
					
						2020-11-14 03:37:51 -08:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							e2b17086d4 
							
						 
					 
					
						
						
							
							fs: implement AccessLog, enable for File operations  
						
						
						
					 
					
						2020-07-02 14:02:50 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							73a6aeed15 
							
						 
					 
					
						
						
							
							sysupdater: implement (untested) rest of the api  
						
						
						
					 
					
						2020-06-28 01:46:51 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							f223c27bb0 
							
						 
					 
					
						
						
							
							sysupdater: Add ValidateUpdate, begin implementing Async logic  
						
						
						
					 
					
						2020-06-28 01:46:51 -07:00 
						 
				 
			
				
					
						
							
							
								SciresM 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							3a1ccdd919 
							
						 
					 
					
						
						
							
							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-11 15:02:10 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							f670949ca9 
							
						 
					 
					
						
						
							
							os: oh geez look at the time  
						
						
						
					 
					
						2020-04-29 00:41:51 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							97cba5e881 
							
						 
					 
					
						
						
							
							os: implement ReadWriteLock  
						
						
						
					 
					
						2020-04-21 20:23:50 -07:00 
						 
				 
			
				
					
						
							
							
								SciresM 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							98cc051387 
							
						 
					 
					
						
						
							
							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 19:55:47 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							065485b971 
							
						 
					 
					
						
						
							
							os: refactor/rewrite entire namespace.  
						
						
						
					 
					
						2020-04-08 02:21:35 -07:00 
						 
				 
			
				
					
						
							
							
								Adubbz 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							a50d6a2696 
							
						 
					 
					
						
						
							
							NCM client implementation ( #858 )  
						
						... 
						
						
						
						* ncm: Implement InstallTaskDataBase and FileInstallTaskData
* ncm: minor bugfixes
* ncm: Implemented MemoryInstallTaskData
* ncm: more std
* ncm: begin implementing install task base
* ncm: move protected funcs
* ncm: fix recursive include
* ncm: more install task progress
* ncm install task: implement IncrementProgress and update UpdateThroughputMeasurement
* ncm: more work
* ncm client: more progress
* ncm client: more progress
* ncm client: finish implementing GetContentMetaInfoList
* ncm client: more progress
* ncm client: finished InstallTaskBase
* ncm client: implement PackageInstallTaskBase
* ncm client: fixes
* ncm: improve accuracy
* ncm client: implement PackageInstallTask
* ncm client: implement PackageSystemUpdateTask
* ncm client: minor name tweaks
* ncm client: implement SubmissionPackageInstallTask
* ncm client: add missing this to SubmissionPackageInstallTask
* ncm client: add missing nullptr check to SubmissionPackageInstallTask destructor
* ncm client: SubmissionPackageInstallTask fixes
* ncm: fix forward declarations
* ncm client: added simplified funcs
* ncm: cleanup client code
* ncm: fix bug introduced by cleanup
* ncm: fix typo
* ncm: implement correct ReadVariationContentMetaInfoList behavior
* ncm: correct InstallContentMetaWriter ctor
* ncm: correct conversion of content meta header types
Co-authored-by: Michael Scire <SciresM@gmail.com> 
						
					 
					
						2020-04-03 22:40:46 -07:00 
						 
				 
			
				
					
						
							
							
								SciresM 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							87ec045a98 
							
						 
					 
					
						
						
							
							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-29 14:43:16 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							43bd733f0a 
							
						 
					 
					
						
						
							
							os: implement Tick api, make build with -Werror  
						
						
						
					 
					
						2020-03-16 01:02:55 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							237b513408 
							
						 
					 
					
						
						
							
							loader: refactor to use fs bindings  
						
						
						
					 
					
						2020-03-09 03:10:12 -07:00 
						 
				 
			
				
					
						
							
							
								Adubbz 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							c7026b9094 
							
						 
					 
					
						
						
							
							Implement the NCM sysmodule ( closes   #91 )  
						
						... 
						
						
						
						* Implement NCM
* Modernize ncm_main
* Remove unnecessary smExit
* Give access to svcCallSecureMonitor
* Stack size bump
* Fix incorrect setup for NandUser's content storage entry
* Fix a potential data abort when flushing the placeholder accessor cache
* Fix HasFile and HasDirectory
* Use r+b, not w+b
* Misc fixes
* errno begone
* Fixed more stdio error handling
* More main fixes
* Various command improvements
* Make dispatch tables great again
* Fix logic inversion
* Fixed content path generation
* Bump heap size, fix CleanupAllPlaceHolder
* Various fixes. Note: This contains debug stuff which will be removed later. I was getting tired of having to cherrypick tiny changes
* Fixed placeholder/content deletion
* Fixed incorrect content manager destruction
* Prevent automatic placeholder creation on open
* Fixed List implementation. Also lots of debug logging.
* Removed debug code
* Added a scope guard for WritePlaceHolder
* Manually prevent placeholder/content appending
* Revert "Removed debug code"
This reverts commit d6ff261fcc168447d80ed6ff261fcc168447d80ehttps://github.com/m4xw/emuMMC "
  branch:   "develop"
  commit:   "d12dd546"
git-subrepo:
  version:  "0.4.1"
  origin:   "???"
  commit:   "???"
* util: add boundedmap
* ncm: minor style fixes
* ncm: don't unmount if mounting fails
* lr: bug fixes
* ncm: implement ncm.for-initialize + ncm.for-safemode
* lr: ncm::ProgramId::Invalid -> ncm::InvalidProgramId
* ncm: fix open directory mode on 1.0.0
* ncm: fix fs use, implement more of < 4.0.0 for-initialize/safemode
* ncm: implement packagedcontent -> content for building metadb
* ncm: fix save data flag management
* ncm: address some review suggestions (thanks @leoetlino!)
* updater: use fs bindings
* fs: implement MountCode
* fs: prefer make_unique to operator new
* ncm: implement remaining ContentMetaDatabaseBuilder functionality
Co-authored-by: Michael Scire <SciresM@gmail.com> 
						
					 
					
						2020-03-08 00:06:23 -08:00