summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/kernel.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/kernel/kernel.h')
-rw-r--r--src/core/hle/kernel/kernel.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/core/hle/kernel/kernel.h b/src/core/hle/kernel/kernel.h
index c4f78ab71..83de1f542 100644
--- a/src/core/hle/kernel/kernel.h
+++ b/src/core/hle/kernel/kernel.h
@@ -8,6 +8,7 @@
8#include <string> 8#include <string>
9#include <unordered_map> 9#include <unordered_map>
10#include <vector> 10#include <vector>
11#include "core/hle/kernel/memory/memory_types.h"
11#include "core/hle/kernel/object.h" 12#include "core/hle/kernel/object.h"
12 13
13namespace Core { 14namespace Core {
@@ -23,6 +24,12 @@ struct EventType;
23 24
24namespace Kernel { 25namespace Kernel {
25 26
27namespace Memory {
28class MemoryManager;
29template <typename T>
30class SlabHeap;
31} // namespace Memory
32
26class AddressArbiter; 33class AddressArbiter;
27class ClientPort; 34class ClientPort;
28class GlobalScheduler; 35class GlobalScheduler;
@@ -31,6 +38,7 @@ class PhysicalCore;
31class Process; 38class Process;
32class ResourceLimit; 39class ResourceLimit;
33class Scheduler; 40class Scheduler;
41class SharedMemory;
34class Synchronization; 42class Synchronization;
35class Thread; 43class Thread;
36class TimeManager; 44class TimeManager;
@@ -147,6 +155,42 @@ public:
147 /// Register the current thread as a non CPU core thread. 155 /// Register the current thread as a non CPU core thread.
148 void RegisterHostThread(); 156 void RegisterHostThread();
149 157
158 /// Gets the virtual memory manager for the kernel.
159 Memory::MemoryManager& MemoryManager();
160
161 /// Gets the virtual memory manager for the kernel.
162 const Memory::MemoryManager& MemoryManager() const;
163
164 /// Gets the slab heap allocated for user space pages.
165 Memory::SlabHeap<Memory::Page>& GetUserSlabHeapPages();
166
167 /// Gets the slab heap allocated for user space pages.
168 const Memory::SlabHeap<Memory::Page>& GetUserSlabHeapPages() const;
169
170 /// Gets the shared memory object for HID services.
171 Kernel::SharedMemory& GetHidSharedMem();
172
173 /// Gets the shared memory object for HID services.
174 const Kernel::SharedMemory& GetHidSharedMem() const;
175
176 /// Gets the shared memory object for font services.
177 Kernel::SharedMemory& GetFontSharedMem();
178
179 /// Gets the shared memory object for font services.
180 const Kernel::SharedMemory& GetFontSharedMem() const;
181
182 /// Gets the shared memory object for IRS services.
183 Kernel::SharedMemory& GetIrsSharedMem();
184
185 /// Gets the shared memory object for IRS services.
186 const Kernel::SharedMemory& GetIrsSharedMem() const;
187
188 /// Gets the shared memory object for Time services.
189 Kernel::SharedMemory& GetTimeSharedMem();
190
191 /// Gets the shared memory object for Time services.
192 const Kernel::SharedMemory& GetTimeSharedMem() const;
193
150private: 194private:
151 friend class Object; 195 friend class Object;
152 friend class Process; 196 friend class Process;