Yuri Kunde Schlesner 
							
						 
					 
					
						
						
							
						
						c2588403c0 
					 
					
						
						
							
							HLE: Revamp error handling throrough the HLE code  
						
						 
						
						... 
						
						
						
						All service calls in the CTR OS return result codes indicating the
success or failure of the call. Previous to this commit, Citra's HLE
emulation of services and the kernel universally either ignored errors
or returned dummy -1 error codes.
This commit makes an initial effort to provide an infrastructure for
error reporting and propagation which can be use going forward to make
HLE calls accurately return errors as the original system. A few parts
of the code have been updated to use the new system where applicable.
One part of this effort is the definition of the `ResultCode` type,
which provides facilities for constructing and parsing error codes in
the structured format used by the CTR.
The `ResultVal` type builds on `ResultCode` by providing a container for
values returned by function that can report errors. It enforces that
correct error checking will be done on function returns by preventing
the use of the return value if the function returned an error code.
Currently this change is mostly internal since errors are still
suppressed on the ARM<->HLE border, as a temporary compatibility hack.
As functionality is implemented and tested this hack can be eventually
removed. 
						
						
					 
					
						2014-11-24 17:08:36 -02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						ef1b16a7eb 
					 
					
						
						
							
							Merge pull request  #191  from archshift/deletexyz  
						
						 
						
						... 
						
						
						
						Added DeleteFile and DeleteDirectory functions to FS:USER and the archives. 
						
						
					 
					
						2014-11-23 20:02:23 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								archshift 
							
						 
					 
					
						
						
							
						
						8aeadbd95a 
					 
					
						
						
							
							Added DeleteFile and DeleteDirectory functions to FS:USER and the archives.  
						
						 
						
						
						
						
					 
					
						2014-11-23 00:33:43 -08:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						c0cd0fa78e 
					 
					
						
						
							
							Merge pull request  #211  from linkmauve/master  
						
						 
						
						... 
						
						
						
						Remove trailing spaces from the entire project 
						
						
					 
					
						2014-11-19 15:24:46 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						112768f436 
					 
					
						
						
							
							Merge pull request  #208  from lioncash/statics  
						
						 
						
						... 
						
						
						
						Add static to some variables 
						
						
					 
					
						2014-11-19 09:39:20 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Emmanuel Gil Peyrot 
							
						 
					 
					
						
						
							
						
						f5d38649c7 
					 
					
						
						
							
							Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generated  
						
						 
						
						
						
						
					 
					
						2014-11-19 09:03:07 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Lioncash 
							
						 
					 
					
						
						
							
						
						7cbecde2ca 
					 
					
						
						
							
							Add static to some variables  
						
						 
						
						
						
						
					 
					
						2014-11-18 20:04:00 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Lioncash 
							
						 
					 
					
						
						
							
						
						1a8f466217 
					 
					
						
						
							
							Remove extraneous semicolons  
						
						 
						
						
						
						
					 
					
						2014-11-18 08:27:16 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						11641b5e79 
					 
					
						
						
							
							Archive: Fixed to not destroy archive handle on close.  
						
						 
						
						
						
						
					 
					
						2014-11-17 22:19:14 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						bcb0dbf7e1 
					 
					
						
						
							
							Archive: Fixed close archive before freeing.  
						
						 
						
						
						
						
					 
					
						2014-11-17 22:19:14 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						3e09c07378 
					 
					
						
						
							
							FS_User: Support FileSye::Path in a more generic way.  
						
						 
						
						... 
						
						
						
						added a todo to kernel archive 
						
						
					 
					
						2014-11-17 22:18:58 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						a3107a6b57 
					 
					
						
						
							
							FileSys: Updated backend code to use FileSys::Path instead of string for paths.  
						
						 
						
						
						
						
					 
					
						2014-11-17 21:49:24 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Lioncash 
							
						 
					 
					
						
						
							
						
						ac58b76e71 
					 
					
						
						
							
							Fix two format strings.  
						
						 
						
						
						
						
					 
					
						2014-11-14 12:08:26 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								archshift 
							
						 
					 
					
						
						
							
						
						04c90c395d 
					 
					
						
						
							
							Added CreateDirectory function to service/fs.cpp, and in Archive.  
						
						 
						
						
						
						
					 
					
						2014-11-02 10:48:28 -08:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Sean 
							
						 
					 
					
						
						
							
						
						9a012ff007 
					 
					
						
						
							
							Fix some warnings  
						
						 
						
						
						
						
					 
					
						2014-10-29 20:26:15 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
							
						
						d72708c1f5 
					 
					
						
						
							
							Add override keyword through the code.  
						
						 
						
						... 
						
						
						
						This was automated using `clang-modernize`. 
						
						
					 
					
						2014-10-26 16:18:05 -02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Emmanuel Gil Peyrot 
							
						 
					 
					
						
						
							
						
						0be5c03176 
					 
					
						
						
							
							FileSys: split the constructor into an Open method, in order to notify the opener something went wrong.  
						
						 
						
						... 
						
						
						
						Kernel: Return an invalid handle to OpenFile when it failed to open. 
						
						
					 
					
						2014-10-06 19:58:42 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Emmanuel Gil Peyrot 
							
						 
					 
					
						
						
							
						
						23c2fbfc7a 
					 
					
						
						
							
							FileSys/Kernel: Implement SetSize service call for File objects.  
						
						 
						
						
						
						
					 
					
						2014-10-06 19:58:37 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								archshift 
							
						 
					 
					
						
						
							
						
						1966f7b0ad 
					 
					
						
						
							
							Use the citra user path for the sdmc directory  
						
						 
						
						
						
						
					 
					
						2014-09-21 09:34:33 -07:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Emmanuel Gil Peyrot 
							
						 
					 
					
						
						
							
						
						3a570a9fee 
					 
					
						
						
							
							Kernel: Implement the Close command for Archive, File and Directory.  
						
						 
						
						
						
						
					 
					
						2014-09-17 14:35:46 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Emmanuel Gil Peyrot 
							
						 
					 
					
						
						
							
						
						c197ce2180 
					 
					
						
						
							
							Kernel: Add a Directory object and a getter for it from an Archive object.  
						
						 
						
						
						
						
					 
					
						2014-09-17 14:35:46 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Emmanuel Gil Peyrot 
							
						 
					 
					
						
						
							
						
						19d04f3abe 
					 
					
						
						
							
							Kernel: Add a File object and a getter for it from an Archive object.  
						
						 
						
						
						
						
					 
					
						2014-09-17 14:35:46 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Lioncash 
							
						 
					 
					
						
						
							
						
						741321ac24 
					 
					
						
						
							
							Core: Get rid of unnecessary switch statement in Kernel  
						
						 
						
						
						
						
					 
					
						2014-09-14 21:31:09 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								archshift 
							
						 
					 
					
						
						
							
						
						6e606c515f 
					 
					
						
						
							
							core: Prune redundant includes  
						
						 
						
						
						
						
					 
					
						2014-09-08 17:54:14 -07:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						304999dfeb 
					 
					
						
						
							
							Threading: Fix thread starting to execute first instruction correctly.  
						
						 
						
						
						
						
					 
					
						2014-08-28 17:51:49 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								archshift 
							
						 
					 
					
						
						
							
						
						4c4a01bf41 
					 
					
						
						
							
							Added FS functions to Archive and Archive_RomFS  
						
						 
						
						
						
						
					 
					
						2014-08-22 15:45:10 -07:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Lioncash 
							
						 
					 
					
						
						
							
						
						ab4648d3ca 
					 
					
						
						
							
							Core: Use std::array for managing kernel object space  
						
						 
						
						... 
						
						
						
						These avoid relying on memset for clearing the arrays. 
						
						
					 
					
						2014-08-19 00:32:48 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Lioncash 
							
						 
					 
					
						
						
							
						
						98fa3f7cba 
					 
					
						
						
							
							Core: Alter the kernel string functions to use std::string instead of const char*.  
						
						 
						
						... 
						
						
						
						Most functions already operate on std::strings. This also removes the need to manually null terminate thread names. 
						
						
					 
					
						2014-08-17 23:12:20 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						d4bd2f2e5d 
					 
					
						
						
							
							Thread: Added more descriptive comment to WaitCurrentThread.  
						
						 
						
						
						
						
					 
					
						2014-08-06 18:19:59 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						2542350b85 
					 
					
						
						
							
							AddressArbiter: Removed unnecessary HLE::Reschedule.  
						
						 
						
						
						
						
					 
					
						2014-08-05 23:54:28 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						60078baab1 
					 
					
						
						
							
							AddressArbiter: Fixed bug with break statements missing from case statements.  
						
						 
						
						
						
						
					 
					
						2014-08-05 23:54:27 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						7a1f813be1 
					 
					
						
						
							
							Kernel: Updated Event and Mutex to specify handle that they are blocking for.  
						
						 
						
						
						
						
					 
					
						2014-08-05 20:14:51 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						3eb89f3e98 
					 
					
						
						
							
							Kernel: Added preliminary support for address arbiters.  
						
						 
						
						... 
						
						
						
						AddressArbiter: Added documentation comment, fixed whitespace issue.
AddressArbiter: Fixed incorrect comment, reordered if-statement to be more clear.
SVC: Removed trailing whitespace. 
						
						
					 
					
						2014-07-08 18:46:38 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						ba840d3200 
					 
					
						
						
							
							Thread: Added functions to resume threads from address arbitration.  
						
						 
						
						... 
						
						
						
						Thread: Cleaned up arbitrate address functions.
Thread: Cleaned up ArbitrateAllThreads function. 
						
						
					 
					
						2014-07-08 18:46:15 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						7ff92c36ed 
					 
					
						
						
							
							SharedMemory: Updated MapSharedMemory to use an enum for permissions.  
						
						 
						
						... 
						
						
						
						- Also added some safety checks to MapSharedMemory. 
						
						
					 
					
						2014-07-05 10:24:54 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						e547128185 
					 
					
						
						
							
							Kernel: Added support for shared memory objects.  
						
						 
						
						... 
						
						
						
						SharedMemory: Added optional name field for tracking known objects. 
						
						
					 
					
						2014-07-05 01:21:05 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						542700ccb7 
					 
					
						
						
							
							Archive: Added Init/Shutdown methods to reset kernel archive state.  
						
						 
						
						
						
						
					 
					
						2014-07-04 20:37:51 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						17a6148f9d 
					 
					
						
						
							
							FileSys: Added preliminary support for applications reading the RomFS archive.  
						
						 
						
						... 
						
						
						
						Archive: Fixed brace ugliness for neobrain :)
FS: Commented out unused local variables to prevent warnings.
...But keeping them here for future use.
archive_romfs: Removed unused #include. 
						
						
					 
					
						2014-07-04 20:37:45 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						8b8c8f4c13 
					 
					
						
						
							
							Kernel: Added stubbed code to support creation of kernel Archive objects.  
						
						 
						
						
						
						
					 
					
						2014-06-27 16:58:30 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						b45a38f557 
					 
					
						
						
							
							Kernel: Removed unnecessary "#pragma once".  
						
						 
						
						
						
						
					 
					
						2014-06-13 09:51:20 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						f49ac3a2d7 
					 
					
						
						
							
							Kernel: Added freeing of kernel objects on emulator shutdown.  
						
						 
						
						
						
						
					 
					
						2014-06-13 09:51:19 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						83a4ad2885 
					 
					
						
						
							
							Event: Updated several log messages to be assertions.  
						
						 
						
						
						
						
					 
					
						2014-06-13 09:51:18 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						b62ef4bbd2 
					 
					
						
						
							
							Thread: Renamed occurrences of "t" to "thread" to improve readability.  
						
						 
						
						
						
						
					 
					
						2014-06-13 09:51:17 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						5b7cf50a77 
					 
					
						
						
							
							Thread: Cleaned up VerifyWait, fixed issue where nullptr msg could unnecessarily be logged.  
						
						 
						
						
						
						
					 
					
						2014-06-13 09:51:16 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						4620e2a741 
					 
					
						
						
							
							HLE: Removed usnused EatCycles function.  
						
						 
						
						
						
						
					 
					
						2014-06-13 09:51:16 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						bfdd874b1f 
					 
					
						
						
							
							Thread: Moved position of * in arguments.  
						
						 
						
						
						
						
					 
					
						2014-06-13 09:51:14 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						12e2a59565 
					 
					
						
						
							
							Thread: Updated VerifyWait to be more readable (but functionally the same).  
						
						 
						
						
						
						
					 
					
						2014-06-13 09:51:14 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						c95972275e 
					 
					
						
						
							
							HLE: Updated all uses of NULL to nullptr (to be C++11 compliant)  
						
						 
						
						
						
						
					 
					
						2014-06-13 09:51:13 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						5365ca157d 
					 
					
						
						
							
							Kernel: Updated various kernel function "name" arguments to be const references.  
						
						 
						
						
						
						
					 
					
						2014-06-13 09:51:12 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						d7363322c7 
					 
					
						
						
							
							HLE: Updated various handle debug assertions to be more clear.  
						
						 
						
						
						
						
					 
					
						2014-06-13 09:51:11 -04:00