diff options
| author | 2020-02-13 22:04:10 -0400 | |
|---|---|---|
| committer | 2020-02-22 11:18:06 -0400 | |
| commit | 0728dfef84ded5e68bdb3b0781ea00ca7cc85659 (patch) | |
| tree | 2f0746f6070e5e27eaa15612458acbd33a911d6a /src/core/hle/kernel/kernel.cpp | |
| parent | Merge pull request #3444 from bunnei/linux-audio-fix (diff) | |
| download | yuzu-0728dfef84ded5e68bdb3b0781ea00ca7cc85659.tar.gz yuzu-0728dfef84ded5e68bdb3b0781ea00ca7cc85659.tar.xz yuzu-0728dfef84ded5e68bdb3b0781ea00ca7cc85659.zip | |
Kernel: Make global scheduler depend on KernelCore
Diffstat (limited to 'src/core/hle/kernel/kernel.cpp')
| -rw-r--r-- | src/core/hle/kernel/kernel.cpp | 14 |
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_ | |||
| 97 | } | 97 | } |
| 98 | 98 | ||
| 99 | struct KernelCore::Impl { | 99 | struct KernelCore::Impl { |
| 100 | explicit Impl(Core::System& system) | 100 | explicit Impl(Core::System& system, KernelCore& kernel) |
| 101 | : system{system}, global_scheduler{system}, synchronization{system} {} | 101 | : system{system}, global_scheduler{kernel}, synchronization{system} {} |
| 102 | 102 | ||
| 103 | void Initialize(KernelCore& kernel) { | 103 | void Initialize(KernelCore& kernel) { |
| 104 | Shutdown(); | 104 | Shutdown(); |
| @@ -215,7 +215,7 @@ struct KernelCore::Impl { | |||
| 215 | Core::System& system; | 215 | Core::System& system; |
| 216 | }; | 216 | }; |
| 217 | 217 | ||
| 218 | KernelCore::KernelCore(Core::System& system) : impl{std::make_unique<Impl>(system)} {} | 218 | KernelCore::KernelCore(Core::System& system) : impl{std::make_unique<Impl>(system, *this)} {} |
| 219 | KernelCore::~KernelCore() { | 219 | KernelCore::~KernelCore() { |
| 220 | Shutdown(); | 220 | Shutdown(); |
| 221 | } | 221 | } |
| @@ -265,6 +265,14 @@ const Kernel::GlobalScheduler& KernelCore::GlobalScheduler() const { | |||
| 265 | return impl->global_scheduler; | 265 | return impl->global_scheduler; |
| 266 | } | 266 | } |
| 267 | 267 | ||
| 268 | Kernel::Scheduler& KernelCore::Scheduler(std::size_t id) { | ||
| 269 | return impl->cores[id].Scheduler(); | ||
| 270 | } | ||
| 271 | |||
| 272 | const Kernel::Scheduler& KernelCore::Scheduler(std::size_t id) const { | ||
| 273 | return impl->cores[id].Scheduler(); | ||
| 274 | } | ||
| 275 | |||
| 268 | Kernel::PhysicalCore& KernelCore::PhysicalCore(std::size_t id) { | 276 | Kernel::PhysicalCore& KernelCore::PhysicalCore(std::size_t id) { |
| 269 | return impl->cores[id]; | 277 | return impl->cores[id]; |
| 270 | } | 278 | } |