mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-10-31 07:59:02 -05:00 
			
		
		
		
	Add interfacing to the Global Scheduler
This commit is contained in:
		 Fernando Sahmkow
					Fernando Sahmkow
				
			
				
					committed by
					
						 FernandoS27
						FernandoS27
					
				
			
			
				
	
			
			
			 FernandoS27
						FernandoS27
					
				
			
						parent
						
							a1ac0c6cb4
						
					
				
				
					commit
					57a71f899a
				
			| @@ -18,6 +18,7 @@ | ||||
| #include "core/hle/kernel/kernel.h" | ||||
| #include "core/hle/kernel/process.h" | ||||
| #include "core/hle/kernel/resource_limit.h" | ||||
| #include "core/hle/kernel/scheduler.h" | ||||
| #include "core/hle/kernel/thread.h" | ||||
| #include "core/hle/lock.h" | ||||
| #include "core/hle/result.h" | ||||
| @@ -140,6 +141,7 @@ struct KernelCore::Impl { | ||||
|     // Lists all processes that exist in the current session. | ||||
|     std::vector<SharedPtr<Process>> process_list; | ||||
|     Process* current_process = nullptr; | ||||
|     Kernel::GlobalScheduler global_scheduler; | ||||
|  | ||||
|     SharedPtr<ResourceLimit> system_resource_limit; | ||||
|  | ||||
| @@ -203,6 +205,14 @@ const std::vector<SharedPtr<Process>>& KernelCore::GetProcessList() const { | ||||
|     return impl->process_list; | ||||
| } | ||||
|  | ||||
| Kernel::GlobalScheduler& KernelCore::GlobalScheduler() { | ||||
|     return impl->global_scheduler; | ||||
| } | ||||
|  | ||||
| const Kernel::GlobalScheduler& KernelCore::GlobalScheduler() const { | ||||
|     return impl->global_scheduler; | ||||
| } | ||||
|  | ||||
| void KernelCore::AddNamedPort(std::string name, SharedPtr<ClientPort> port) { | ||||
|     impl->named_ports.emplace(std::move(name), std::move(port)); | ||||
| } | ||||
|   | ||||
| @@ -25,6 +25,7 @@ class HandleTable; | ||||
| class Process; | ||||
| class ResourceLimit; | ||||
| class Thread; | ||||
| class GlobalScheduler; | ||||
|  | ||||
| /// Represents a single instance of the kernel. | ||||
| class KernelCore { | ||||
| @@ -75,6 +76,12 @@ public: | ||||
|     /// Retrieves the list of processes. | ||||
|     const std::vector<SharedPtr<Process>>& GetProcessList() const; | ||||
|  | ||||
|     /// Gets the sole instance of the global scheduler | ||||
|     Kernel::GlobalScheduler& GlobalScheduler(); | ||||
|  | ||||
|     /// Gets the sole instance of the global scheduler | ||||
|     const Kernel::GlobalScheduler& GlobalScheduler() const; | ||||
|  | ||||
|     /// Adds a port to the named port table | ||||
|     void AddNamedPort(std::string name, SharedPtr<ClientPort> port); | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user