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