Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							e1f3bb10a5 
							
						 
					 
					
						
						
							
							kern: clean up majority of TODOs  
						
						
						
					 
					
						2020-07-31 14:50:52 -07:00 
						 
				 
			
				
					
						
							
							
								SciresM 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							9fde97cfdd 
							
						 
					 
					
						
						
							
							sf: Change interface definition methodology ( #1074 )  
						
						... 
						
						
						
						* sf: Begin experimenting with new interface declaration format
* sf: convert fs interfaces to new format
* sf: finish conversion of libstrat to new definitions
* sf: convert loader to new format
* sf: convert spl to new format
* sf: update ncm for new format
* sf: convert pm to new format
* sf: convert ro/sm to new format
* sf: update fatal for new format
* sf: support building dmnt under new scheme
* sf: update ams.mitm for new format
* sf: correct invocation def for pointer holder
* fs: correct 10.x+ user bindings for Get*SpaceSize 
						
					 
					
						2020-07-07 17:07:23 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							9baf096a10 
							
						 
					 
					
						
						
							
							dmnt: make debug event result handling more robust ( closes   #938 )  
						
						
						
					 
					
						2020-05-16 15:05:46 -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 
							
						 
					 
					
						
						
						
						
							
						
						
							1d40a08ef9 
							
						 
					 
					
						
						
							
							dmnt: move stuff around slightly, add client bindings  
						
						
						
					 
					
						2020-04-24 17:24:15 -07:00 
						 
				 
			
				
					
						
							
							
								SciresM 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							be07035954 
							
						 
					 
					
						
						
							
							Dmnt: Add break/continue commands, add static register api. ( #899 )  
						
						... 
						
						
						
						* dmnt: implement break/continue, static reg commands
* dmnt: revise per WerWolv's feedback. 
						
					 
					
						2020-04-24 17:00:43 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							3da0cda4ae 
							
						 
					 
					
						
						
							
							ams: centralize system thread definitions  
						
						
						
					 
					
						2020-04-17 01:06:07 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							94ec9ae41b 
							
						 
					 
					
						
						
							
							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-16 22:57:01 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							6719abec65 
							
						 
					 
					
						
						
							
							hos::Version: rename enum members  
						
						
						
					 
					
						2020-04-13 22:19:44 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							065485b971 
							
						 
					 
					
						
						
							
							os: refactor/rewrite entire namespace.  
						
						
						
					 
					
						2020-04-08 02:21:35 -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 
							
						 
					 
					
						
						
						
						
							
						
						
							067fe2d10f 
							
						 
					 
					
						
						
							
							stratosphere: fix building with latest libnx  
						
						
						
					 
					
						2020-03-18 00:14:34 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							93004be59e 
							
						 
					 
					
						
						
							
							ams: finish stdio -> fs bindings for stratosphere  
						
						
						
					 
					
						2020-03-09 03:58:02 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							6eee3f5fe7 
							
						 
					 
					
						
						
							
							stratosphere-except-ldr: use fs bindings (this temporarily breaks loader)  
						
						
						
					 
					
						2020-03-08 16:33:49 -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 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							40400aee1f 
							
						 
					 
					
						
						
							
							ams: revamp assertion system  
						
						
						
					 
					
						2020-02-22 23:05:14 -08:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							6ecf04c3b7 
							
						 
					 
					
						
						
							
							find -exec sed -i'' -e 's/2018-2019 Atmo/2018-2020 Atmo/g' {} +  
						
						
						
					 
					
						2020-01-24 02:10:40 -08:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							3a91a6b786 
							
						 
					 
					
						
						
							
							svc: populate namespace  
						
						
						
					 
					
						2020-01-17 20:11:03 -08:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							48b0b2fc46 
							
						 
					 
					
						
						
							
							dmnt_cheat_vm: Correct register Restore and ClearRegs behavior  
						
						... 
						
						
						
						Previously they were performing the same behavior as the Save and
ClearSave opcode types. 
						
					 
					
						2019-12-07 12:41:56 -08:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							746dbfe018 
							
						 
					 
					
						
						
							
							ams_mitm: Implement emummc Nintendo folder redirection  
						
						
						
					 
					
						2019-12-07 12:41:28 -08:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							b1a9e8d0df 
							
						 
					 
					
						
						
							
							compat fixes for libnx master  
						
						
						
					 
					
						2019-12-07 12:41:28 -08:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							c10ba67973 
							
						 
					 
					
						
						
							
							ams_mitm: Implement system settings mitm  
						
						
						
					 
					
						2019-12-07 12:41:28 -08:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							421324b498 
							
						 
					 
					
						
						
							
							mitm/cfg: pass around override status for decision-making  
						
						
						
					 
					
						2019-12-07 12:41:28 -08:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							ea3ebbaa7d 
							
						 
					 
					
						
						
							
							strat: TitleId -> ProgramId, titles->contents  
						
						
						
					 
					
						2019-12-07 12:41:28 -08:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							d7a06057eb 
							
						 
					 
					
						
						
							
							strat: split out common functionality for future meso use  
						
						
						
					 
					
						2019-12-07 12:41:28 -08:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							8cb77ac136 
							
						 
					 
					
						
						
							
							namespace sts -> namespace ams  
						
						... 
						
						
						
						namespace sts::ams -> ams::exosphere, ams::.
This is to facilitate future use of ams:: namespace code in
mesosphere, as we'll want to include ams::util, ams::result, ams::svc... 
						
					 
					
						2019-12-07 12:41:28 -08:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							4059dc6187 
							
						 
					 
					
						
						
							
							Results: Implement namespaced, type-safe results.  
						
						... 
						
						
						
						Because I was working on multiple things at once, this commit also:
- Adds wrappers for/linker flags to wrap CXX exceptions to make them
  abort. This saves ~0x8000 of memory in every system module.
- Broadly replaces lines of the pattern if (cond) { return ResultX; }
  with R_UNLESS(!cond, ResultX());.
- Reworks the R_TRY_CATCH macros (and the result macros in general). 
						
					 
					
						2019-12-07 12:41:28 -08:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							15773e4755 
							
						 
					 
					
						
						
							
							libstrat: fix domain issues. in/out objects now work.  
						
						
						
					 
					
						2019-12-07 12:41:28 -08:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							0b22af1206 
							
						 
					 
					
						
						
							
							libstrat: namespace remaining non-namespaced code. more new-ipc updates  
						
						
						
					 
					
						2019-12-07 12:41:28 -08:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							535e49a38d 
							
						 
					 
					
						
						
							
							strat: statically allocate additional threads  
						
						
						
					 
					
						2019-12-07 12:41:28 -08:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							fbb5730369 
							
						 
					 
					
						
						
							
							strat: update for latest libnx commit  
						
						
						
					 
					
						2019-12-07 12:41:28 -08:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							e5d62025d3 
							
						 
					 
					
						
						
							
							dmnt: update for new-ipc  
						
						
						
					 
					
						2019-12-07 12:41:28 -08:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							609a302e16 
							
						 
					 
					
						
						
							
							os: implement waitable management.  
						
						... 
						
						
						
						This implements waitable management for Events (and
implements Events). It also refactors PM to use new
Event/Waitable semantics, and also adds STS_ASSERT
as a macro for asserting a boolean expression. The
rest of stratosphere has been refactored to use
STS_ASSERT whenever possible. 
						
					 
					
						2019-12-07 12:41:28 -08:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							bb223eb5ae 
							
						 
					 
					
						
						
							
							libstrat: namespace hossynch.hpp  
						
						
						
					 
					
						2019-12-07 12:41:28 -08:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							89c484414b 
							
						 
					 
					
						
						
							
							dmnt: Truncate cheat names after maxlen instead of failing  
						
						
						
					 
					
						2019-09-18 11:54:30 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							fe2dd671fb 
							
						 
					 
					
						
						
							
							dmnt: fix edge case in debug events thread  
						
						
						
					 
					
						2019-09-18 11:54:30 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							8abee1bdaa 
							
						 
					 
					
						
						
							
							dmnt: fix some bugs in init  
						
						
						
					 
					
						2019-09-18 11:54:30 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							78a730ddf6 
							
						 
					 
					
						
						
							
							dmnt: refactor to use sts:: namespace.  
						
						
						
					 
					
						2019-09-18 11:54:30 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							2d0c881ffe 
							
						 
					 
					
						
						
							
							strat: go all in on ncm::TitleId  
						
						
						
					 
					
						2019-07-11 22:24:59 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							c916a7db88 
							
						 
					 
					
						
						
							
							strat: remove sizeof() / sizeof([0])  
						
						
						
					 
					
						2019-07-11 22:24:59 -07:00 
						 
				 
			
				
					
						
							
							
								hexkyz 
							
						 
					 
					
						
						
						
						
							
						
						
							09ab3efddd 
							
						 
					 
					
						
						
							
							Fix argument type for isspace  
						
						
						
					 
					
						2019-07-01 20:29:43 +01:00 
						 
				 
			
				
					
						
							
							
								hexkyz 
							
						 
					 
					
						
						
						
						
							
						
						
							e561919a52 
							
						 
					 
					
						
						
							
							Fix logic in ldr_ro_manager  
						
						... 
						
						
						
						Fix argument type for isdigit/isxdigit 
						
					 
					
						2019-06-30 18:48:16 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							18ca8aaf5b 
							
						 
					 
					
						
						
							
							stratosphere: all in on enum class CommandId  
						
						
						
					 
					
						2019-06-27 23:34:53 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							1671c04e24 
							
						 
					 
					
						
						
							
							stratosphere: prefer static waitable managers  
						
						
						
					 
					
						2019-06-20 13:15:39 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							4191dcee75 
							
						 
					 
					
						
						
							
							dmnt: fix missing init  
						
						
						
					 
					
						2019-06-20 04:04:11 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							cead8a36ea 
							
						 
					 
					
						
						
							
							stratosphere: more result cleanup  
						
						
						
					 
					
						2019-06-20 02:00:59 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							7b6050a0cb 
							
						 
					 
					
						
						
							
							boot: refactor for R_TRY  
						
						
						
					 
					
						2019-06-20 00:57:17 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							491383c637 
							
						 
					 
					
						
						
							
							dmnt: trailing whitespace  
						
						
						
					 
					
						2019-06-19 22:20:44 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							d7a3645f7f 
							
						 
					 
					
						
						
							
							dmnt: update for R_TRY  
						
						
						
					 
					
						2019-06-19 22:19:53 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							e7e5ef4e5d 
							
						 
					 
					
						
						
							
							dmnt: update targetio file ops for new libnx api  
						
						
						
					 
					
						2019-06-08 15:58:35 -07:00