diff options
Diffstat (limited to 'src/core/hle/kernel/kernel.h')
| -rw-r--r-- | src/core/hle/kernel/kernel.h | 44 |
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 | ||
| 13 | namespace Core { | 14 | namespace Core { |
| @@ -23,6 +24,12 @@ struct EventType; | |||
| 23 | 24 | ||
| 24 | namespace Kernel { | 25 | namespace Kernel { |
| 25 | 26 | ||
| 27 | namespace Memory { | ||
| 28 | class MemoryManager; | ||
| 29 | template <typename T> | ||
| 30 | class SlabHeap; | ||
| 31 | } // namespace Memory | ||
| 32 | |||
| 26 | class AddressArbiter; | 33 | class AddressArbiter; |
| 27 | class ClientPort; | 34 | class ClientPort; |
| 28 | class GlobalScheduler; | 35 | class GlobalScheduler; |
| @@ -31,6 +38,7 @@ class PhysicalCore; | |||
| 31 | class Process; | 38 | class Process; |
| 32 | class ResourceLimit; | 39 | class ResourceLimit; |
| 33 | class Scheduler; | 40 | class Scheduler; |
| 41 | class SharedMemory; | ||
| 34 | class Synchronization; | 42 | class Synchronization; |
| 35 | class Thread; | 43 | class Thread; |
| 36 | class TimeManager; | 44 | class 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 | |||
| 150 | private: | 194 | private: |
| 151 | friend class Object; | 195 | friend class Object; |
| 152 | friend class Process; | 196 | friend class Process; |