summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/kernel.h
diff options
context:
space:
mode:
authorGravatar bunnei2020-12-02 18:08:35 -0800
committerGravatar bunnei2020-12-06 00:03:24 -0800
commit9e29e36a784496f7290c03b6a42e400a164a5b1e (patch)
treed33cc91b4651b374e0c244be7b7e3b47ef7680fd /src/core/hle/kernel/kernel.h
parenthle: kernel: physical_core: Clear exclusive state after each run. (diff)
downloadyuzu-9e29e36a784496f7290c03b6a42e400a164a5b1e.tar.gz
yuzu-9e29e36a784496f7290c03b6a42e400a164a5b1e.tar.xz
yuzu-9e29e36a784496f7290c03b6a42e400a164a5b1e.zip
hle: kernel: Rewrite scheduler implementation based on Mesopshere.
Diffstat (limited to 'src/core/hle/kernel/kernel.h')
-rw-r--r--src/core/hle/kernel/kernel.h17
1 files changed, 7 insertions, 10 deletions
diff --git a/src/core/hle/kernel/kernel.h b/src/core/hle/kernel/kernel.h
index a73a93039..5846c3f39 100644
--- a/src/core/hle/kernel/kernel.h
+++ b/src/core/hle/kernel/kernel.h
@@ -35,12 +35,12 @@ class SlabHeap;
35 35
36class AddressArbiter; 36class AddressArbiter;
37class ClientPort; 37class ClientPort;
38class GlobalScheduler; 38class GlobalSchedulerContext;
39class HandleTable; 39class HandleTable;
40class PhysicalCore; 40class PhysicalCore;
41class Process; 41class Process;
42class ResourceLimit; 42class ResourceLimit;
43class Scheduler; 43class KScheduler;
44class SharedMemory; 44class SharedMemory;
45class Synchronization; 45class Synchronization;
46class Thread; 46class Thread;
@@ -102,16 +102,16 @@ public:
102 const std::vector<std::shared_ptr<Process>>& GetProcessList() const; 102 const std::vector<std::shared_ptr<Process>>& GetProcessList() const;
103 103
104 /// Gets the sole instance of the global scheduler 104 /// Gets the sole instance of the global scheduler
105 Kernel::GlobalScheduler& GlobalScheduler(); 105 Kernel::GlobalSchedulerContext& GlobalSchedulerContext();
106 106
107 /// Gets the sole instance of the global scheduler 107 /// Gets the sole instance of the global scheduler
108 const Kernel::GlobalScheduler& GlobalScheduler() const; 108 const Kernel::GlobalSchedulerContext& GlobalSchedulerContext() const;
109 109
110 /// Gets the sole instance of the Scheduler assoviated with cpu core 'id' 110 /// Gets the sole instance of the Scheduler assoviated with cpu core 'id'
111 Kernel::Scheduler& Scheduler(std::size_t id); 111 Kernel::KScheduler& Scheduler(std::size_t id);
112 112
113 /// Gets the sole instance of the Scheduler assoviated with cpu core 'id' 113 /// Gets the sole instance of the Scheduler assoviated with cpu core 'id'
114 const Kernel::Scheduler& Scheduler(std::size_t id) const; 114 const Kernel::KScheduler& Scheduler(std::size_t id) const;
115 115
116 /// Gets the an instance of the respective physical CPU core. 116 /// Gets the an instance of the respective physical CPU core.
117 Kernel::PhysicalCore& PhysicalCore(std::size_t id); 117 Kernel::PhysicalCore& PhysicalCore(std::size_t id);
@@ -120,10 +120,7 @@ public:
120 const Kernel::PhysicalCore& PhysicalCore(std::size_t id) const; 120 const Kernel::PhysicalCore& PhysicalCore(std::size_t id) const;
121 121
122 /// Gets the sole instance of the Scheduler at the current running core. 122 /// Gets the sole instance of the Scheduler at the current running core.
123 Kernel::Scheduler& CurrentScheduler(); 123 Kernel::KScheduler* CurrentScheduler();
124
125 /// Gets the sole instance of the Scheduler at the current running core.
126 const Kernel::Scheduler& CurrentScheduler() const;
127 124
128 /// Gets the an instance of the current physical CPU core. 125 /// Gets the an instance of the current physical CPU core.
129 Kernel::PhysicalCore& CurrentPhysicalCore(); 126 Kernel::PhysicalCore& CurrentPhysicalCore();