diff options
| author | 2020-02-24 22:04:12 -0400 | |
|---|---|---|
| committer | 2020-06-27 11:35:06 -0400 | |
| commit | e31425df3877636c098ec7426ebd2067920715cb (patch) | |
| tree | 5c0fc518a4ebb8413c491b43a9fdd99450c7bd80 /src/core/hle/kernel/kernel.h | |
| parent | Merge pull request #3396 from FernandoS27/prometheus-1 (diff) | |
| download | yuzu-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.h | 19 |
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 | |||
| 194 | private: | 212 | private: |
| 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 |