Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							0ae75a5fd4 
							
						 
					 
					
						
						
							
							fs: add extension GetEntryList to AesCtrCounterExtendedStorage  
						
						
						
					 
					
						2022-10-12 09:15:40 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							83aaf4904b 
							
						 
					 
					
						
						
							
							os: fix whoops in SetMemoryPermission on windows  
						
						
						
					 
					
						2022-10-12 09:15:40 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							019a7600c7 
							
						 
					 
					
						
						
							
							os: implement MemoryHeapManager, SetMemoryAttribute  
						
						
						
					 
					
						2022-10-12 09:15:40 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							dcf2d7ff9b 
							
						 
					 
					
						
						
							
							kern: optimize postfix-compare to prefix-compare, result logic is identical but breaks earlier in some paths  
						
						
						
					 
					
						2022-10-12 09:15:39 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							35e1208092 
							
						 
					 
					
						
						
							
							kern: mea culpa (some time since 7.x)  
						
						
						
					 
					
						2022-10-12 09:15:39 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							56f28f9ce5 
							
						 
					 
					
						
						
							
							util: prevent optimizer from removing endian-swapped writes  
						
						
						
					 
					
						2022-10-12 09:15:38 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							932db3b92e 
							
						 
					 
					
						
						
							
							ams: address some warnings when building with gcc-12  
						
						
						
					 
					
						2022-10-12 09:15:38 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							696cfb4862 
							
						 
					 
					
						
						
							
							lr: update capacity constants to reflect 12.0.0 changes  
						
						
						
					 
					
						2022-10-12 09:15:37 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							95b3d39918 
							
						 
					 
					
						
						
							
							strat: update for code changes found in boot ( closes   #1797 )  
						
						
						
					 
					
						2022-10-12 09:15:37 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							b91294d3b9 
							
						 
					 
					
						
						
							
							ams: fs accuracy fixes, bump to 1.3.2  
						
						
						
					 
					
						2022-04-29 16:14:24 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							01848bf7ac 
							
						 
					 
					
						
						
							
							os: fix various regressions since 1.3.1  
						
						
						
					 
					
						2022-04-29 16:14:23 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							ee0cb14b97 
							
						 
					 
					
						
						
							
							os: fix minor bug (and simplify) MapProcessCodeMemory  
						
						
						
					 
					
						2022-04-29 16:14:22 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							2702120d79 
							
						 
					 
					
						
						
							
							ro/os: use os primitives for MapProcessCodeMemory  
						
						
						
					 
					
						2022-04-29 16:14:22 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							e5051619b6 
							
						 
					 
					
						
						
							
							loader: update for changes in 14.0.0  
						
						
						
					 
					
						2022-04-29 16:14:21 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							aecf739a7c 
							
						 
					 
					
						
						
							
							loader: use os apis for interacting with process memory  
						
						
						
					 
					
						2022-04-29 16:14:21 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							1ac83a92e5 
							
						 
					 
					
						
						
							
							strat: fix linux clang build  
						
						
						
					 
					
						2022-04-29 16:14:20 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							54b6d5f40b 
							
						 
					 
					
						
						
							
							optional: add c++23 monadic interface  
						
						
						
					 
					
						2022-04-29 16:14:20 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							91ef9bb92c 
							
						 
					 
					
						
						
							
							fs: fix null check in AesXtsStorageExternal  
						
						
						
					 
					
						2022-04-29 16:14:19 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							0841242371 
							
						 
					 
					
						
						
							
							os: silence a maybe-uninit warning  
						
						
						
					 
					
						2022-04-29 16:14:19 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							738f57cd37 
							
						 
					 
					
						
						
							
							os: refactor multi wait apis to better match Nintendo's latest implementation  
						
						
						
					 
					
						2022-04-29 16:14:18 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							a6c096e833 
							
						 
					 
					
						
						
							
							fs: QueryEntry uses NonSecure buffers  
						
						
						
					 
					
						2022-04-29 16:14:18 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							a309a1273e 
							
						 
					 
					
						
						
							
							fs: fix memory leak when path is reallocated ( closes   #1842 )  
						
						
						
					 
					
						2022-04-29 16:14:17 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							6d0e0bc135 
							
						 
					 
					
						
						
							
							os: broadcast, not signal, on release more than 1 sema  
						
						
						
					 
					
						2022-04-29 16:14:17 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							590cdaf022 
							
						 
					 
					
						
						
							
							ams: add enum recognition for 14.1.0  
						
						
						
					 
					
						2022-04-04 17:47:04 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							ddd98cb20b 
							
						 
					 
					
						
						
							
							util: update some bit utility logic  
						
						
						
					 
					
						2022-04-04 17:47:04 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							0a6fec909b 
							
						 
					 
					
						
						
							
							fs: update signature for VerifySign1  
						
						
						
					 
					
						2022-04-04 17:47:03 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							1aa71e6e44 
							
						 
					 
					
						
						
							
							fssystem: add unique lock apis  
						
						
						
					 
					
						2022-04-04 17:47:03 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							08787303a2 
							
						 
					 
					
						
						
							
							fs: update romfs types  
						
						
						
					 
					
						2022-04-04 17:47:02 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							8127091934 
							
						 
					 
					
						
						
							
							fs: remove dead code  
						
						
						
					 
					
						2022-04-04 17:47:02 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							37089309b2 
							
						 
					 
					
						
						
							
							fs: update LocalFileSystem  
						
						
						
					 
					
						2022-04-04 17:47:01 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							f2480c7b33 
							
						 
					 
					
						
						
							
							fs: fixup all OperateRange implementations  
						
						
						
					 
					
						2022-04-04 17:47:01 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							b4da4ddb7e 
							
						 
					 
					
						
						
							
							os: add DetachIoRegionHandle  
						
						
						
					 
					
						2022-04-04 17:47:01 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							bcaf3e8cd9 
							
						 
					 
					
						
						
							
							util: LockFreeAtomicType (for time)  
						
						
						
					 
					
						2022-04-04 17:47:00 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							d47c54c70b 
							
						 
					 
					
						
						
							
							strat: add windows socket api, linux/macos TODO  
						
						
						
					 
					
						2022-04-04 17:47:00 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							87f3e02042 
							
						 
					 
					
						
						
							
							fs: also update comment, for locking  
						
						
						
					 
					
						2022-04-04 17:46:59 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							08c3748b87 
							
						 
					 
					
						
						
							
							fs: fix inverted optional-lock condition  
						
						
						
					 
					
						2022-04-04 17:46:59 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							45db9a519b 
							
						 
					 
					
						
						
							
							fs: implement new 14.0.0 spl-ctr dispatch semantics  
						
						
						
					 
					
						2022-04-04 17:46:58 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							6a5d2ced4b 
							
						 
					 
					
						
						
							
							ams: globally prefer R_RETURN to return for ams::Result  
						
						
						
					 
					
						2022-04-04 17:46:58 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							6f4618ea60 
							
						 
					 
					
						
						
							
							ams: use R_SUCCEED, R_THROW globally  
						
						
						
					 
					
						2022-04-04 17:46:57 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							99fba44125 
							
						 
					 
					
						
						
							
							fs: update IStorage::Check functions for 14.0.0  
						
						
						
					 
					
						2022-04-04 17:46:57 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							e7d6626ef6 
							
						 
					 
					
						
						
							
							fs: update a few loose missed results  
						
						
						
					 
					
						2022-04-04 17:46:56 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							cdadb5e9a2 
							
						 
					 
					
						
						
							
							fs: update nca drivers (and dependents/callees) for 14.0.0 changes  
						
						
						
					 
					
						2022-04-04 17:46:56 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							05fdf2ae75 
							
						 
					 
					
						
						
							
							fs: update HashGeneratorFactorySelector to reflect 14.0.0  
						
						
						
					 
					
						2022-04-04 17:46:55 -07:00 
						 
				 
			
				
					
						
							
							
								SciresM 
							
						 
					 
					
						
						
						
						
							
						
						
							974526f708 
							
						 
					 
					
						
						
							
							fs: reduce path size 0x28 -> 0x18  
						
						... 
						
						
						
						This implements two optimizations on fs::Path, which N added in 12.0.0.
The current structure looks like: 
```cpp
struct Path {
    const char *m_str; // Points to the read-only path string
    char *m_write_buffer_buffer; // Part of std::unique_ptr<char[], ams::fs::impl::Deleter>
    ams::fs::impl::Deleter m_write_buffer_deleter; // Parse of std::unique_ptr<char[], ams::fs::impl::Deleter>, stores the size of the buffer.
    size_t m_write_buffer_length; // Copy of the write buffer's size accessible to the Path() structure.
    bool m_is_normalized; // Whether the path buffer is normalized
};
```
This is pretty wasteful. The write buffer size is stored twice, wasting 8 bytes, because one copy of the size isn't accessible to the path.
In addition, due to alignment, the bool wastes 7 padding bytes.
This commit:
* Encodes normalized in the low bit of the write buffer length, saving 8 bytes.
* Use a custom WriteBuffer class rather than generic unique_ptr, to avoid needing to store the WriteBuffer twice.
These each save 8 bytes, for a final size of 0x18 rather than 0x28. 
						
					 
					
						2022-04-04 17:46:55 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							767f4a9913 
							
						 
					 
					
						
						
							
							util: pointer traits only if <memory>/stratosphere  
						
						
						
					 
					
						2022-04-04 17:46:54 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							7a0bfc4397 
							
						 
					 
					
						
						
							
							util: add pointer utils, use to constrain fs pointers  
						
						
						
					 
					
						2022-04-04 17:46:54 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							2c630d5514 
							
						 
					 
					
						
						
							
							fs: fix removed include  
						
						
						
					 
					
						2022-04-04 17:46:53 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							0f8ae6e04b 
							
						 
					 
					
						
						
							
							fs: for my sanity, begin tracking version where code was last checked for accuracy  
						
						
						
					 
					
						2022-04-04 17:46:53 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							726a7efddf 
							
						 
					 
					
						
						
							
							fs: fix out of bounds access when parsing directory paths  
						
						
						
					 
					
						2022-03-23 13:45:36 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							af48924e59 
							
						 
					 
					
						
						
							
							crypto: fix aes-128 dec on arm64/cortex-a57  
						
						
						
					 
					
						2022-03-23 11:25:20 -07:00