Lioncash 
							
						 
					 
					
						
						
							
						
						6c8f28813c 
					 
					
						
						
							
							scheduler: Mark parameter of AskForReselectionOrMarkRedundant() as const  
						
						 
						
						... 
						
						
						
						This is only compared against, so it can be made const. 
						
						
					 
					
						2019-10-27 23:35:50 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Lioncash 
							
						 
					 
					
						
						
							
						
						f19c1a7cda 
					 
					
						
						
							
							scheduler: Silence sign conversion warnings  
						
						 
						
						
						
						
					 
					
						2019-10-27 22:44:52 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Lioncash 
							
						 
					 
					
						
						
							
						
						2fb0bbff29 
					 
					
						
						
							
							scheduler: Initialize class members directly where applicable  
						
						 
						
						... 
						
						
						
						Reduces the overall amount of code. 
						
						
					 
					
						2019-10-27 22:13:55 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Lioncash 
							
						 
					 
					
						
						
							
						
						2dc469ceba 
					 
					
						
						
							
							scheduler: Amend documentation comments  
						
						 
						
						... 
						
						
						
						Adjusts the formatting of a few of the comments an ensures they get
recognized as proper Doxygen comments. 
						
						
					 
					
						2019-10-27 22:12:32 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fernando Sahmkow 
							
						 
					 
					
						
						
							
						
						64e652d8cb 
					 
					
						
						
							
							Kernel Thread: Cleanup THREADPROCESSORID_DONT_UPDATE.  
						
						 
						
						
						
						
					 
					
						2019-10-15 11:55:30 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fernando Sahmkow 
							
						 
					 
					
						
						
							
						
						e28c7f5217 
					 
					
						
						
							
							Kernel: Address Feedback 2  
						
						 
						
						
						
						
					 
					
						2019-10-15 11:55:28 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fernando Sahmkow 
							
						 
					 
					
						
						
							
						
						a3524879be 
					 
					
						
						
							
							Kernel: Clang Format  
						
						 
						
						
						
						
					 
					
						2019-10-15 11:55:27 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fernando Sahmkow 
							
						 
					 
					
						
						
							
						
						c32520ceb7 
					 
					
						
						
							
							Kernel: Reverse global accessor removal.  
						
						 
						
						
						
						
					 
					
						2019-10-15 11:55:26 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fernando Sahmkow 
							
						 
					 
					
						
						
							
						
						3073615dbc 
					 
					
						
						
							
							Kernel: Address Feedback.  
						
						 
						
						
						
						
					 
					
						2019-10-15 11:55:25 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fernando Sahmkow 
							
						 
					 
					
						
						
							
						
						25f8606a6d 
					 
					
						
						
							
							Kernel Scheduler: Make sure the global scheduler shutdowns correctly.  
						
						 
						
						
						
						
					 
					
						2019-10-15 11:55:24 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fernando Sahmkow 
							
						 
					 
					
						
						
							
						
						b3c1deba49 
					 
					
						
						
							
							Kernel_Thread: Eliminate most global accessors.  
						
						 
						
						
						
						
					 
					
						2019-10-15 11:55:23 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fernando Sahmkow 
							
						 
					 
					
						
						
							
						
						0b72b34d89 
					 
					
						
						
							
							KernelSVC: Assert that condition variable address is aligned to 4 bytes.  
						
						 
						
						
						
						
					 
					
						2019-10-15 11:55:22 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fernando Sahmkow 
							
						 
					 
					
						
						
							
						
						96b1b144af 
					 
					
						
						
							
							Kernel: Correct Paused scheduling  
						
						 
						
						
						
						
					 
					
						2019-10-15 11:55:21 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fernando Sahmkow 
							
						 
					 
					
						
						
							
						
						1c6a11ab14 
					 
					
						
						
							
							Kernel: Corrections to Wait Objects clearing in which a thread could still be signalled after a timeout or a cancel.  
						
						 
						
						
						
						
					 
					
						2019-10-15 11:55:20 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fernando Sahmkow 
							
						 
					 
					
						
						
							
						
						27d571c084 
					 
					
						
						
							
							Kernel: Correct redundant yields to only advance time forward.  
						
						 
						
						
						
						
					 
					
						2019-10-15 11:55:20 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fernando Sahmkow 
							
						 
					 
					
						
						
							
						
						7176857177 
					 
					
						
						
							
							Kernel: Corrections to ModifyByWaitingCountAndSignalToAddressIfEqual  
						
						 
						
						
						
						
					 
					
						2019-10-15 11:55:19 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fernando Sahmkow 
							
						 
					 
					
						
						
							
						
						44e09e5f21 
					 
					
						
						
							
							Kernel: Correct Results in Condition Variables and Mutexes  
						
						 
						
						
						
						
					 
					
						2019-10-15 11:55:18 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fernando Sahmkow 
							
						 
					 
					
						
						
							
						
						1ec1e81373 
					 
					
						
						
							
							Kernel: Clang Format  
						
						 
						
						
						
						
					 
					
						2019-10-15 11:55:17 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fernando Sahmkow 
							
						 
					 
					
						
						
							
						
						e05a8c2385 
					 
					
						
						
							
							Kernel: Remove global system accessor from WaitObject  
						
						 
						
						
						
						
					 
					
						2019-10-15 11:55:16 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fernando Sahmkow 
							
						 
					 
					
						
						
							
						
						0cf26cee59 
					 
					
						
						
							
							Scheduler: Implement Yield Count and Core migration on Thread Preemption.  
						
						 
						
						
						
						
					 
					
						2019-10-15 11:55:16 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fernando Sahmkow 
							
						 
					 
					
						
						
							
						
						2d382de6fa 
					 
					
						
						
							
							Scheduler: Corrections to YieldAndBalanceLoad and Yield bombing protection.  
						
						 
						
						
						
						
					 
					
						2019-10-15 11:55:15 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fernando Sahmkow 
							
						 
					 
					
						
						
							
						
						b49c0dab87 
					 
					
						
						
							
							Kernel: Initial implementation of thread preemption.  
						
						 
						
						
						
						
					 
					
						2019-10-15 11:55:14 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fernando Sahmkow 
							
						 
					 
					
						
						
							
						
						103f3a2fe5 
					 
					
						
						
							
							Scheduler: Add protections for Yield bombing  
						
						 
						
						... 
						
						
						
						In case of redundant yields, the scheduler will now idle the core for 
it's timeslice, in order to avoid continuously yielding the same thing 
over and over. 
						
						
					 
					
						2019-10-15 11:55:13 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fernando Sahmkow 
							
						 
					 
					
						
						
							
						
						82218c925a 
					 
					
						
						
							
							Kernel: Style and Corrections  
						
						 
						
						
						
						
					 
					
						2019-10-15 11:55:12 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fernando Sahmkow 
							
						 
					 
					
						
						
							
						
						fcc6b34fff 
					 
					
						
						
							
							Correct PrepareReschedule  
						
						 
						
						
						
						
					 
					
						2019-10-15 11:55:12 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fernando Sahmkow 
							
						 
					 
					
						
						
							
						
						3a94e7ea33 
					 
					
						
						
							
							Comment and reorganize the scheduler  
						
						 
						
						
						
						
					 
					
						2019-10-15 11:55:11 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fernando Sahmkow 
							
						 
					 
					
						
						
							
						
						b5d1e44782 
					 
					
						
						
							
							Add PrepareReschedule where required.  
						
						 
						
						
						
						
					 
					
						2019-10-15 11:55:10 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fernando Sahmkow 
							
						 
					 
					
						
						
							
						
						b8b7ebcece 
					 
					
						
						
							
							Correct compiling errors and addapt to the new interface.  
						
						 
						
						
						
						
					 
					
						2019-10-15 11:55:09 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fernando Sahmkow 
							
						 
					 
					
						
						
							
						
						9031502974 
					 
					
						
						
							
							Correct Supervisor Calls to work with the new scheduler,  
						
						 
						
						
						
						
					 
					
						2019-10-15 11:55:08 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fernando Sahmkow 
							
						 
					 
					
						
						
							
						
						57a71f899a 
					 
					
						
						
							
							Add interfacing to the Global Scheduler  
						
						 
						
						
						
						
					 
					
						2019-10-15 11:55:07 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fernando Sahmkow 
							
						 
					 
					
						
						
							
						
						a1ac0c6cb4 
					 
					
						
						
							
							Addapt thread class to the new Scheduler  
						
						 
						
						
						
						
					 
					
						2019-10-15 11:55:06 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fernando Sahmkow 
							
						 
					 
					
						
						
							
						
						b164d8ee53 
					 
					
						
						
							
							Implement a new Core Scheduler  
						
						 
						
						
						
						
					 
					
						2019-10-15 11:55:04 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Lioncash 
							
						 
					 
					
						
						
							
						
						f1382cf0e7 
					 
					
						
						
							
							core: Remove Core::CurrentProcess()  
						
						 
						
						... 
						
						
						
						This only encourages the use of the global system instance (which will
be phased out long-term). Instead, we use the direct system function
call directly to remove the appealing but discouraged short-hand. 
						
						
					 
					
						2019-10-06 13:53:12 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Lioncash 
							
						 
					 
					
						
						
							
						
						f763e23083 
					 
					
						
						
							
							kernel/vm_manager: Correct doxygen comment parameter tags for MapPhysicalMemory/UnmapPhysicalMemory  
						
						 
						
						... 
						
						
						
						Corrects the parameter names within the doxygen comments so that they
resolve properly. 
						
						
					 
					
						2019-09-04 19:58:55 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Lioncash 
							
						 
					 
					
						
						
							
						
						b0da7e4262 
					 
					
						
						
							
							kernel/vm_manager: Move variables closer to usage spots in MapPhysicalMemory/UnmapPhysicalMemory  
						
						 
						
						... 
						
						
						
						Narrows the scope of variables down to where they're only necessary. 
						
						
					 
					
						2019-09-04 19:58:52 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Lioncash 
							
						 
					 
					
						
						
							
						
						96cc9a9279 
					 
					
						
						
							
							kernel/vm_manager: Correct behavior in failure case of UnmapPhysicalMemory()  
						
						 
						
						... 
						
						
						
						If an unmapping operation fails, we shouldn't be decrementing the amount
of memory mapped and returning that the operation was successful. We
should actually be returning the error code in this case. 
						
						
					 
					
						2019-08-29 19:29:43 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Lioncash 
							
						 
					 
					
						
						
							
						
						56c6f767ae 
					 
					
						
						
							
							kernel/vm_manager: Reserve memory ahead of time for slow path in MergeAdjacentVMA  
						
						 
						
						... 
						
						
						
						Avoids potentially expensive (depending on the size of the memory block)
allocations by reserving the necessary memory before performing both
insertions. This avoids scenarios where the second insert may cause a
reallocation to occur. 
						
						
					 
					
						2019-08-29 19:29:43 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Lioncash 
							
						 
					 
					
						
						
							
						
						a43ee8d752 
					 
					
						
						
							
							kernel/vm_manager: std::move shared_ptr instance in MergeAdjacentVMA  
						
						 
						
						... 
						
						
						
						Avoids an unnecessary atomic reference count increment and decrement. 
						
						
					 
					
						2019-08-29 19:28:58 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Lioncash 
							
						 
					 
					
						
						
							
						
						785c4946dd 
					 
					
						
						
							
							kernel/vm_manager: Deduplicate iterator creation in MergeAdjacentVMA  
						
						 
						
						... 
						
						
						
						Avoids needing to read the same long sequence of code in both code
paths. Also makes it slightly nicer to read and debug, as the locals
will be able to be shown in the debugger. 
						
						
					 
					
						2019-08-29 19:28:57 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Lioncash 
							
						 
					 
					
						
						
							
						
						70485e690b 
					 
					
						
						
							
							kernel/vm_manager: Simplify some std::vector constructor calls  
						
						 
						
						... 
						
						
						
						Same behavior, one less magic constant to read. 
						
						
					 
					
						2019-08-29 19:28:04 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Lioncash 
							
						 
					 
					
						
						
							
						
						3f695333cd 
					 
					
						
						
							
							kernel/vm_manager: Simplify some assertion messages  
						
						 
						
						... 
						
						
						
						Assertions already log out the function name, so there's no need to
manually include the function name in the assertion strings. 
						
						
					 
					
						2019-08-29 19:26:42 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fernando Sahmkow 
							
						 
					 
					
						
						
							
						
						024b5fe91a 
					 
					
						
						
							
							Kernel: Address Feedback  
						
						 
						
						
						
						
					 
					
						2019-07-19 11:28:57 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fernando Sahmkow 
							
						 
					 
					
						
						
							
						
						9bede4eeed 
					 
					
						
						
							
							VM_Manager: Align allocated memory to 256bytes  
						
						 
						
						... 
						
						
						
						This commit ensures that all backing memory allocated for the Guest CPU
is aligned to 256 bytes. This due to how gpu memory works and the heavy
constraints it has in the alignment of physical memory. 
						
						
					 
					
						2019-07-19 10:06:08 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						5d369112d9 
					 
					
						
						
							
							Merge pull request  #2687  from lioncash/tls-process  
						
						 
						
						... 
						
						
						
						kernel/process: Allocate the process' TLS region during initialization 
						
						
					 
					
						2019-07-18 13:53:04 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fernando Sahmkow 
							
						 
					 
					
						
						
							
						
						5e457bf258 
					 
					
						
						
							
							Kernel: Downgrade WaitForAddress and SignalToAddress messages to Trace.  
						
						 
						
						... 
						
						
						
						This messages were originally set as warnning since few games used these
svcs and it was needed for debugging. This is no longer the case. 
						
						
					 
					
						2019-07-17 22:05:47 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fernando Sahmkow 
							
						 
					 
					
						
						
							
						
						4882c058fd 
					 
					
						
						
							
							Merge pull request  #2690  from SciresM/physmem_fixes  
						
						 
						
						... 
						
						
						
						Implement MapPhysicalMemory/UnmapPhysicalMemory 
						
						
					 
					
						2019-07-14 09:16:46 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
							
						
						d4fc560c05 
					 
					
						
						
							
							Remove unicorn mappings/unmappings  
						
						 
						
						
						
						
					 
					
						2019-07-11 15:12:33 -07:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								bunnei 
							
						 
					 
					
						
						
							
						
						79c382fafd 
					 
					
						
						
							
							Merge pull request  #2717  from SciresM/unmirror_memory  
						
						 
						
						... 
						
						
						
						Restore memory perms on svcUnmapMemory/UnloadNro 
						
						
					 
					
						2019-07-11 14:57:20 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Lioncash 
							
						 
					 
					
						
						
							
						
						70624e1c1d 
					 
					
						
						
							
							core/arm: Remove obsolete Unicorn memory mapping  
						
						 
						
						... 
						
						
						
						This was initially necessary when AArch64 JIT emulation was in its
infancy and all memory-related instructions weren't implemented.
Given the JIT now has all of these facilities implemented, we can remove
these functions from the CPU interface. 
						
						
					 
					
						2019-07-11 05:35:46 -04:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Scire 
							
						 
					 
					
						
						
							
						
						072a9796f5 
					 
					
						
						
							
							Restore memory perms on svcUnmapMemory/UnloadNro  
						
						 
						
						... 
						
						
						
						Prior to PR, Yuzu did not restore memory to RW-
on unmap of mirrored memory or unloading of NRO.
(In fact, in the NRO case, the memory was unmapped
instead of reprotected to --- on Load, so it was
actually lost entirely...)
This PR addresses that, and restores memory to RW-
as it should.
This fixes a crash in Super Smash Bros when creating
a World of Light save for the first time, and possibly
other games/circumstances. 
						
						
					 
					
						2019-07-11 01:38:28 -07:00