summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/kernel.h
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2020-02-24 22:04:12 -0400
committerGravatar Fernando Sahmkow2020-06-27 11:35:06 -0400
commite31425df3877636c098ec7426ebd2067920715cb (patch)
tree5c0fc518a4ebb8413c491b43a9fdd99450c7bd80 /src/core/hle/kernel/kernel.h
parentMerge pull request #3396 from FernandoS27/prometheus-1 (diff)
downloadyuzu-e31425df3877636c098ec7426ebd2067920715cb.tar.gz
yuzu-e31425df3877636c098ec7426ebd2067920715cb.tar.xz
yuzu-e31425df3877636c098ec7426ebd2067920715cb.zip
General: Recover Prometheus project from harddrive failure
This commit: Implements CPU Interrupts, Replaces Cycle Timing for Host Timing, Reworks the Kernel's Scheduler, Introduce Idle State and Suspended State, Recreates the bootmanager, Initializes Multicore system.
Diffstat (limited to 'src/core/hle/kernel/kernel.h')
-rw-r--r--src/core/hle/kernel/kernel.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/core/hle/kernel/kernel.h b/src/core/hle/kernel/kernel.h
index 83de1f542..5d32a8329 100644
--- a/src/core/hle/kernel/kernel.h
+++ b/src/core/hle/kernel/kernel.h
@@ -110,6 +110,18 @@ public:
110 /// Gets the an instance of the respective physical CPU core. 110 /// Gets the an instance of the respective physical CPU core.
111 const Kernel::PhysicalCore& PhysicalCore(std::size_t id) const; 111 const Kernel::PhysicalCore& PhysicalCore(std::size_t id) const;
112 112
113 /// Gets the sole instance of the Scheduler at the current running core.
114 Kernel::Scheduler& CurrentScheduler();
115
116 /// Gets the sole instance of the Scheduler at the current running core.
117 const Kernel::Scheduler& CurrentScheduler() const;
118
119 /// Gets the an instance of the current physical CPU core.
120 Kernel::PhysicalCore& CurrentPhysicalCore();
121
122 /// Gets the an instance of the current physical CPU core.
123 const Kernel::PhysicalCore& CurrentPhysicalCore() const;
124
113 /// Gets the an instance of the Synchronization Interface. 125 /// Gets the an instance of the Synchronization Interface.
114 Kernel::Synchronization& Synchronization(); 126 Kernel::Synchronization& Synchronization();
115 127
@@ -191,6 +203,12 @@ public:
191 /// Gets the shared memory object for Time services. 203 /// Gets the shared memory object for Time services.
192 const Kernel::SharedMemory& GetTimeSharedMem() const; 204 const Kernel::SharedMemory& GetTimeSharedMem() const;
193 205
206 /// Suspend/unsuspend the OS.
207 void Suspend(bool in_suspention);
208
209 /// Exceptional exit the OS.
210 void ExceptionalExit();
211
194private: 212private:
195 friend class Object; 213 friend class Object;
196 friend class Process; 214 friend class Process;
@@ -219,6 +237,7 @@ private:
219 237
220 struct Impl; 238 struct Impl;
221 std::unique_ptr<Impl> impl; 239 std::unique_ptr<Impl> impl;
240 bool exception_exited{};
222}; 241};
223 242
224} // namespace Kernel 243} // namespace Kernel