Sebastian Valle 
							
						 
					 
					
						
						
						
						
							
						
						
							56d718b2a1 
							
						 
					 
					
						
						
							
							Merge pull request  #2793  from Subv/replyandreceive  
						
						... 
						
						
						
						Kernel/SVC: Partially implemented svcReplyAndReceive 
						
						
					 
					
						2017-06-29 17:05:22 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							b53fa9514f 
							
						 
					 
					
						
						
							
							Kernel/SVC: Pass the current thread as a parameter to ClientSession::SendSyncRequest.  
						
						
						
						
					 
					
						2017-06-29 12:30:34 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							c3c9175a1c 
							
						 
					 
					
						
						
							
							Kernel/Sessions: Clean up the list of pending request threads of a session when the client endpoint is closed.  
						
						
						
						
					 
					
						2017-06-25 23:38:29 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							8feeb81af2 
							
						 
					 
					
						
						
							
							Kernel/ServerSession: Keep track of which threads have issued sync requests.  
						
						
						
						
					 
					
						2017-06-25 14:47:25 -05:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							e192d417ec 
							
						 
					 
					
						
						
							
							Kernel: Implement AcceptSession SVC  
						
						
						
						
					 
					
						2017-06-23 11:26:37 -07:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							326e7c7020 
							
						 
					 
					
						
						
							
							Memory: Make PhysicalToVirtualAddress return a boost::optional  
						
						... 
						
						
						
						And fix a few places in the code to take advantage of that. 
						
						
					 
					
						2017-06-21 22:55:17 -07:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							f64d0b3f26 
							
						 
					 
					
						
						
							
							Kernel/IPC: Support translation of null handles  
						
						... 
						
						
						
						Missed this in my first implementation. Thanks to @wwylele for pointing
out that this was missing. 
						
						
					 
					
						2017-06-21 14:27:03 -07:00 
						 
				 
			
				
					
						
							
							
								Weiyi Wang 
							
						 
					 
					
						
						
						
						
							
						
						
							c4f0927a62 
							
						 
					 
					
						
						
							
							Merge pull request  #2789  from yuriks/misc-kernel  
						
						... 
						
						
						
						Trivial no-op additions 
						
						
					 
					
						2017-06-21 20:34:12 +03:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							b21dfbb295 
							
						 
					 
					
						
						
							
							Merge pull request  #2790  from yuriks/remove-movefrom  
						
						... 
						
						
						
						Remove ResultVal::MoveFrom 
						
						
					 
					
						2017-06-20 22:04:09 -07:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							723dc644fa 
							
						 
					 
					
						
						
							
							ResultVal: Remove MoveFrom()  
						
						... 
						
						
						
						Replace it with std::move(result_val).Unwrap(), or Foo().Unwrap() in
case you already have an rvalue. 
						
						
					 
					
						2017-06-18 19:03:15 -07:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							90b8d4dd36 
							
						 
					 
					
						
						
							
							Kernel: Add comment about the extended linear heap area  
						
						
						
						
					 
					
						2017-06-18 18:38:40 -07:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							0dfafdbe59 
							
						 
					 
					
						
						
							
							Kernel/IPC: Make HLERequestContext usable from outside kernel  
						
						
						
						
					 
					
						2017-06-18 16:05:12 -07:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							d8f6000f54 
							
						 
					 
					
						
						
							
							Kernel/IPC: Use boost::small_vector for HLE context objects  
						
						
						
						
					 
					
						2017-06-11 16:34:13 -07:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							92ca422088 
							
						 
					 
					
						
						
							
							Kernel: Allow clearing request_objects to re-use buffer space  
						
						... 
						
						
						
						Reduces the necessary allocation to max(in_handles, out_handles) rather
than (in_handles + out_handles). 
						
						
					 
					
						2017-06-11 13:10:21 -07:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							8cb65fe65a 
							
						 
					 
					
						
						
							
							Kernel: Basic support for IPC translation for HLE services  
						
						
						
						
					 
					
						2017-06-11 13:10:21 -07:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							05fee70211 
							
						 
					 
					
						
						
							
							Kernel: Add methods in HLERequestContext abstracting handle creation  
						
						
						
						
					 
					
						2017-06-11 13:07:33 -07:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							20e5abb308 
							
						 
					 
					
						
						
							
							ServiceFramework: Use separate copy of command buffer  
						
						... 
						
						
						
						Copy the IPC command buffer to/from the request context before/after the
handler is invoked. This is part of a move away from using global data
for handling IPC requests. 
						
						
					 
					
						2017-06-11 13:07:33 -07:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							78398d0978 
							
						 
					 
					
						
						
							
							Merge pull request  #2756  from yuriks/service-framework  
						
						... 
						
						
						
						New service framework 
						
						
					 
					
						2017-06-08 21:03:03 -07:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							838faf147e 
							
						 
					 
					
						
						
							
							Session: Remove/add some forward declarations  
						
						
						
						
					 
					
						2017-06-08 00:33:57 -07:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							d666e01cdf 
							
						 
					 
					
						
						
							
							Kernel: Ensure objects are kept alive during ClientSession disconnection  
						
						... 
						
						
						
						Fixes  #2760  
					
						2017-06-08 00:33:24 -07:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							84c497292a 
							
						 
					 
					
						
						
							
							Service: Add new ServiceFramework framework for writing HLE services  
						
						... 
						
						
						
						The old "Interface" class had a few problems such as using free
functions (Which didn't allow you to write the service handler as if it
were a regular class.) which weren't very extensible. (Only received one
parameter with a pointer to the Interface object.)
The new ServiceFramework aims to solve these problems by working with
member functions and passing a generic context struct as parameter. This
struct can be extended in the future without having to update all
existing service implementations. 
						
						
					 
					
						2017-06-08 00:11:37 -07:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							6dc133c24a 
							
						 
					 
					
						
						
							
							Kernel: Remove some unnecessary namespace qualifications  
						
						
						
						
					 
					
						2017-06-06 14:51:42 -07:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							6354d08359 
							
						 
					 
					
						
						
							
							Kernel: Add a dedicated SetHleHandler method to ServerPort/ServerSession  
						
						... 
						
						
						
						This allows attaching a HLE handle to a ServerPort at any point after it
is created, allowing port/session creation to be generic between HLE and
regular services. 
						
						
					 
					
						2017-06-06 02:56:32 -07:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							e626a520ca 
							
						 
					 
					
						
						
							
							HLE: Move SessionRequestHandler from Service:: to Kernel::  
						
						... 
						
						
						
						Most of the code that works with this is or will be in the kernel, so
it's a more appropriate place for it to be. 
						
						
					 
					
						2017-06-05 23:40:11 -07:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							be031989ee 
							
						 
					 
					
						
						
							
							Kernel: Move HandleTable to a separate file  
						
						
						
						
					 
					
						2017-05-29 17:34:39 -07:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							64ecf81a3c 
							
						 
					 
					
						
						
							
							Kernel: Move WaitObject to a separate file  
						
						... 
						
						
						
						Now that HandleTable doesn't directly depend on WaitObject anymore, this
can be separated from the main kernel.h header. 
						
						
					 
					
						2017-05-29 16:16:46 -07:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							9453223075 
							
						 
					 
					
						
						
							
							Kernel: Removed HandleTable::GetWaitObject  
						
						... 
						
						
						
						This isn't necessary anymore since plain Get works correctly for
WaitObjects. 
						
						
					 
					
						2017-05-29 15:10:06 -07:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							b17754f998 
							
						 
					 
					
						
						
							
							Kernel: Extract dynamic Object pointer cast into its own function  
						
						
						
						
					 
					
						2017-05-29 14:42:27 -07:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							2cdb40d709 
							
						 
					 
					
						
						
							
							Kernel: Centralize error definitions in errors.h  
						
						
						
						
					 
					
						2017-05-24 21:06:00 -07:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							cc566dadd8 
							
						 
					 
					
						
						
							
							Merge pull request  #2406  from Subv/session_disconnect  
						
						... 
						
						
						
						Kernel: Properly update port counters on session disconnection. 
						
						
					 
					
						2017-05-21 17:18:16 -07:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							37347bfa38 
							
						 
					 
					
						
						
							
							Kernel/Sessions: Remove the ClientSession::Create function.  
						
						... 
						
						
						
						It is not meant to be used by anything other than CreateSessionPair. 
						
						
					 
					
						2017-05-21 18:52:42 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							ce5bc477ca 
							
						 
					 
					
						
						
							
							Kernel: Remove a now unused enum and variable regarding a session's status.  
						
						
						
						
					 
					
						2017-05-15 11:22:16 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							ddfabf3133 
							
						 
					 
					
						
						
							
							Kernel: Use a Session object to keep track of the status of a Client/Server session pair.  
						
						... 
						
						
						
						Reduce the associated port's connection count when a ServerSession is destroyed. 
						
						
					 
					
						2017-05-15 11:22:15 -05:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							f18d454eb6 
							
						 
					 
					
						
						
							
							Kernel: Map special regions according to ExHeader  
						
						... 
						
						
						
						This replaces the hardcoded VRAM/DSP mappings with ones made based on
the ExHeader ARM11 Kernel caps list. While this has no visible effect
for most applications (since they use a standard set of mappings) it
does improve support for system modules and n3DS exclusives. 
						
						
					 
					
						2017-05-09 21:44:00 -07:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							b4a93cfdde 
							
						 
					 
					
						
						
							
							DSP: Create backing memory for entire DSP RAM  
						
						... 
						
						
						
						Also move address space mapping out of video_core. 
						
						
					 
					
						2017-05-09 21:44:00 -07:00 
						 
				 
			
				
					
						
							
							
								wwylele 
							
						 
					 
					
						
						
						
						
							
						
						
							85ba60d5ec 
							
						 
					 
					
						
						
							
							Timer: restore missing signaled=true from  #2421  
						
						
						
						
					 
					
						2017-02-27 22:49:46 +02:00 
						 
				 
			
				
					
						
							
							
								B3n30 
							
						 
					 
					
						
						
						
						
							
						
						
							dcf115778a 
							
						 
					 
					
						
						
							
							Fix log entry in timer::signal ( #2600 )  
						
						
						
						
					 
					
						2017-02-27 11:04:03 -05:00 
						 
				 
			
				
					
						
							
							
								Mat M 
							
						 
					 
					
						
						
						
						
							
						
						
							0cb52ee74a 
							
						 
					 
					
						
						
							
							Doxygen: Amend minor issues ( #2593 )  
						
						... 
						
						
						
						Corrects a few issues with regards to Doxygen documentation, for example:
- Incorrect parameter referencing.
- Missing @param tags.
- Typos in @param tags.
and a few minor other issues. 
						
						
					 
					
						2017-02-26 17:58:51 -08:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							b250ce21b9 
							
						 
					 
					
						
						
							
							Merge pull request  #2587  from yuriks/status-bar  
						
						... 
						
						
						
						Replace built-in Profiler with indicators in status bar 
						
						
					 
					
						2017-02-26 17:51:15 -08:00 
						 
				 
			
				
					
						
							
							
								Yuri Kunde Schlesner 
							
						 
					 
					
						
						
						
						
							
						
						
							441f8b5a4b 
							
						 
					 
					
						
						
							
							Core: Remove unnecessary include in thread.h  
						
						
						
						
					 
					
						2017-02-26 17:22:01 -08:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							029a11030e 
							
						 
					 
					
						
						
							
							Timers: Immediately signal the timer if it was started with an initial value of 0.  
						
						
						
						
					 
					
						2017-02-21 20:51:54 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							1ddff14511 
							
						 
					 
					
						
						
							
							Threads: Check the process' resource limit for the max allowed priority when creating a thread and remove the priority clamping code.  
						
						
						
						
					 
					
						2017-01-11 16:38:05 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							f2f2572fed 
							
						 
					 
					
						
						
							
							Thread: Added priority range checking to svcSetThreadPriority and removed priority clamping code from Thread::SetPriority.  
						
						
						
						
					 
					
						2017-01-11 16:38:04 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							84d72fd92f 
							
						 
					 
					
						
						
							
							Merge pull request  #2397  from Subv/pulse  
						
						... 
						
						
						
						Kernel: Implemented Pulse event and timers. 
						
						
					 
					
						2017-01-10 10:45:00 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							b5eac78b43 
							
						 
					 
					
						
						
							
							Merge pull request  #2410  from Subv/sleepthread  
						
						... 
						
						
						
						Don't yield execution in SleepThread(0) if there are no available threads to run 
						
						
					 
					
						2017-01-06 22:01:33 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							59f4f1d7ff 
							
						 
					 
					
						
						
							
							Merge pull request  #2396  from Subv/sema_acquire  
						
						... 
						
						
						
						Kernel/Semaphore: Fixed a regression in semaphore waits. 
						
						
					 
					
						2017-01-06 22:00:12 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							1c792389e6 
							
						 
					 
					
						
						
							
							Merge pull request  #2408  from Subv/priority_boosting  
						
						... 
						
						
						
						Kernel: Removed the priority boost code for starved threads. 
						
						
					 
					
						2017-01-06 00:40:39 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							fc2266130b 
							
						 
					 
					
						
						
							
							Kernel: Don't attempt to yield execution in SleepThread(0) if there are no available threads to run.  
						
						... 
						
						
						
						With this we avoid an useless temporary deschedule of the current thread. 
						
						
					 
					
						2017-01-05 19:11:34 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							5e2a8ebabf 
							
						 
					 
					
						
						
							
							Kernel: Remove some unused functions.  
						
						
						
						
					 
					
						2017-01-05 13:17:06 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							933df2606a 
							
						 
					 
					
						
						
							
							Kernel: Removed the priority boost code for starved threads.  
						
						... 
						
						
						
						After hwtesting and reverse engineering the kernel, it was found that the CTROS scheduler performs no priority boosting for threads like this, although some other forms of scheduling priority-starved threads might take place.
For example, it was found that hardware interrupts might cause low-priority threads to run if the CPU is preempted in the middle of an SVC handler that deschedules the current (high priority) thread before scheduling it again. 
						
						
					 
					
						2017-01-05 13:12:39 -05:00