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