summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/kernel.cpp
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2020-02-14 03:04:10 +0100
committerFernandoS27 <fsahmkow27@gmail.com>2020-02-22 16:18:06 +0100
commit0728dfef84ded5e68bdb3b0781ea00ca7cc85659 (patch)
tree2f0746f6070e5e27eaa15612458acbd33a911d6a /src/core/hle/kernel/kernel.cpp
parentMerge pull request #3444 from bunnei/linux-audio-fix (diff)
downloadyuzu-0728dfef84ded5e68bdb3b0781ea00ca7cc85659.tar
yuzu-0728dfef84ded5e68bdb3b0781ea00ca7cc85659.tar.gz
yuzu-0728dfef84ded5e68bdb3b0781ea00ca7cc85659.tar.bz2
yuzu-0728dfef84ded5e68bdb3b0781ea00ca7cc85659.tar.lz
yuzu-0728dfef84ded5e68bdb3b0781ea00ca7cc85659.tar.xz
yuzu-0728dfef84ded5e68bdb3b0781ea00ca7cc85659.tar.zst
yuzu-0728dfef84ded5e68bdb3b0781ea00ca7cc85659.zip
Diffstat (limited to 'src/core/hle/kernel/kernel.cpp')
-rw-r--r--src/core/hle/kernel/kernel.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/core/hle/kernel/kernel.cpp b/src/core/hle/kernel/kernel.cpp
index 4eb1d8703..d312ae31e 100644
--- a/src/core/hle/kernel/kernel.cpp
+++ b/src/core/hle/kernel/kernel.cpp
@@ -97,8 +97,8 @@ static void ThreadWakeupCallback(u64 thread_handle, [[maybe_unused]] s64 cycles_
}
struct KernelCore::Impl {
- explicit Impl(Core::System& system)
- : system{system}, global_scheduler{system}, synchronization{system} {}
+ explicit Impl(Core::System& system, KernelCore& kernel)
+ : system{system}, global_scheduler{kernel}, synchronization{system} {}
void Initialize(KernelCore& kernel) {
Shutdown();
@@ -215,7 +215,7 @@ struct KernelCore::Impl {
Core::System& system;
};
-KernelCore::KernelCore(Core::System& system) : impl{std::make_unique<Impl>(system)} {}
+KernelCore::KernelCore(Core::System& system) : impl{std::make_unique<Impl>(system, *this)} {}
KernelCore::~KernelCore() {
Shutdown();
}
@@ -265,6 +265,14 @@ const Kernel::GlobalScheduler& KernelCore::GlobalScheduler() const {
return impl->global_scheduler;
}
+Kernel::Scheduler& KernelCore::Scheduler(std::size_t id) {
+ return impl->cores[id].Scheduler();
+}
+
+const Kernel::Scheduler& KernelCore::Scheduler(std::size_t id) const {
+ return impl->cores[id].Scheduler();
+}
+
Kernel::PhysicalCore& KernelCore::PhysicalCore(std::size_t id) {
return impl->cores[id];
}