Fernando Sahmkow 
							
						 
					 
					
						
						
							
						
						2d16507f9f 
					 
					
						
						
							
							Kernel: Correct behavior of Condition Variables to be more similar to real hardware.  
						
						... 
						
						
						
						This commit ensures cond var threads act exactly as they do in the real
console. The original implementation uses an RBTree and the behavior of
cond var threads is that at the same priority level they act like a
FIFO. 
						
						
					 
					
						2019-11-21 10:46:55 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
							
						
						12dc918937 
					 
					
						
						
							
							kernel: Resolve sign conversion warnings  
						
						... 
						
						
						
						Uncovered a bug within Thread's SetCoreAndAffinityMask() where an
unsigned variable (ideal_core) was being compared against "< 0", which
would always be a false condition.
We can also get rid of an unused function (GetNextProcessorId) which contained a sign
mismatch warning. 
						
						
					 
					
						2019-11-12 07:55:39 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
						
						ece5287843 
					 
					
						
						
							
							kernel: readable_event: Signal only once.  
						
						
						
						
					 
					
						2019-11-03 04:25:41 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
						
						b0ab803ce8 
					 
					
						
						
							
							kernel: events: Remove ResetType::Automatic.  
						
						... 
						
						
						
						- This does not actually seem to exist in the real kernel - games reset these automatically.
# Conflicts:
#	src/core/hle/service/am/applets/applets.cpp
#	src/core/hle/service/filesystem/fsp_srv.cpp 
						
						
					 
					
						2019-11-03 04:22:45 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
						
						28bb248db6 
					 
					
						
						
							
							kernel: readable_event: Initialize members.  
						
						
						
						
					 
					
						2019-11-03 04:18:39 -05:00 
						 
				 
			
				
					
						
							
							
								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