Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							7ada357b2d 
							
						 
					 
					
						
						
							
							Memmap: Re-organize memory function in two files  
						
						... 
						
						
						
						memory.cpp/h contains definitions related to acessing memory and
configuring the address space
mem_map.cpp/h contains higher-level definitions related to configuring
the address space accoording to the kernel and allocating memory. 
						
					 
					
						2015-05-15 00:04:38 -03:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							150e700729 
							
						 
					 
					
						
						
							
							process: Get rid of warnings  
						
						... 
						
						
						
						Sign mismatches and "forcing value to bool" warnings. 
						
					 
					
						2015-05-14 12:59:14 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							207087c856 
							
						 
					 
					
						
						
							
							thread: Fix a conditional check in Reschedule  
						
						
						
					 
					
						2015-05-14 11:10:04 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							cb2b2071a8 
							
						 
					 
					
						
						
							
							Merge pull request  #748  from Subv/tls_max  
						
						... 
						
						
						
						Core/Memory: Add TLS support for creating up to 300 threads 
						
					 
					
						2015-05-11 23:32:28 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							ee8da4c356 
							
						 
					 
					
						
						
							
							Merge pull request  #751  from yuriks/idle-thread  
						
						... 
						
						
						
						Thread: Remove the idle thread 
						
					 
					
						2015-05-11 23:22:47 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							6e26d063a5 
							
						 
					 
					
						
						
							
							Merge pull request  #757  from Subv/scheduling  
						
						... 
						
						
						
						Core/Scheduling: Prepare the new priority in the thread queue when svcSetPriority is called 
						
					 
					
						2015-05-11 22:54:00 -04:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							4f7a055081 
							
						 
					 
					
						
						
							
							Thread: Remove the idle thread  
						
						... 
						
						
						
						Instead just use nullptr to represent no thread is active. 
						
					 
					
						2015-05-11 22:39:39 -03:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							dda94e56dd 
							
						 
					 
					
						
						
							
							Core/Memory: Add TLS support for creating up to 300 threads  
						
						
						
					 
					
						2015-05-11 20:09:23 -05:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							820b97787c 
							
						 
					 
					
						
						
							
							Merge pull request  #750  from Subv/process_svc  
						
						... 
						
						
						
						Core/HLE: Implemented the SVCs GetProcessId and GetProcessIdOfThread 
						
					 
					
						2015-05-11 17:44:26 -07:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							dbc1320923 
							
						 
					 
					
						
						
							
							Core/Scheduling: Prepare the new priority in the thread queue when svcSetPriority is called  
						
						
						
					 
					
						2015-05-11 19:38:10 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							25c010dc7d 
							
						 
					 
					
						
						
							
							fixup!  
						
						
						
					 
					
						2015-05-11 18:23:45 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							41f74a16fd 
							
						 
					 
					
						
						
							
							Core/HLE: Implemented the SVCs GetProcessId and GetProcessIdOfThread  
						
						
						
					 
					
						2015-05-11 09:15:10 -05:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							d16c2bd956 
							
						 
					 
					
						
						
							
							Thread: Correctly set main thread initial stack position  
						
						
						
					 
					
						2015-05-11 05:08:47 -03:00 
						 
				 
			
				
					
						
							
							
								archshift 
							
						 
					 
					
						
						
						
						
							
						
						
							e98fbadf4a 
							
						 
					 
					
						
						
							
							Merge pull request  #740  from yuriks/gsp-shmem  
						
						... 
						
						
						
						Fix crashes due to un-initialized GSP shared memory 
						
					 
					
						2015-05-10 18:07:44 -07:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							115ad8e16a 
							
						 
					 
					
						
						
							
							fixup! Set the TLS address in the scheduler  
						
						
						
					 
					
						2015-05-10 18:43:59 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							000876858d 
							
						 
					 
					
						
						
							
							Core/Memory: Give every emulated thread it's own TLS area.  
						
						... 
						
						
						
						The TLS area for thread T with id Ti is located at TLS_AREA_VADDR + (Ti - 1) * 0x200.
This allows some games like Mario Kart 7 to continue further. 
						
					 
					
						2015-05-10 18:35:37 -05:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							774eea8374 
							
						 
					 
					
						
						
							
							Kernel: Zero-fill shared memory blocks when mapping  
						
						... 
						
						
						
						This works around crashes related to GSP/HID/etc. shared memory blocks
having garbage values. The proper fix requires proper management of
mapped memory blocks in the process. 
						
					 
					
						2015-05-10 20:05:29 -03:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							c96f22490a 
							
						 
					 
					
						
						
							
							Kernel: Capture SharedMemory attributes at creation, not when mapping  
						
						
						
					 
					
						2015-05-10 19:47:07 -03:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							b700b55696 
							
						 
					 
					
						
						
							
							Common: Remove the BIT macro  
						
						... 
						
						
						
						When the macro was introduced in 326ec51261 
						
					 
					
						2015-05-09 18:16:46 -03:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							1c0b87edc2 
							
						 
					 
					
						
						
							
							Memory: Re-organize and rename memory area address constants  
						
						
						
					 
					
						2015-05-09 01:29:52 -03:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							7c50b999fa 
							
						 
					 
					
						
						
							
							Kernel: Remove unused g_main_thread variable  
						
						
						
					 
					
						2015-05-08 22:12:12 -03:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							3cb19c9589 
							
						 
					 
					
						
						
							
							Process: Rename StaticAddressMapping => AddressMapping  
						
						
						
					 
					
						2015-05-08 22:12:10 -03:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							83ccf85bb2 
							
						 
					 
					
						
						
							
							Process: Add more documentation to the class members  
						
						
						
					 
					
						2015-05-08 22:11:49 -03:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							2f5904611d 
							
						 
					 
					
						
						
							
							Process: Use BitField to store process flags  
						
						
						
					 
					
						2015-05-08 22:11:48 -03:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							2af30d465f 
							
						 
					 
					
						
						
							
							Process: Support parsing of exheader kernel caps  
						
						
						
					 
					
						2015-05-08 22:11:44 -03:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							a5eba2f984 
							
						 
					 
					
						
						
							
							Kernel: Remove g_program_id  
						
						... 
						
						
						
						This has been obsoleted by the field in Process. 
						
					 
					
						2015-05-08 22:11:03 -03:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							6d60acf0f1 
							
						 
					 
					
						
						
							
							Kernel: Introduce skeleton Process class to hold process data  
						
						
						
					 
					
						2015-05-08 22:11:02 -03:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							e1fbac3ca1 
							
						 
					 
					
						
						
							
							Common: Remove common.h  
						
						
						
					 
					
						2015-05-07 15:45:22 -03:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							c916bcf7b5 
							
						 
					 
					
						
						
							
							Move typedefs from kernel.h to more appropriate places  
						
						
						
					 
					
						2015-05-06 23:45:05 -03:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							c7dc799e19 
							
						 
					 
					
						
						
							
							Kernel: Properly initialize and shutdown all modules.  
						
						
						
					 
					
						2015-05-01 18:27:03 -04:00 
						 
				 
			
				
					
						
							
							
								Emmanuel Gil Peyrot 
							
						 
					 
					
						
						
						
						
							
						
						
							0d69b2f7bd 
							
						 
					 
					
						
						
							
							Kernel: Use the correct format string for u64 hex.  
						
						
						
					 
					
						2015-04-14 21:18:31 +02:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							c077bcefa9 
							
						 
					 
					
						
						
							
							SVC: Update various SVCs to cause a reschedule.  
						
						... 
						
						
						
						- CreateMutex/ReleaseMutex/ReleaseSemaphore/SetTimer/CancelTimer/ArbitrateAddress 
						
					 
					
						2015-04-09 19:06:42 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							9c3419ebcc 
							
						 
					 
					
						
						
							
							Kernel: Implemented priority inheritance for mutexes.  
						
						
						
					 
					
						2015-04-09 19:06:39 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							7b9f428b23 
							
						 
					 
					
						
						
							
							Thread: Implement priority boost for starved threads.  
						
						... 
						
						
						
						SVC: Return correct error code on invalid CreateThread processor ID.
SVC: Assert when creating a thread with an invalid userland priority. 
						
					 
					
						2015-04-09 19:05:21 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							e08f55b1a7 
							
						 
					 
					
						
						
							
							Kernel: Fixed default thread priority.  
						
						
						
					 
					
						2015-04-09 19:04:19 -04:00 
						 
				 
			
				
					
						
							
							
								Gareth Higgins 
							
						 
					 
					
						
						
						
						
							
						
						
							25a43cd2ec 
							
						 
					 
					
						
						
							
							Initialize base address to 0x0  
						
						
						
					 
					
						2015-04-08 20:34:41 -04:00 
						 
				 
			
				
					
						
							
							
								archshift 
							
						 
					 
					
						
						
						
						
							
						
						
							4fb75d220a 
							
						 
					 
					
						
						
							
							Misc cleanup of common and related functions  
						
						
						
					 
					
						2015-02-19 22:26:25 -08:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							8e2b248e05 
							
						 
					 
					
						
						
							
							Build: Fixed some warnings  
						
						
						
					 
					
						2015-02-12 09:25:35 -05:00 
						 
				 
			
				
					
						
							
							
								archshift 
							
						 
					 
					
						
						
						
						
							
						
						
							ef24e72b26 
							
						 
					 
					
						
						
							
							Asserts: break/crash program, fit to style guide; log.h->assert.h  
						
						... 
						
						
						
						Involves making asserts use printf instead of the log functions (log functions are asynchronous and, as such, the log won't be printed in time)
As such, the log type argument was removed (printf obviously can't use it, and it's made obsolete by the file and line printing)
Also removed some GEKKO cruft. 
						
					 
					
						2015-02-10 18:30:31 -08:00 
						 
				 
			
				
					
						
							
							
								Kevin Hartman 
							
						 
					 
					
						
						
						
						
							
						
						
							5fcbfc06eb 
							
						 
					 
					
						
						
							
							Scheduler refactor Pt. 1  
						
						... 
						
						
						
						* Simplifies scheduling logic, specifically regarding thread status. It should be much clearer which statuses are valid
for a thread at any given point in the system.
* Removes dead code from thread.cpp.
* Moves the implementation of resetting a ThreadContext to the corresponding core's implementation.
Other changes:
* Fixed comments in arm interfaces.
* Updated comments in thread.cpp
* Removed confusing, useless, functions like MakeReady() and ChangeStatus() from thread.cpp.
* Removed stack_size from Thread. In the CTR kernel, the thread's stack would be allocated before thread creation. 
						
					 
					
						2015-02-09 21:47:12 -08:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							1b0bf00cbc 
							
						 
					 
					
						
						
							
							Mutex: Locks should be recursive.  
						
						
						
					 
					
						2015-02-09 22:06:09 -05:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							676daef3c7 
							
						 
					 
					
						
						
							
							core: Fix some warnings on OSX  
						
						
						
					 
					
						2015-02-03 08:14:42 -05:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							88a4a808c6 
							
						 
					 
					
						
						
							
							Kernel: Stop creating useless Handles during object creation  
						
						... 
						
						
						
						They're finally unnecessary, and will stop cluttering the application's
handle table. 
						
					 
					
						2015-02-02 15:37:09 -02:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							52f58e64ef 
							
						 
					 
					
						
						
							
							Kernel: Make WaitObjects share ownership of Threads waiting on them  
						
						... 
						
						
						
						During normal operation, a thread waiting on an WaitObject and the
object hold mutual references to each other for the duration of the
wait.
If a process is forcefully terminated (The CTR kernel has a SVC to do
this, TerminateProcess, though no equivalent exists for threads.) its
threads would also be stopped and destroyed, leaving dangling pointers
in the WaitObjects.
The solution is to simply have the Thread remove itself from WaitObjects
when it is stopped. The vector of Threads in WaitObject has also been
changed to hold SharedPtrs, just in case. (Better to have a reference
cycle than a crash.) 
						
					 
					
						2015-02-02 15:37:08 -02:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							7725256f64 
							
						 
					 
					
						
						
							
							Explicitly instantiate constructors/destructors for Kernel objects  
						
						... 
						
						
						
						This should speed up compile times a bit, as well as enable more liberal
use of forward declarations. (Due to SharedPtr not trying to emit the
destructor anymore.) 
						
					 
					
						2015-02-02 15:37:07 -02:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							4e84df8be3 
							
						 
					 
					
						
						
							
							Mutex: Replace g_mutex_held_locks with a set inside Thread  
						
						
						
					 
					
						2015-02-02 15:37:06 -02:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							e8330dd162 
							
						 
					 
					
						
						
							
							Kernel: Fix bug in HandleTable::Close  
						
						
						
					 
					
						2015-02-02 15:37:04 -02:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							5354a479bc 
							
						 
					 
					
						
						
							
							Kernel: Remove Object::GetHandle (it's not used anymore :D)  
						
						
						
					 
					
						2015-02-02 15:37:04 -02:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							869ec46683 
							
						 
					 
					
						
						
							
							Kernel: Introduce unique Object ids for debugging  
						
						
						
					 
					
						2015-02-02 15:37:03 -02:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							a9b86db3cf 
							
						 
					 
					
						
						
							
							Kernel: Use separate Handle tables for CoreTiming userdata  
						
						... 
						
						
						
						This is to support the removal of GetHandle soon 
						
					 
					
						2015-02-02 15:37:03 -02:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							ec9c773251 
							
						 
					 
					
						
						
							
							Kernel: Remove previous scheduled event when a Timer is re-Set  
						
						
						
					 
					
						2015-02-02 15:37:02 -02:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							664c79ff47 
							
						 
					 
					
						
						
							
							Thread: Modernize two functions that slipped through previous rebases  
						
						
						
					 
					
						2015-02-02 15:37:01 -02:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							3f00dd9117 
							
						 
					 
					
						
						
							
							arm: Clean up ARMul_State  
						
						... 
						
						
						
						Remove unnecessary/unused struct variables. 
						
					 
					
						2015-01-31 21:55:34 -05:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							96c174aed4 
							
						 
					 
					
						
						
							
							shared_memory: Fix assignments in SharedMemory::Map  
						
						
						
					 
					
						2015-01-30 11:37:53 -05:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							d917a9bf77 
							
						 
					 
					
						
						
							
							Kernel: Mark all appropriate kernel objects as "final"  
						
						
						
					 
					
						2015-01-30 11:49:46 -02:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							09ae6e1fa3 
							
						 
					 
					
						
						
							
							Remove result.h InvalidHandle  
						
						... 
						
						
						
						It was only being used in two places, where it was replaced by a local
constant. 
						
					 
					
						2015-01-30 11:49:45 -02:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							d52d859936 
							
						 
					 
					
						
						
							
							Kernel: Convert Event to not use Handles  
						
						
						
					 
					
						2015-01-30 11:49:43 -02:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							ad80ff1e32 
							
						 
					 
					
						
						
							
							Kernel: Convert Timer to (mostly) not use Handles  
						
						
						
					 
					
						2015-01-30 11:47:07 -02:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							882b6fed75 
							
						 
					 
					
						
						
							
							Kernel: Convert Mutex to not use Handles  
						
						
						
					 
					
						2015-01-30 11:47:06 -02:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							38e7122f23 
							
						 
					 
					
						
						
							
							Kernel: Convert AddressArbiter to not use Handles  
						
						
						
					 
					
						2015-01-30 11:47:06 -02:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							d9b19be1d9 
							
						 
					 
					
						
						
							
							Kernel: Convert Semaphore to not use Handles  
						
						
						
					 
					
						2015-01-30 11:47:05 -02:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							4bb33dfc30 
							
						 
					 
					
						
						
							
							Kernel: Convert SharedMemory to not use Handles  
						
						
						
					 
					
						2015-01-30 11:47:04 -02:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							b5ee4f9df9 
							
						 
					 
					
						
						
							
							Move VAddr/PAddr typedefs to kernel.h  
						
						
						
					 
					
						2015-01-30 11:47:01 -02:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							9a345de2bd 
							
						 
					 
					
						
						
							
							Kernel: Remove useless/duplicated comments; mark functions static  
						
						
						
					 
					
						2015-01-30 11:47:01 -02:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							68ddaaa2f5 
							
						 
					 
					
						
						
							
							Thread: Fix WaitSynchronization1 to not set register 1 on thread wakeup.  
						
						
						
					 
					
						2015-01-21 20:48:46 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							4255f25647 
							
						 
					 
					
						
						
							
							Thread: Use std::find in CheckWait_WaitObject.  
						
						
						
					 
					
						2015-01-21 20:48:46 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							2f3020a102 
							
						 
					 
					
						
						
							
							Mutex: Cleanup and remove redundant code.  
						
						
						
					 
					
						2015-01-21 20:48:36 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							f09806aed2 
							
						 
					 
					
						
						
							
							Kernel: Renamed some functions for clarity.  
						
						... 
						
						
						
						- ReleaseNextThread->WakeupNextThread
- ReleaseAllWaitingThreads->WakeupAllWaitingThreads. 
						
					 
					
						2015-01-21 20:48:30 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							15b6a4d9ad 
							
						 
					 
					
						
						
							
							Kernel: Changed "ShouldWait" to return bool and "Acquire" to return void.  
						
						
						
					 
					
						2015-01-21 20:47:49 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							c68eb15695 
							
						 
					 
					
						
						
							
							WaitObject: Renamed "Wait" to "ShouldWait", made "ShouldWait" and "Acquire" pure virtual.  
						
						
						
					 
					
						2015-01-21 20:47:49 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							69c5830ef2 
							
						 
					 
					
						
						
							
							Event: Fix implementation of "non-sticky" events.  
						
						
						
					 
					
						2015-01-21 20:47:48 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							9e6ec3b6cd 
							
						 
					 
					
						
						
							
							Session: Change to a WaitObject.  
						
						
						
					 
					
						2015-01-21 20:47:47 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							d2759c578e 
							
						 
					 
					
						
						
							
							Kernel: Reschedule on SignalEvent and SendSyncRequest, fix some bugs.  
						
						
						
					 
					
						2015-01-21 20:47:47 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							dde02f79af 
							
						 
					 
					
						
						
							
							Mutex: Fix a bug where the thread should not wait if it already has the mutex.  
						
						
						
					 
					
						2015-01-21 20:47:46 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							9412996c8f 
							
						 
					 
					
						
						
							
							Kernel: Moved Wait and Acquire to WaitObject, added way to retrieve a WaitObject safely.  
						
						
						
					 
					
						2015-01-21 20:47:46 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							254e4ebd58 
							
						 
					 
					
						
						
							
							AddressArbiter: Changed to Kernel::Object, big cleanup, removed code that made no sense.  
						
						
						
					 
					
						2015-01-21 20:47:45 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							e5a9f1c644 
							
						 
					 
					
						
						
							
							Kernel: Get rid of WaitTypes and simplify lots of code, removing hacks.  
						
						
						
					 
					
						2015-01-21 20:47:38 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							6643673f28 
							
						 
					 
					
						
						
							
							WaitSynchronizationN: Refactor to fix several bugs  
						
						... 
						
						
						
						- Separate wait checking from waiting the current thread
- Resume thread when wait_all=true only if all objects are available at once
- Set output to correct wait object index when there are duplicate handles 
						
					 
					
						2015-01-21 19:11:47 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							aa01c57ae9 
							
						 
					 
					
						
						
							
							Kernel: Separate WaitSynchronization into Wait and Acquire methods.  
						
						
						
					 
					
						2015-01-21 19:10:24 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							7faf2d8e06 
							
						 
					 
					
						
						
							
							WaitSynchronizationN: Implement return values  
						
						
						
					 
					
						2015-01-21 19:09:03 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							e4a5d8ad4f 
							
						 
					 
					
						
						
							
							Event: Fixed some bugs and cleanup (Subv)  
						
						
						
					 
					
						2015-01-21 18:43:50 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							1f7a04f05a 
							
						 
					 
					
						
						
							
							Thread: Keep track of multiple wait objects.  
						
						
						
					 
					
						2015-01-21 18:42:04 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							14cbbf4d9b 
							
						 
					 
					
						
						
							
							Event: Get rid of permanent_lock hack.  
						
						
						
					 
					
						2015-01-21 18:42:04 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							5e77e2e1de 
							
						 
					 
					
						
						
							
							WaitObject: Added RemoveWaitingThread, fixed a bug, and cleanup.  
						
						
						
					 
					
						2015-01-21 18:41:58 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							c22bac6398 
							
						 
					 
					
						
						
							
							Kernel: Added WaitObject and changed "waitable" objects inherit from it.  
						
						
						
					 
					
						2015-01-21 18:41:00 -05:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							a3f5e5605c 
							
						 
					 
					
						
						
							
							core: Fix a few docstrings  
						
						
						
					 
					
						2015-01-20 13:52:44 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							9e2ae289b8 
							
						 
					 
					
						
						
							
							AddrArbiter: Implement arbitration types 3 and 4.  
						
						
						
					 
					
						2015-01-13 14:49:26 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							542b0b0057 
							
						 
					 
					
						
						
							
							Merge pull request  #466  from Subv/wake  
						
						... 
						
						
						
						Thread: Prevent waking a thread multiple times. 
						
					 
					
						2015-01-11 13:39:23 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							b68d51ed30 
							
						 
					 
					
						
						
							
							Thread: Prevent waking a thread multiple times.  
						
						... 
						
						
						
						If a thread was woken up by something, cancel the wakeup timeout. 
						
					 
					
						2015-01-11 13:18:52 -05:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							8ad41775cc 
							
						 
					 
					
						
						
							
							Kernel: Start using boost::intrusive_ptr for lifetime management  
						
						
						
					 
					
						2015-01-09 19:43:52 -02:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							d751de7341 
							
						 
					 
					
						
						
							
							Kernel: Don't re-assign object's handle when duplicating one  
						
						
						
					 
					
						2015-01-09 19:43:51 -02:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							78ea76e12f 
							
						 
					 
					
						
						
							
							Thread: Fix nullptr access in a logging function  
						
						
						
					 
					
						2015-01-09 04:02:28 -02:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							7f1557fbbd 
							
						 
					 
					
						
						
							
							Thread: Rename thread_queue => thread_list  
						
						
						
					 
					
						2015-01-09 04:02:17 -02:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							9bf8462b96 
							
						 
					 
					
						
						
							
							Thread: Reduce use of Handles and move some funcs to inside the class.  
						
						
						
					 
					
						2015-01-09 04:02:15 -02:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							ba72208cd4 
							
						 
					 
					
						
						
							
							Kernel: Move Thread's definition to the header file  
						
						
						
					 
					
						2015-01-09 03:51:55 -02:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							7b3452c730 
							
						 
					 
					
						
						
							
							Move ThreadContext to core/core.h and deal with the fallout  
						
						
						
					 
					
						2015-01-09 03:51:55 -02:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							d46f650036 
							
						 
					 
					
						
						
							
							Merge pull request  #255  from Subv/cbranch_3  
						
						... 
						
						
						
						Implemented timers 
						
					 
					
						2015-01-08 22:38:33 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							07044651ef 
							
						 
					 
					
						
						
							
							SVC: Implemented the Timer service calls.  
						
						
						
					 
					
						2015-01-08 21:22:14 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							dfc440785a 
							
						 
					 
					
						
						
							
							SVC: Fixed SleepThread.  
						
						... 
						
						
						
						It will now properly wait the specified number of nanoseconds and then wake up the thread. 
						
					 
					
						2015-01-08 18:39:12 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							60a373a786 
							
						 
					 
					
						
						
							
							Threads: Use a dummy idle thread when no other are ready.  
						
						... 
						
						
						
						This thread will not actually execute instructions, it will only advance the timing/events and try to yield immediately to the next ready thread, if there aren't any ready threads then it will be rescheduled and start its job again. 
						
					 
					
						2015-01-07 20:31:31 -05:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							122c2bb324 
							
						 
					 
					
						
						
							
							Common: Clean up ThreadQueueList  
						
						... 
						
						
						
						Replace all the C-style complicated buffer management with a std::deque.
In addition to making the code easier to understand it also adds support
for non-POD IdTypes.
Also clean the rest of the code to follow our code style. 
						
					 
					
						2015-01-07 18:38:25 -02:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							cc23269ff4 
							
						 
					 
					
						
						
							
							Merge pull request  #407  from Subv/arbiter  
						
						... 
						
						
						
						AddressArbiter: Ported arbitration type 2 from 3dmoo. 
						
					 
					
						2015-01-05 00:05:50 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							ea80363cc2 
							
						 
					 
					
						
						
							
							Mutex: Add the calling thread to the waiting list when needed  
						
						... 
						
						
						
						This will happen when the mutex is already owned by another thread. Should fix some issues with games being stuck due to waiting threads not being awoken. 
						
					 
					
						2015-01-04 12:52:34 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							0276a75f24 
							
						 
					 
					
						
						
							
							AddressArbiter: Ported arbitration type 2 from 3dmoo.  
						
						... 
						
						
						
						(Thanks 3dmoo!) 
						
					 
					
						2015-01-03 12:09:11 -05:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							7e2903cb74 
							
						 
					 
					
						
						
							
							Kernel: New handle manager  
						
						... 
						
						
						
						This handle manager more closely mirrors the behaviour of the CTR-OS
one. In addition object ref-counts and support for DuplicateHandle have
been added.
Note that support for DuplicateHandle is still experimental, since parts
of the kernel still use Handles internally, which will likely cause
troubles if two different handles to the same object are used to e.g.
wait on a synchronization primitive. 
						
					 
					
						2014-12-28 11:52:55 -02:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							23f2142009 
							
						 
					 
					
						
						
							
							Kernel: Replace GetStaticHandleType by HANDLE_TYPE constants  
						
						
						
					 
					
						2014-12-28 11:52:53 -02:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							73fba22c01 
							
						 
					 
					
						
						
							
							Rename ObjectPool to HandleTable  
						
						
						
					 
					
						2014-12-28 11:52:52 -02:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							0de6a08d75 
							
						 
					 
					
						
						
							
							Merge pull request  #291  from purpasmart96/license  
						
						... 
						
						
						
						License change 
						
					 
					
						2014-12-21 16:05:44 -05:00 
						 
				 
			
				
					
						
							
							
								purpasmart96 
							
						 
					 
					
						
						
						
						
							
						
						
							ebfd831ccb 
							
						 
					 
					
						
						
							
							License change  
						
						
						
					 
					
						2014-12-20 21:20:24 -08:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							4fcdbed9f6 
							
						 
					 
					
						
						
							
							Thread: Wait current thread on svc_SleepThread  
						
						... 
						
						
						
						- Removed unused VBLANK sleep mode
- Added error log for bad context switch
- Renamed VerifyWait to CheckWaitType to be more clear 
						
					 
					
						2014-12-20 23:20:19 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							2e5869c939 
							
						 
					 
					
						
						
							
							Merge pull request  #316  from yuriks/thread-handle  
						
						... 
						
						
						
						Kernel: Implement support for current thread pseudo-handle 
						
					 
					
						2014-12-20 16:36:01 -05:00 
						 
				 
			
				
					
						
							
							
								Chin 
							
						 
					 
					
						
						
						
						
							
						
						
							e795692614 
							
						 
					 
					
						
						
							
							Clean up some warnings  
						
						
						
					 
					
						2014-12-20 10:03:36 -05:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							adee775f44 
							
						 
					 
					
						
						
							
							Kernel: Implement support for current thread pseudo-handle  
						
						... 
						
						
						
						This boots a few (mostly Nintendo 1st party) games further. 
						
					 
					
						2014-12-20 03:27:47 -02:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							7bae450379 
							
						 
					 
					
						
						
							
							Merge pull request  #185  from purpasmart96/mem_perm  
						
						... 
						
						
						
						Kernel: Add missing permissions 
						
					 
					
						2014-12-17 20:56:04 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							ea9ce0fba7 
							
						 
					 
					
						
						
							
							Filesystem/Archives: Implemented the SaveData archive  
						
						... 
						
						
						
						The savedata for each game is stored in /savedata/<ProgramID> for NCCH files. ELF files and 3DSX files use the folder 0 because they have no ID information
Got rid of the code duplication in File and Directory
Files that deal with the host machine's file system now live in DiskFile, similarly for directories and DiskDirectory and archives with DiskArchive.
FS_U: Use the correct error code when a file wasn't found 
						
					 
					
						2014-12-17 19:21:38 -05:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							ca67bb7945 
							
						 
					 
					
						
						
							
							HLE: Rename namespaces to match move & fix initialization order  
						
						
						
					 
					
						2014-12-16 01:08:38 -02:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							c72ccfa6db 
							
						 
					 
					
						
						
							
							HLE: Move kernel/archive.* to service/fs/  
						
						
						
					 
					
						2014-12-16 01:08:14 -02:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							e321decf98 
							
						 
					 
					
						
						
							
							Remove SyncRequest from K::Object and create a new K::Session type  
						
						... 
						
						
						
						This is a first step at fixing the conceptual insanity that is our
handling of service and IPC calls. For now, interfaces still directly
derived from Session because we don't have the infrastructure to do it
properly. (That is, Processes and scheduling them.) 
						
					 
					
						2014-12-15 18:26:17 -02:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							ea95876431 
							
						 
					 
					
						
						
							
							Kernel/Semaphore: Small style change  
						
						
						
					 
					
						2014-12-13 13:40:19 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							effb181888 
							
						 
					 
					
						
						
							
							Kernel/Semaphores: Invert the available count checking.  
						
						... 
						
						
						
						Same semantics, idea by @yuriks 
						
					 
					
						2014-12-13 13:40:18 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							5e25986235 
							
						 
					 
					
						
						
							
							Kernel/Semaphores: Addressed some issues.  
						
						
						
					 
					
						2014-12-13 13:40:16 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							cc81a510e3 
							
						 
					 
					
						
						
							
							Semaphore: Removed an unneeded function  
						
						
						
					 
					
						2014-12-13 13:40:15 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							61434651d8 
							
						 
					 
					
						
						
							
							Semaphores: Addressed some style issues  
						
						
						
					 
					
						2014-12-13 13:40:13 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							abff4a7ee2 
							
						 
					 
					
						
						
							
							Semaphore: Implemented the initial_count parameter.  
						
						
						
					 
					
						2014-12-13 13:40:12 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							49b31badba 
							
						 
					 
					
						
						
							
							SVC: Implemented ReleaseSemaphore.  
						
						... 
						
						
						
						This behavior was tested on hardware, however i'm still not sure what use the "initial_count" parameter has 
						
					 
					
						2014-12-13 13:40:10 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							82c84883a5 
							
						 
					 
					
						
						
							
							SVC: Implemented svcCreateSemaphore  
						
						... 
						
						
						
						ToDo: Implement svcReleaseSemaphore
* Some testing against hardware needed 
						
					 
					
						2014-12-13 13:40:09 -05:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							cfc0ee9c60 
							
						 
					 
					
						
						
							
							kernel: Remove unused log arguments  
						
						
						
					 
					
						2014-12-13 10:15:58 -05:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							0600e2d8b5 
							
						 
					 
					
						
						
							
							Convert old logging calls to new logging macros  
						
						
						
					 
					
						2014-12-13 02:08:02 -02:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							3a75c8069e 
							
						 
					 
					
						
						
							
							Merge pull request  #256  from Subv/mutex  
						
						... 
						
						
						
						Kernel/Mutex: Properly lock the mutex when a thread enters it 
						
					 
					
						2014-12-10 22:52:55 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							dd203f7068 
							
						 
					 
					
						
						
							
							Thread: Fixed to wait on address when in arbitration.  
						
						
						
					 
					
						2014-12-08 19:44:10 -05:00 
						 
				 
			
				
					
						
							
							
								archshift 
							
						 
					 
					
						
						
						
						
							
						
						
							20d2ed0950 
							
						 
					 
					
						
						
							
							Make OpenDirectory fail if the directory doesn't exist  
						
						... 
						
						
						
						This is in line with what the hardware itself does.
It does this by splitting the initial directory opening into Directory.Open(), which will return false if a stat fails.
Then, Archive::OpenDirectory will return nullptr, and archive.cpp will return an error code . 
						
					 
					
						2014-12-07 14:47:14 -08:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							bc318c464b 
							
						 
					 
					
						
						
							
							Mutex: Remove some forward declarations  
						
						... 
						
						
						
						Moved Mutex::WaitSynchronization to the end of the file. 
						
					 
					
						2014-12-07 15:57:28 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							64128aa61a 
							
						 
					 
					
						
						
							
							Mutex: Release all held mutexes when a thread exits.  
						
						
						
					 
					
						2014-12-07 15:44:21 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							e3c8e4901c 
							
						 
					 
					
						
						
							
							Mutex: Properly lock the mutex when a thread enters it  
						
						... 
						
						
						
						Also resume only the next immediate thread waiting for the mutex when it is released, instead of resuming them all. 
						
					 
					
						2014-12-05 23:40:43 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							17fae11fc7 
							
						 
					 
					
						
						
							
							Merge pull request  #250  from Subv/cbranch_2  
						
						... 
						
						
						
						SVC: Implemented GetThreadId. 
						
					 
					
						2014-12-04 22:15:03 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							5056329a80 
							
						 
					 
					
						
						
							
							Merge pull request  #222  from archshift/renamexyz  
						
						... 
						
						
						
						Implemented RenameFile and RenameDirectory in FS:USER 
						
					 
					
						2014-12-04 22:07:47 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							6fac2bf0ab 
							
						 
					 
					
						
						
							
							Threads: Remove a redundant function.  
						
						... 
						
						
						
						Use the next_thread_id variable directly. 
						
					 
					
						2014-12-04 14:59:56 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							ef1d5cda06 
							
						 
					 
					
						
						
							
							Threads: Implemented a sequential thread id  
						
						
						
					 
					
						2014-12-04 08:13:53 -05:00 
						 
				 
			
				
					
						
							
							
								archshift 
							
						 
					 
					
						
						
						
						
							
						
						
							139a4d91d9 
							
						 
					 
					
						
						
							
							Updated archive.cpp functions for proper error handling  
						
						
						
					 
					
						2014-12-03 22:50:44 -08:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							029ff9f1fd 
							
						 
					 
					
						
						
							
							SVC: Implemented GetThreadId.  
						
						... 
						
						
						
						For now threads are using their Handle value as their Id, it should not really cause any problems because Handle values are unique in Citra, but it should be changed. I left a ToDo there because this is not correct behavior as per hardware. 
						
					 
					
						2014-12-04 00:25:35 -05:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							208598dbe2 
							
						 
					 
					
						
						
							
							kernel: Shorten GetCount  
						
						
						
					 
					
						2014-12-03 22:52:02 -05:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							9b68d5e074 
							
						 
					 
					
						
						
							
							kernel: Make some functions const  
						
						
						
					 
					
						2014-12-03 19:48:34 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							e3d1ffff4b 
							
						 
					 
					
						
						
							
							Merge pull request  #225  from bunnei/fix-release-mutex  
						
						... 
						
						
						
						Mutex: Changed behavior to always release mutex for all threads. 
						
					 
					
						2014-11-30 08:47:49 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							de851ba1a1 
							
						 
					 
					
						
						
							
							Thread: Check that thread is actually in "wait state" when verifying wait.  
						
						
						
					 
					
						2014-11-26 15:04:08 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							a449e0e11a 
							
						 
					 
					
						
						
							
							Mutex: Changed behavior to always release mutex for all threads.  
						
						
						
					 
					
						2014-11-26 14:38:42 -05:00 
						 
				 
			
				
					
						
							
							
								archshift 
							
						 
					 
					
						
						
						
						
							
						
						
							e5ff01c2cd 
							
						 
					 
					
						
						
							
							Implemented RenameDirectory in FS:USER  
						
						
						
					 
					
						2014-11-24 15:09:12 -08:00 
						 
				 
			
				
					
						
							
							
								archshift 
							
						 
					 
					
						
						
						
						
							
						
						
							45afc15aa6 
							
						 
					 
					
						
						
							
							Implemented RenameFile in FS:USER  
						
						
						
					 
					
						2014-11-24 15:09:11 -08:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							8189593255 
							
						 
					 
					
						
						
							
							Use pointers instead of passing handles around in some functions.  
						
						
						
					 
					
						2014-11-24 17:08:37 -02:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							22c86824a4 
							
						 
					 
					
						
						
							
							Remove duplicated docs/update them for changed parameters.  
						
						
						
					 
					
						2014-11-24 17:08:36 -02:00 
						 
				 
			
				
					
						
							
							
								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 
						 
				 
			
				
					
						
							
							
								purpasmart96 
							
						 
					 
					
						
						
						
						
							
						
						
							66431bceda 
							
						 
					 
					
						
						
							
							Kernel:Add missing permissions in shared memory & svc  
						
						
						
					 
					
						2014-11-18 15:57:25 -08: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 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							780a443b08 
							
						 
					 
					
						
						
							
							Mutex: Moved ReleaseMutex iterator declaration to be inside while loop.  
						
						
						
					 
					
						2014-06-13 09:51:11 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							8cac527c94 
							
						 
					 
					
						
						
							
							Kernel: Updated several member functions to be const  
						
						
						
					 
					
						2014-06-13 09:51:10 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							b774b8b04e 
							
						 
					 
					
						
						
							
							Thread: Fixed bug with ResetThread where cpu_registers[15] was being incorrectly set  
						
						
						
					 
					
						2014-06-13 09:51:08 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							aae9fcf4a4 
							
						 
					 
					
						
						
							
							Kernel: Made SyncRequest not pure virtual, with a default implementation of error (as this is not required for all kernel objects)  
						
						
						
					 
					
						2014-06-13 09:51:08 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							f5c7c15434 
							
						 
					 
					
						
						
							
							Kernel: Added real support for thread and event blocking  
						
						... 
						
						
						
						- SVC: Added ExitThread support
- SVC: Added SignalEvent support
- Thread: Added WAITTYPE_EVENT for waiting threads for event signals
- Thread: Added support for blocking on other threads to finish (e.g. Thread::Join)
- Thread: Added debug function for printing current threads ready for execution
- Thread: Removed hack/broken thread ready state code from Kernel::Reschedule
- Mutex: Moved WaitCurrentThread from SVC to Mutex::WaitSynchronization
- Event: Added support for blocking threads on event signalling
Kernel: Added missing algorithm #include for use of std::find on non-Windows platforms. 
						
					 
					
						2014-06-13 09:51:02 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							ce1c561278 
							
						 
					 
					
						
						
							
							kernel: changed current default thread priority back to 0x30 - I think this is more correct  
						
						
						
					 
					
						2014-06-05 00:20:58 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							b78aff8585 
							
						 
					 
					
						
						
							
							svc: added optional name field to Event and Mutex (used for debugging)  
						
						
						
					 
					
						2014-06-02 20:38:34 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							8c0f02a70c 
							
						 
					 
					
						
						
							
							kernel: moved position of * for GetTypeName and GetName  
						
						
						
					 
					
						2014-06-02 20:36:58 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							3fb31fbc57 
							
						 
					 
					
						
						
							
							svc: added GetThreadPriority and SetThreadPriority, added (incomplete) DuplicateHandle support  
						
						
						
					 
					
						2014-06-01 22:12:54 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							10447d1f48 
							
						 
					 
					
						
						
							
							kernel: changed main thread priority to default, updated Kernel::Reschedule to use PrepareReschedule  
						
						
						
					 
					
						2014-06-01 21:42:50 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							ba98e25e97 
							
						 
					 
					
						
						
							
							thread: updated Reschedule to sit at a synchronization barrier when no other threads are ready for execution  
						
						
						
					 
					
						2014-06-01 10:35:42 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							f7cececc5c 
							
						 
					 
					
						
						
							
							event: added a hackish ability to set an event as "locked" to its current state, cleaned up some comments  
						
						
						
					 
					
						2014-06-01 10:33:55 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							d8a2c8c657 
							
						 
					 
					
						
						
							
							mutex: fixed typo in ReleaseMutex  
						
						
						
					 
					
						2014-05-29 23:31:01 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							d51c84dde2 
							
						 
					 
					
						
						
							
							event: added support for ClearEvent, fixed a bug with CreateEvent, fixed some comments  
						
						
						
					 
					
						2014-05-29 20:00:44 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							2ed6652f10 
							
						 
					 
					
						
						
							
							mutex: added preliminary SyncRequest/WaitSynchronization, added some comments/assertions  
						
						
						
					 
					
						2014-05-27 22:42:16 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							ea8627d536 
							
						 
					 
					
						
						
							
							event: fixed typos and updated CMakeLists  
						
						
						
					 
					
						2014-05-27 22:14:38 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							beea6f054a 
							
						 
					 
					
						
						
							
							event: added SetEventLocked method to change status an events lock  
						
						
						
					 
					
						2014-05-27 22:14:00 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							fd69fd0325 
							
						 
					 
					
						
						
							
							kernel: added event module to support creation of CTR "Event" objects  
						
						
						
					 
					
						2014-05-27 20:16:13 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							d493d725ac 
							
						 
					 
					
						
						
							
							mutex: removed docstring comment that is no longer relevant  
						
						
						
					 
					
						2014-05-26 22:49:11 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							93cd5a0691 
							
						 
					 
					
						
						
							
							mutex: added additional docstrings  
						
						
						
					 
					
						2014-05-26 22:47:47 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							a432dc8f39 
							
						 
					 
					
						
						
							
							kernel: added WaitSynchronization method to Kernel::Object  
						
						
						
					 
					
						2014-05-26 22:17:49 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							58a3adcdd2 
							
						 
					 
					
						
						
							
							kernel: updated SyncRequest to take boolean thread wait result as a parameter  
						
						
						
					 
					
						2014-05-26 22:12:46 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							3d7693f75f 
							
						 
					 
					
						
						
							
							kernel: added enum for known CurrentThread and CurrentProcess handles  
						
						
						
					 
					
						2014-05-26 21:56:23 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							d73d782ba7 
							
						 
					 
					
						
						
							
							kernel: add a SyncRequest method to KernelObject for use with svcSendSyncRequest  
						
						
						
					 
					
						2014-05-26 21:01:27 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							b99ac2c3d6 
							
						 
					 
					
						
						
							
							thread: renamed "WaitCurThread" to "WaitCurrentThread", removed unused "reason" argument  
						
						
						
					 
					
						2014-05-22 19:36:56 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							7c0b006076 
							
						 
					 
					
						
						
							
							thread: removed unused SwitchContext/Reschedule reason field, added missing arg parameter to SVC CreateThread  
						
						
						
					 
					
						2014-05-22 19:32:45 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							d26f3d4c1f 
							
						 
					 
					
						
						
							
							kernel: refactored function naming to remove "__" prefix  
						
						
						
					 
					
						2014-05-22 19:06:12 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							14bd37c5dc 
							
						 
					 
					
						
						
							
							thread: moved ThreadStatus/WaitType to header, added support for arg on CreateThread, added correct CPSR reset  
						
						
						
					 
					
						2014-05-22 18:50:36 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							6a78be5930 
							
						 
					 
					
						
						
							
							thread: fixed bug where result of __NextThread was not being properly checked when NULL  
						
						
						
					 
					
						2014-05-21 21:42:18 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							eb537c560a 
							
						 
					 
					
						
						
							
							mutex: refactored the interface to code to return a Mutex* handle  
						
						
						
					 
					
						2014-05-20 23:23:58 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							978e1d4653 
							
						 
					 
					
						
						
							
							mutex: initial commit of HLE module  
						
						
						
					 
					
						2014-05-20 23:03:45 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							1c5802c35a 
							
						 
					 
					
						
						
							
							kernel: fixed include, in general include "common.h" not "common_types.h"  
						
						
						
					 
					
						2014-05-20 22:27:46 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							203541da11 
							
						 
					 
					
						
						
							
							thread: added correct lowest thread priority, added a thread priority check, and added some comments  
						
						
						
					 
					
						2014-05-20 21:02:35 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							bed4e920fa 
							
						 
					 
					
						
						
							
							thread: exposed ResumeThreadFromWait function for use in other kernel modules  
						
						
						
					 
					
						2014-05-20 21:00:10 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							75c6d2a8fa 
							
						 
					 
					
						
						
							
							thread: moved threading calls to the Kernel namespace  
						
						
						
					 
					
						2014-05-20 19:37:46 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							49dc2ce8ac 
							
						 
					 
					
						
						
							
							ARM_Interface: added SaveContext and LoadContext functions for HLE thread switching  
						
						
						
					 
					
						2014-05-20 18:50:16 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							143bba2045 
							
						 
					 
					
						
						
							
							renamed "syscall" module to "svc" (more accurate naming)  
						
						
						
					 
					
						2014-05-20 18:28:38 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							f654a03f1f 
							
						 
					 
					
						
						
							
							thread: whitespace change - fixed * and & placement  
						
						
						
					 
					
						2014-05-20 18:20:35 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							44336329ed 
							
						 
					 
					
						
						
							
							- created a Kernel namespace  
						
						... 
						
						
						
						- cleaned up Kernel code a bit (moved stuff into namespace, fixed whitespace issues)
- added handle types for all different CTROS handles 
						
					 
					
						2014-05-20 18:13:25 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							f5a119a367 
							
						 
					 
					
						
						
							
							thread: added declaration for __KernelReschedule to be used by syscall module  
						
						
						
					 
					
						2014-05-19 22:19:48 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							eab6fd01d7 
							
						 
					 
					
						
						
							
							- updated service(s) to be KernelObject's  
						
						... 
						
						
						
						- various cleanups 
						
					 
					
						2014-05-18 21:43:29 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							772abad778 
							
						 
					 
					
						
						
							
							- moved Handle/Result definitions to kernel.h  
						
						... 
						
						
						
						- added ResetType enum 
						
					 
					
						2014-05-18 18:12:29 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							09b8e8fb6a 
							
						 
					 
					
						
						
							
							changed a comment  
						
						
						
					 
					
						2014-05-17 13:47:55 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							14ae026386 
							
						 
					 
					
						
						
							
							- added enum ThreadProcessorId  
						
						... 
						
						
						
						- reorganized some kernel thread functions
- added placeholder __KernelWaitThread_Synchronization function 
						
					 
					
						2014-05-17 00:56:00 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							7cdb705059 
							
						 
					 
					
						
						
							
							- replaced KERNELOBJECT_MAX_NAME_LENGTH with KERNEL_MAX_NAME_LENGTH  
						
						... 
						
						
						
						- added KERNEL_DEFAULT_STACK_SIZE definition (0x4000) 
						
					 
					
						2014-05-16 23:48:15 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							940330c6e1 
							
						 
					 
					
						
						
							
							completely gutted/refactored threading code to be simpler  
						
						
						
					 
					
						2014-05-15 18:27:08 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							a7cc430aa4 
							
						 
					 
					
						
						
							
							changed "UID" to "Handle" to be a little more consistent with CTR naming  
						
						
						
					 
					
						2014-05-15 18:26:28 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							b99a5da65b 
							
						 
					 
					
						
						
							
							- added helper function for __KernelCreateThread  
						
						... 
						
						
						
						- added __KernelSwitchToThread for enabling a thread
- added __KernelRotateThreadReadyQueue 
						
					 
					
						2014-05-14 20:50:30 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							9f5588725c 
							
						 
					 
					
						
						
							
							changed primary thread priority to 0x30 - this is typical, not 0x31  
						
						
						
					 
					
						2014-05-14 20:49:27 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							0de78eb3c4 
							
						 
					 
					
						
						
							
							fixed thread reset to not set stack address  
						
						
						
					 
					
						2014-05-13 23:18:28 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							7d078189da 
							
						 
					 
					
						
						
							
							various cleanups / remove unused code  
						
						
						
					 
					
						2014-05-13 22:29:31 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							3838d46b90 
							
						 
					 
					
						
						
							
							added a bunch of threading code, recycled from PPSSPP, with lots of hacks in for 3DS... doesn't really do much yet. Just a jumping off point  
						
						
						
					 
					
						2014-05-13 22:00:11 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							1583d2b6f3 
							
						 
					 
					
						
						
							
							- added __KernelLoadExec function  
						
						... 
						
						
						
						- fixed some logging 
						
					 
					
						2014-05-13 21:57:12 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							6b264518a5 
							
						 
					 
					
						
						
							
							added initial kernel/thread modules  
						
						
						
					 
					
						2014-05-09 22:11:18 -04:00