bunnei 
							
						 
					 
					
						
						
							
						
						3a91a62b8f 
					 
					
						
						
							
							svc: Implement svcUnmapMemory.  
						
						 
						
						
						
						
					 
					
						2017-12-31 15:22:49 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						b6087e35b5 
					 
					
						
						
							
							thread: Main thread should set thread handle to reg 1.  
						
						 
						
						
						
						
					 
					
						2017-12-30 12:10:58 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						7ccd8de863 
					 
					
						
						
							
							thread: Remove THUMB mode flag.  
						
						 
						
						
						
						
					 
					
						2017-12-30 12:08:26 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						eed4f2e229 
					 
					
						
						
							
							thread: Main thread should be ready by default, all others dormant.  
						
						 
						
						
						
						
					 
					
						2017-12-30 12:05:10 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						ebd4b1422d 
					 
					
						
						
							
							kernel: Various 64-bit fixes in memory/process/thread  
						
						 
						
						
						
						
					 
					
						2017-12-29 13:27:58 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						dcdaac8a0b 
					 
					
						
						
							
							kernel: Fix implementation of ConvertSessionToDomain.  
						
						 
						
						
						
						
					 
					
						2017-12-29 00:36:22 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						e17c0019c5 
					 
					
						
						
							
							kernel: Add basic support for Domain object.  
						
						 
						
						
						
						
					 
					
						2017-12-28 23:30:21 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						834fa5db65 
					 
					
						
						
							
							kernel: Add SyncObject primitive, use it for ClientSession.  
						
						 
						
						
						
						
					 
					
						2017-12-28 23:12:28 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						3421e1617e 
					 
					
						
						
							
							process: Add method to mirror a memory region.  
						
						 
						
						
						
						
					 
					
						2017-12-28 21:35:49 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						3597650f22 
					 
					
						
						
							
							service: Return proper result code for IPC::CommandType::Close.  
						
						 
						
						
						
						
					 
					
						2017-10-31 19:30:05 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						34571f4d2e 
					 
					
						
						
							
							hle: Use Switch formatted result codes.  
						
						 
						
						
						
						
					 
					
						2017-10-31 19:26:11 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						dcd6bb82f7 
					 
					
						
						
							
							hle: Fix QueryMemory response for MemoryInfo.  
						
						 
						
						
						
						
					 
					
						2017-10-19 23:00:46 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						654fae29c1 
					 
					
						
						
							
							hle_ipc: Only copy necessary fields for outgoing command buffer.  
						
						 
						
						
						
						
					 
					
						2017-10-18 21:39:48 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						b283cf7348 
					 
					
						
						
							
							hle_ipc: Parse out buffer X/A/B/B descriptors from incoming command buffer.  
						
						 
						
						
						
						
					 
					
						2017-10-18 21:38:01 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						4fb1b24d68 
					 
					
						
						
							
							hle: Implement ConvertSessionToDomain, various cleanups.  
						
						 
						
						
						
						
					 
					
						2017-10-15 01:24:22 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						960a1416de 
					 
					
						
						
							
							hle: Initial implementation of NX service framework and IPC.  
						
						 
						
						
						
						
					 
					
						2017-10-14 22:18:42 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						b1d5db1cf6 
					 
					
						
						
							
							Merge remote-tracking branch 'upstream/master' into nx  
						
						 
						
						... 
						
						
						
						# Conflicts:
#	src/core/CMakeLists.txt
#	src/core/arm/dynarmic/arm_dynarmic.cpp
#	src/core/arm/dyncom/arm_dyncom.cpp
#	src/core/hle/kernel/process.cpp
#	src/core/hle/kernel/thread.cpp
#	src/core/hle/kernel/thread.h
#	src/core/hle/kernel/vm_manager.cpp
#	src/core/loader/3dsx.cpp
#	src/core/loader/elf.cpp
#	src/core/loader/ncch.cpp
#	src/core/memory.cpp
#	src/core/memory.h
#	src/core/memory_setup.h 
						
						
					 
					
						2017-10-09 23:56:20 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						23ce4f5afc 
					 
					
						
						
							
							loader: Various improvements for NSO/NRO loaders.  
						
						 
						
						
						
						
					 
					
						2017-10-09 21:39:32 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						15c7641bef 
					 
					
						
						
							
							Merge pull request  #2977  from Subv/shmem_create  
						
						 
						
						... 
						
						
						
						SharedMemory: Don't take over and unmap the source memory block when creating a shared memory, just reference it 
						
						
					 
					
						2017-10-03 16:21:49 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Subv 
							
						 
					 
					
						
						
							
						
						b18589ecf7 
					 
					
						
						
							
							Kernel/SharedMemory: Don't take over and unmap the source memory block when creating a shared memory, just reference it.  
						
						 
						
						... 
						
						
						
						Also reference the right offset into the backing block for the requested address. 
						
						
					 
					
						2017-10-02 15:16:16 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Sebastian Valle 
							
						 
					 
					
						
						
							
						
						30fabc41c6 
					 
					
						
						
							
							Merge pull request  #2971  from Subv/per_process_memops  
						
						 
						
						... 
						
						
						
						Memory: Add overloads for ReadBlock and WriteBlock that operate on a specific process. 
						
						
					 
					
						2017-10-01 14:44:06 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Subv 
							
						 
					 
					
						
						
							
						
						8217ed7acb 
					 
					
						
						
							
							Kernel/Thread: Added a helper function to get a thread's command buffer VAddr.  
						
						 
						
						
						
						
					 
					
						2017-10-01 14:18:35 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						8c92435ded 
					 
					
						
						
							
							nso: Refactor and allocate .bss section.  
						
						 
						
						
						
						
					 
					
						2017-09-30 14:33:58 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						fa1c7c7ee1 
					 
					
						
						
							
							process: Support loading multiple codesets.  
						
						 
						
						
						
						
					 
					
						2017-09-30 14:33:11 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						c5ce5c06e4 
					 
					
						
						
							
							kernel: Various threading fixes to support 64-bit addressing.  
						
						 
						
						
						
						
					 
					
						2017-09-30 14:28:54 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						f01472a5ff 
					 
					
						
						
							
							core: Various changes to support 64-bit addressing.  
						
						 
						
						
						
						
					 
					
						2017-09-30 14:28:54 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Sebastian Valle 
							
						 
					 
					
						
						
							
						
						db752b52e8 
					 
					
						
						
							
							Merge pull request  #2967  from Subv/thread_wakeup_callbacks  
						
						 
						
						... 
						
						
						
						Kernel/Threads: When putting a thread to wait, specify a function to execute when it is awoken 
						
						
					 
					
						2017-09-30 09:12:18 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Huw Pascoe 
							
						 
					 
					
						
						
							
						
						a13ab958cb 
					 
					
						
						
							
							Fixed type conversion ambiguity  
						
						 
						
						
						
						
					 
					
						2017-09-30 09:34:35 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Subv 
							
						 
					 
					
						
						
							
						
						8432749db7 
					 
					
						
						
							
							Kernel/Threads: When putting a thread to wait, specify a function to execute when it is awoken.  
						
						 
						
						... 
						
						
						
						This change makes for a clearer (less confusing) path of execution in the scheduler, now the code to execute when a thread awakes is closer to the code that puts the thread to sleep (WaitSynch1, WaitSynchN). It also allows us to implement the special wake up behavior of ReplyAndReceive without hacking up WaitObject::WakeupAllWaitingThreads.
If savestates are desired in the future, we can change this implementation to one similar to the CoreTiming event system, where we first register the callback functions at startup and assign their identifiers to the Thread callback variable instead of directly assigning a lambda to the wake up callback variable. 
						
						
					 
					
						2017-09-28 11:53:32 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Subv 
							
						 
					 
					
						
						
							
						
						3165466b66 
					 
					
						
						
							
							Kernel/Thread: Allow specifying which process a thread belongs to when creating it.  
						
						 
						
						... 
						
						
						
						Don't automatically assume that Thread::Create will only be called when the parent process is currently scheduled. This assumption will be broken when applets or system modules are loaded. 
						
						
					 
					
						2017-09-26 17:40:49 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								MerryMage 
							
						 
					 
					
						
						
							
						
						c02bbb7030 
					 
					
						
						
							
							memory: Add GetCurrentPageTable/SetCurrentPageTable  
						
						 
						
						... 
						
						
						
						Don't expose Memory::current_page_table as a global. 
						
						
					 
					
						2017-09-24 22:42:42 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								B3n30 
							
						 
					 
					
						
						
							
						
						813837c5cf 
					 
					
						
						
							
							Merge pull request  #2842  from Subv/switchable_page_table  
						
						 
						
						... 
						
						
						
						Kernel/Memory: Give each process its own page table and allow switching the current page table upon reschedule 
						
						
					 
					
						2017-09-15 22:41:45 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Subv 
							
						 
					 
					
						
						
							
						
						b178089251 
					 
					
						
						
							
							Kernel/Threads: Don't clear the CPU instruction cache when performing a context switch from an idle thread into a thread in the same process.  
						
						 
						
						... 
						
						
						
						We were unnecessarily clearing the cache when going from Process A -> Idle -> Process A, this caused extreme performance regressions. 
						
						
					 
					
						2017-09-15 14:26:15 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Subv 
							
						 
					 
					
						
						
							
						
						214150f00c 
					 
					
						
						
							
							Kernel/Memory: Changed GetPhysicalPointer so that it doesn't go through the current process' page table to obtain a pointer.  
						
						 
						
						
						
						
					 
					
						2017-09-15 14:26:13 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Subv 
							
						 
					 
					
						
						
							
						
						c34ec5e77c 
					 
					
						
						
							
							Kernel/Memory: Switch the current page table when a new process is scheduled.  
						
						 
						
						
						
						
					 
					
						2017-09-10 15:14:31 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Subv 
							
						 
					 
					
						
						
							
						
						6d2734a074 
					 
					
						
						
							
							Kernel/Memory: Give each Process its own page table.  
						
						 
						
						... 
						
						
						
						The loader is in charge of setting the newly created process's page table as the main one during the loading process. 
						
						
					 
					
						2017-09-10 15:13:41 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Rowe 
							
						 
					 
					
						
						
							
						
						61442d6afb 
					 
					
						
						
							
							Merge pull request  #2839  from Subv/global_kernel_lock  
						
						 
						
						... 
						
						
						
						Kernel/HLE: Use a mutex  to synchronize access to the HLE kernel state between the cpu thread and any other possible threads that might touch the kernel (network thread, etc). 
						
						
					 
					
						2017-08-23 18:17:44 -06:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						2bbff9fa96 
					 
					
						
						
							
							Merge pull request  #2893  from Subv/not_schedule_main_thread  
						
						 
						
						... 
						
						
						
						Kernel/Threads: Don't immediately switch to the new main thread when loading a new process. 
						
						
					 
					
						2017-08-22 17:45:47 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Subv 
							
						 
					 
					
						
						
							
						
						bca8916cea 
					 
					
						
						
							
							Kernel/HLE: Use a mutex  to synchronize access to the HLE kernel state between the cpu thread and any other possible threads that might touch the kernel (network thread, etc).  
						
						 
						
						... 
						
						
						
						This mutex is acquired in SVC::CallSVC, ie, as soon as the guest application enters the HLE kernel, and should be acquired by the aforementioned threads before modifying kernel structures. 
						
						
					 
					
						2017-08-22 09:30:55 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Subv 
							
						 
					 
					
						
						
							
						
						fa228ca637 
					 
					
						
						
							
							Kernel/Threads: Don't immediately switch to the new main thread when loading a new process.  
						
						 
						
						... 
						
						
						
						This is necessary for loading multiple processes at the same time.
The main thread will be automatically scheduled when necessary once the scheduler runs. 
						
						
					 
					
						2017-08-21 20:54:29 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Subv 
							
						 
					 
					
						
						
							
						
						65f19b51c4 
					 
					
						
						
							
							Warnings: Add UNREACHABLE macros to switches that contemplate all possible values.  
						
						 
						
						
						
						
					 
					
						2017-08-21 08:34:28 -05:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Weiyi Wang 
							
						 
					 
					
						
						
							
						
						045d0b5bbd 
					 
					
						
						
							
							Merge pull request  #2799  from yuriks/virtual-cached-range-flush  
						
						 
						
						... 
						
						
						
						Add address conversion functions returning optional, Add function to flush virtual region from rasterizer cache 
						
						
					 
					
						2017-07-22 10:15:52 +03:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								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