diff options
Diffstat (limited to 'src/core/hle/kernel/kernel.h')
| -rw-r--r-- | src/core/hle/kernel/kernel.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/core/hle/kernel/kernel.h b/src/core/hle/kernel/kernel.h index d2ceae950..b9b423908 100644 --- a/src/core/hle/kernel/kernel.h +++ b/src/core/hle/kernel/kernel.h | |||
| @@ -53,6 +53,7 @@ class KSharedMemoryInfo; | |||
| 53 | class KThread; | 53 | class KThread; |
| 54 | class KTransferMemory; | 54 | class KTransferMemory; |
| 55 | class KWritableEvent; | 55 | class KWritableEvent; |
| 56 | class KCodeMemory; | ||
| 56 | class PhysicalCore; | 57 | class PhysicalCore; |
| 57 | class ServiceThread; | 58 | class ServiceThread; |
| 58 | class Synchronization; | 59 | class Synchronization; |
| @@ -148,6 +149,9 @@ public: | |||
| 148 | /// Gets the an instance of the respective physical CPU core. | 149 | /// Gets the an instance of the respective physical CPU core. |
| 149 | const Kernel::PhysicalCore& PhysicalCore(std::size_t id) const; | 150 | const Kernel::PhysicalCore& PhysicalCore(std::size_t id) const; |
| 150 | 151 | ||
| 152 | /// Gets the current physical core index for the running host thread. | ||
| 153 | std::size_t CurrentPhysicalCoreIndex() const; | ||
| 154 | |||
| 151 | /// Gets the sole instance of the Scheduler at the current running core. | 155 | /// Gets the sole instance of the Scheduler at the current running core. |
| 152 | Kernel::KScheduler* CurrentScheduler(); | 156 | Kernel::KScheduler* CurrentScheduler(); |
| 153 | 157 | ||
| @@ -271,6 +275,8 @@ public: | |||
| 271 | 275 | ||
| 272 | bool IsMulticore() const; | 276 | bool IsMulticore() const; |
| 273 | 277 | ||
| 278 | bool IsShuttingDown() const; | ||
| 279 | |||
| 274 | void EnterSVCProfile(); | 280 | void EnterSVCProfile(); |
| 275 | 281 | ||
| 276 | void ExitSVCProfile(); | 282 | void ExitSVCProfile(); |
| @@ -326,6 +332,8 @@ public: | |||
| 326 | return slab_heap_container->transfer_memory; | 332 | return slab_heap_container->transfer_memory; |
| 327 | } else if constexpr (std::is_same_v<T, KWritableEvent>) { | 333 | } else if constexpr (std::is_same_v<T, KWritableEvent>) { |
| 328 | return slab_heap_container->writeable_event; | 334 | return slab_heap_container->writeable_event; |
| 335 | } else if constexpr (std::is_same_v<T, KCodeMemory>) { | ||
| 336 | return slab_heap_container->code_memory; | ||
| 329 | } | 337 | } |
| 330 | } | 338 | } |
| 331 | 339 | ||
| @@ -377,6 +385,7 @@ private: | |||
| 377 | KSlabHeap<KThread> thread; | 385 | KSlabHeap<KThread> thread; |
| 378 | KSlabHeap<KTransferMemory> transfer_memory; | 386 | KSlabHeap<KTransferMemory> transfer_memory; |
| 379 | KSlabHeap<KWritableEvent> writeable_event; | 387 | KSlabHeap<KWritableEvent> writeable_event; |
| 388 | KSlabHeap<KCodeMemory> code_memory; | ||
| 380 | }; | 389 | }; |
| 381 | 390 | ||
| 382 | std::unique_ptr<SlabHeapContainer> slab_heap_container; | 391 | std::unique_ptr<SlabHeapContainer> slab_heap_container; |