James Rowe 
							
						 
					 
					
						
						
						
						
							
						
						
							0d46f0df12 
							
						 
					 
					
						
						
							
							Update clang format  
						
						
						
						
					 
					
						2018-07-02 21:45:47 -04:00 
						 
				 
			
				
					
						
							
							
								James Rowe 
							
						 
					 
					
						
						
						
						
							
						
						
							638956aa81 
							
						 
					 
					
						
						
							
							Rename logging macro back to LOG_*  
						
						
						
						
					 
					
						2018-07-02 21:45:47 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							6d7941042b 
							
						 
					 
					
						
						
							
							Merge pull request  #579  from SciresM/master  
						
						... 
						
						
						
						svc: Fully implement svcSignalToAddress and svcWaitForAddress 
						
						
					 
					
						2018-06-22 12:08:39 -04:00 
						 
				 
			
				
					
						
							
							
								mailwl 
							
						 
					 
					
						
						
						
						
							
						
						
							a27befe456 
							
						 
					 
					
						
						
							
							IPC: skip empty buffer write  
						
						... 
						
						
						
						prevent yuzu crash, if games, like Axiom Verge, trying to read 0 bytes from file 
						
						
					 
					
						2018-06-22 11:28:10 +03:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							067ac434ba 
							
						 
					 
					
						
						
							
							Kernel/Arbiters: Fix casts, cleanup comments/magic numbers  
						
						
						
						
					 
					
						2018-06-22 00:47:59 -06:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							5f8aa02584 
							
						 
					 
					
						
						
							
							Add additional missing format.  
						
						
						
						
					 
					
						2018-06-21 21:09:51 -06:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							08d454e30d 
							
						 
					 
					
						
						
							
							Run clang-format on PR.  
						
						
						
						
					 
					
						2018-06-21 21:05:34 -06:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							dc70a87af1 
							
						 
					 
					
						
						
							
							Kernel/Arbiters: HLE is atomic, adjust code to reflect that.  
						
						
						
						
					 
					
						2018-06-21 20:25:57 -06:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							8f8fe62a19 
							
						 
					 
					
						
						
							
							Kernel/Arbiters: Initialize arb_wait_address in thread struct.  
						
						
						
						
					 
					
						2018-06-21 05:13:06 -06:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							62bd1299ea 
							
						 
					 
					
						
						
							
							Kernel/Arbiters: Clear WaitAddress in SignalToAddress  
						
						
						
						
					 
					
						2018-06-21 04:20:39 -06:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							4f81bc4e1b 
							
						 
					 
					
						
						
							
							Kernel/Arbiters: Mostly implement SignalToAddress  
						
						
						
						
					 
					
						2018-06-21 04:10:11 -06:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							9d71ce88ce 
							
						 
					 
					
						
						
							
							Kernel/Arbiters: Implement WaitForAddress  
						
						
						
						
					 
					
						2018-06-21 01:40:29 -06:00 
						 
				 
			
				
					
						
							
							
								Michael Scire 
							
						 
					 
					
						
						
						
						
							
						
						
							7e191dccc1 
							
						 
					 
					
						
						
							
							Kernel/Arbiters: Add stubs for 4.x SignalToAddress/WaitForAddres SVCs.  
						
						
						
						
					 
					
						2018-06-21 00:49:43 -06:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							a3d82ef5d9 
							
						 
					 
					
						
						
							
							Build: Fixed some MSVC warnings in various parts of the code.  
						
						
						
						
					 
					
						2018-06-20 11:39:10 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							4ac4b308e4 
							
						 
					 
					
						
						
							
							Merge pull request  #572  from Armada651/user-except-stub  
						
						... 
						
						
						
						svc: Add a stub for UserExceptionContextAddr. 
						
						
					 
					
						2018-06-18 11:37:13 -04:00 
						 
				 
			
				
					
						
							
							
								Jules Blok 
							
						 
					 
					
						
						
						
						
							
						
						
							bf4e2b2f0b 
							
						 
					 
					
						
						
							
							svc: Add a stub for UserExceptionContextAddr.  
						
						
						
						
					 
					
						2018-06-18 09:29:11 +02:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							9cd87a6352 
							
						 
					 
					
						
						
							
							Kernel/Threads: A thread waking up by timeout from a WaitProcessWideKey may already have an assigned lock owner.  
						
						... 
						
						
						
						This situation may happen like so:
Thread 1 with low priority calls WaitProcessWideKey with timeout.
Thread 2 with high priority calls WaitProcessWideKey without timeout.
Thread 3 calls SignalProcessWideKey
- Thread 2 acquires the lock and awakens.
- Thread 1 can't acquire the lock and is put to sleep with the lock owner being Thread 2.
Thread 1's timeout expires, with the lock owner still being set to Thread 2. 
						
						
					 
					
						2018-06-02 14:06:35 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							c02d7c8ce7 
							
						 
					 
					
						
						
							
							Kernel/Thread: Corrected a typo that caused the affinity mask to never be changed.  
						
						
						
						
					 
					
						2018-05-30 21:36:29 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							3957b0c34e 
							
						 
					 
					
						
						
							
							Kernel/SVC: Support special core values -2 and -3 in svcSetThreadCoreMask.  
						
						... 
						
						
						
						Also added some proper error handling. 
						
						
					 
					
						2018-05-30 21:36:29 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							d1f9c750a6 
							
						 
					 
					
						
						
							
							Kernel/Thread: Corrected a typo in an assert about the processor id.  
						
						
						
						
					 
					
						2018-05-30 11:32:46 -05:00 
						 
				 
			
				
					
						
							
							
								greggameplayer 
							
						 
					 
					
						
						
						
						
							
						
						
							b16e5c6a81 
							
						 
					 
					
						
						
							
							Add & correct miscellaneous things ( #470 )  
						
						... 
						
						
						
						* add some InfoType
* correct OpenApplicationProxy cmd number
* add IDisplayController functions
* fix clang-format
* add more system languages 
						
						
					 
					
						2018-05-25 22:31:54 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							3825b703fa 
							
						 
					 
					
						
						
							
							Merge pull request  #454  from Subv/signal_processwide  
						
						... 
						
						
						
						Kernel/SVC: Signal the highest priority threads first in svcSignalProcessWideKey 
						
						
					 
					
						2018-05-23 10:28:23 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							693f78e6c2 
							
						 
					 
					
						
						
							
							Merge pull request  #457  from Subv/mutex_waiters  
						
						... 
						
						
						
						Mutex: Do not assert when the mutex waiting threads list isn't empty on mutex release. 
						
						
					 
					
						2018-05-20 23:44:44 -04:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							fd500d3da6 
							
						 
					 
					
						
						
							
							Mutex: Do not assert when the mutex waiting threads list isn't empty on mutex release.  
						
						... 
						
						
						
						A thread may own multiple mutexes at the same time, and only release one of them while other threads are waiting for the other mutexes. 
						
						
					 
					
						2018-05-20 14:41:58 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							2a35a36251 
							
						 
					 
					
						
						
							
							Kernel/SVC: Signal the highest priority threads first in svcSignalProcessWideKey.  
						
						
						
						
					 
					
						2018-05-19 16:58:30 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							c74f2555b6 
							
						 
					 
					
						
						
							
							Kernel/Threads: Reschedule the proper core when operating on that core's threads.  
						
						
						
						
					 
					
						2018-05-19 16:57:44 -05:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							fab3dd98fe 
							
						 
					 
					
						
						
							
							SVC: Removed unused WaitSynchronization1 function  
						
						
						
						
					 
					
						2018-05-19 16:56:33 -05:00 
						 
				 
			
				
					
						
							
							
								David Marcec 
							
						 
					 
					
						
						
						
						
							
						
						
							fd86cdb2e2 
							
						 
					 
					
						
						
							
							Added RequestWithContext & ControlWithContext  
						
						
						
						
					 
					
						2018-05-17 14:03:52 -07:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							46ec9a9bc9 
							
						 
					 
					
						
						
							
							thread: Rename mask to affinity_masks.  
						
						
						
						
					 
					
						2018-05-10 19:34:53 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							fbd7afefaa 
							
						 
					 
					
						
						
							
							thread: Support core change on ResumeFromWait and improve ChangeCore.  
						
						
						
						
					 
					
						2018-05-10 19:34:53 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							91af2f94e8 
							
						 
					 
					
						
						
							
							scheduler: Protect scheduling functions with a global mutex.  
						
						
						
						
					 
					
						2018-05-10 19:34:52 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							4822765fef 
							
						 
					 
					
						
						
							
							thread: Initialize ideal_core and mask members.  
						
						
						
						
					 
					
						2018-05-10 19:34:52 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							8aa5d25f82 
							
						 
					 
					
						
						
							
							threading: Reschedule only on cores that are necessary.  
						
						
						
						
					 
					
						2018-05-10 19:34:52 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							d6e3cd9a17 
							
						 
					 
					
						
						
							
							svc: Implement GetThreadCoreMask and SetThreadCoreMask.  
						
						
						
						
					 
					
						2018-05-10 19:34:51 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							6ea8b3ef60 
							
						 
					 
					
						
						
							
							thread: Implement ChangeCore function.  
						
						
						
						
					 
					
						2018-05-10 19:34:50 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							1c36f2a798 
							
						 
					 
					
						
						
							
							svc: SignalProcessWideKey should apply to all cores.  
						
						
						
						
					 
					
						2018-05-10 19:34:49 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							6a890023e9 
							
						 
					 
					
						
						
							
							svc: Implement GetCurrentProcessorNumber.  
						
						
						
						
					 
					
						2018-05-10 19:34:49 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							a434fdcb10 
							
						 
					 
					
						
						
							
							core: Implement multicore support.  
						
						
						
						
					 
					
						2018-05-10 19:34:46 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							1147db9dd1 
							
						 
					 
					
						
						
							
							Merge pull request  #431  from lioncash/fmt  
						
						... 
						
						
						
						general: Make formatting of logged hex values more straightforward 
						
						
					 
					
						2018-05-02 15:24:41 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							7c9644646f 
							
						 
					 
					
						
						
							
							general: Make formatting of logged hex values more straightforward  
						
						... 
						
						
						
						This makes the formatting expectations more obvious (e.g. any zero padding specified
is padding that's entirely dedicated to the value being printed, not any pretty-printing
that also gets tacked on). 
						
						
					 
					
						2018-05-02 09:49:36 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							fadab1d5f3 
							
						 
					 
					
						
						
							
							ipc: Add support for PopIpcInterface() method.  
						
						... 
						
						
						
						- This can be used for domain objects as inputs to service functions. 
						
						
					 
					
						2018-05-01 21:57:44 -04:00 
						 
				 
			
				
					
						
							
							
								David 
							
						 
					 
					
						
						
						
						
							
						
						
							ff2f0d980a 
							
						 
					 
					
						
						
							
							GetSharedFontInOrderOfPriority ( #381 )  
						
						... 
						
						
						
						* GetSharedFontInOrderOfPriority
* Update pl_u.cpp
* Ability to use ReadBuffer and WriteBuffer with different buffer indexes, fixed up GetSharedFontInOrderOfPriority
* switched to NGLOG
* Update pl_u.cpp
* Update pl_u.cpp
* language_code is actually language code and not index
* u32->u64
* final cleanups 
						
						
					 
					
						2018-05-01 16:28:36 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							0197e28cc9 
							
						 
					 
					
						
						
							
							core_timing: Namespace all functions and constants in core_timing's header  
						
						... 
						
						
						
						All of these variables and functions are related to timings and should be within the namespace. 
						
						
					 
					
						2018-04-30 03:32:59 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							3abba08080 
							
						 
					 
					
						
						
							
							string_util: Remove StringFromFormat() and related functions  
						
						... 
						
						
						
						Given we utilize fmt, we don't need to provide our own functions for formatting anymore 
						
						
					 
					
						2018-04-29 18:52:33 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							843dd62c81 
							
						 
					 
					
						
						
							
							core: Replace usages of LOG_GENERIC with new fmt-capable equivalents  
						
						
						
						
					 
					
						2018-04-27 11:57:52 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							8475496630 
							
						 
					 
					
						
						
							
							general: Convert assertion macros over to be fmt-compatible  
						
						
						
						
					 
					
						2018-04-27 10:04:02 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							1913cf4783 
							
						 
					 
					
						
						
							
							kernel/shared_memory: Remove unnecessary semicolon at end of ConvertPermissions()  
						
						... 
						
						
						
						Functions don't need to be terminated by semicolons. 
						
						
					 
					
						2018-04-25 20:32:16 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							40dee76c57 
							
						 
					 
					
						
						
							
							kernel: Migrate logging macros to fmt-compatible ones  
						
						
						
						
					 
					
						2018-04-25 20:32:09 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							0214351f4f 
							
						 
					 
					
						
						
							
							Merge pull request  #370  from Subv/sync_primitives  
						
						... 
						
						
						
						Kernel: Reworked the new kernel synchronization primitives. 
						
						
					 
					
						2018-04-23 16:33:00 -04:00 
						 
				 
			
				
					
						
							
							
								Subv 
							
						 
					 
					
						
						
						
						
							
						
						
							46572d027d 
							
						 
					 
					
						
						
							
							Kernel: Implemented mutex priority inheritance.  
						
						... 
						
						
						
						Verified with a hwtest and implemented based on reverse engineering.
Thread A's priority will get bumped to the highest priority among all the threads that are waiting for a mutex that A holds.
Once A releases the mutex and ownership is transferred to B, A's priority will return to normal and B's priority will be bumped. 
						
						
					 
					
						2018-04-23 11:23:44 -05:00