mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-10-31 07:59:02 -05:00 
			
		
		
		
	Kernel: Remove global system accessor from WaitObject
This commit is contained in:
		 Fernando Sahmkow
					Fernando Sahmkow
				
			
				
					committed by
					
						 FernandoS27
						FernandoS27
					
				
			
			
				
	
			
			
			 FernandoS27
						FernandoS27
					
				
			
						parent
						
							0cf26cee59
						
					
				
				
					commit
					e05a8c2385
				
			| @@ -229,6 +229,14 @@ const Kernel::GlobalScheduler& KernelCore::GlobalScheduler() const { | ||||
|     return impl->global_scheduler; | ||||
| } | ||||
|  | ||||
| Core::System& KernelCore::System() { | ||||
|     return impl->system; | ||||
| } | ||||
|  | ||||
| const Core::System& KernelCore::System() const { | ||||
|     return impl->system; | ||||
| } | ||||
|  | ||||
| void KernelCore::AddNamedPort(std::string name, SharedPtr<ClientPort> port) { | ||||
|     impl->named_ports.emplace(std::move(name), std::move(port)); | ||||
| } | ||||
|   | ||||
| @@ -82,6 +82,12 @@ public: | ||||
|     /// Gets the sole instance of the global scheduler | ||||
|     const Kernel::GlobalScheduler& GlobalScheduler() const; | ||||
|  | ||||
|     /// Gets the sole instance of the system | ||||
|     Core::System& System(); | ||||
|  | ||||
|     /// Gets the sole instance of the system | ||||
|     const Core::System& System() const; | ||||
|  | ||||
|     /// Adds a port to the named port table | ||||
|     void AddNamedPort(std::string name, SharedPtr<ClientPort> port); | ||||
|  | ||||
|   | ||||
| @@ -287,7 +287,7 @@ void GlobalScheduler::PreemptThreads() { | ||||
|         if (current_thread != nullptr && current_thread->GetPriority() > priority) { | ||||
|             for (auto& thread : suggested_queue[core_id]) { | ||||
|                 const s32 source_core = thread->GetProcessorID(); | ||||
|                 if (thread->GetPriority() > priority) { | ||||
|                 if (thread->GetPriority() < priority) { | ||||
|                     continue; | ||||
|                 } | ||||
|                 if (source_core >= 0) { | ||||
|   | ||||
| @@ -8,6 +8,7 @@ | ||||
| #include "common/logging/log.h" | ||||
| #include "core/core.h" | ||||
| #include "core/core_cpu.h" | ||||
| #include "core/hle/kernel/kernel.h" | ||||
| #include "core/hle/kernel/object.h" | ||||
| #include "core/hle/kernel/process.h" | ||||
| #include "core/hle/kernel/thread.h" | ||||
| @@ -97,7 +98,7 @@ void WaitObject::WakeupWaitingThread(SharedPtr<Thread> thread) { | ||||
|     } | ||||
|     if (resume) { | ||||
|         thread->ResumeFromWait(); | ||||
|         Core::System::GetInstance().PrepareReschedule(thread->GetProcessorID()); | ||||
|         kernel.System().PrepareReschedule(thread->GetProcessorID()); | ||||
|     } | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user