diff options
author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2019-03-29 22:02:57 +0100 |
---|---|---|
committer | FernandoS27 <fsahmkow27@gmail.com> | 2019-10-15 17:55:07 +0200 |
commit | 57a71f899a95ccaa2984c1cb35c083221a29fd6e (patch) | |
tree | 497f639114e7d26b9030600fb58d2474cc2883f0 /src/core/hle | |
parent | Addapt thread class to the new Scheduler (diff) | |
download | yuzu-57a71f899a95ccaa2984c1cb35c083221a29fd6e.tar yuzu-57a71f899a95ccaa2984c1cb35c083221a29fd6e.tar.gz yuzu-57a71f899a95ccaa2984c1cb35c083221a29fd6e.tar.bz2 yuzu-57a71f899a95ccaa2984c1cb35c083221a29fd6e.tar.lz yuzu-57a71f899a95ccaa2984c1cb35c083221a29fd6e.tar.xz yuzu-57a71f899a95ccaa2984c1cb35c083221a29fd6e.tar.zst yuzu-57a71f899a95ccaa2984c1cb35c083221a29fd6e.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/hle/kernel/kernel.cpp | 10 | ||||
-rw-r--r-- | src/core/hle/kernel/kernel.h | 7 |
2 files changed, 17 insertions, 0 deletions
diff --git a/src/core/hle/kernel/kernel.cpp b/src/core/hle/kernel/kernel.cpp index 799e5e0d8..b4fd1d3f3 100644 --- a/src/core/hle/kernel/kernel.cpp +++ b/src/core/hle/kernel/kernel.cpp @@ -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)); } diff --git a/src/core/hle/kernel/kernel.h b/src/core/hle/kernel/kernel.h index 0cc44ee76..f9f5bdc88 100644 --- a/src/core/hle/kernel/kernel.h +++ b/src/core/hle/kernel/kernel.h @@ -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); |