summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/kernel.h
diff options
context:
space:
mode:
authorGravatar bunnei2022-10-29 14:45:09 -0700
committerGravatar bunnei2022-11-03 21:17:07 -0700
commit32d7faafa8e6c12b9bbdb75505c7f0e58fa1bb4a (patch)
tree0d64d4f0f6fc5bbce1ff4e9fcb5ac4ceb60b1c80 /src/core/hle/kernel/kernel.h
parentcore: hle: kernel: k_dynamic_page_manager: Refresh. (diff)
downloadyuzu-32d7faafa8e6c12b9bbdb75505c7f0e58fa1bb4a.tar.gz
yuzu-32d7faafa8e6c12b9bbdb75505c7f0e58fa1bb4a.tar.xz
yuzu-32d7faafa8e6c12b9bbdb75505c7f0e58fa1bb4a.zip
core: hle: kernel: Integrate system KSystemResource.
Diffstat (limited to 'src/core/hle/kernel/kernel.h')
-rw-r--r--src/core/hle/kernel/kernel.h23
1 files changed, 18 insertions, 5 deletions
diff --git a/src/core/hle/kernel/kernel.h b/src/core/hle/kernel/kernel.h
index 266be2bc4..2549503fc 100644
--- a/src/core/hle/kernel/kernel.h
+++ b/src/core/hle/kernel/kernel.h
@@ -34,13 +34,16 @@ class KClientPort;
34class GlobalSchedulerContext; 34class GlobalSchedulerContext;
35class KAutoObjectWithListContainer; 35class KAutoObjectWithListContainer;
36class KClientSession; 36class KClientSession;
37class KDebug;
38class KDynamicPageManager;
37class KEvent; 39class KEvent;
40class KEventInfo;
38class KHandleTable; 41class KHandleTable;
39class KLinkedListNode; 42class KLinkedListNode;
40class KMemoryBlockSlabManager;
41class KMemoryLayout; 43class KMemoryLayout;
42class KMemoryManager; 44class KMemoryManager;
43class KPageBuffer; 45class KPageBuffer;
46class KPageBufferSlabHeap;
44class KPort; 47class KPort;
45class KProcess; 48class KProcess;
46class KResourceLimit; 49class KResourceLimit;
@@ -50,6 +53,7 @@ class KSession;
50class KSessionRequest; 53class KSessionRequest;
51class KSharedMemory; 54class KSharedMemory;
52class KSharedMemoryInfo; 55class KSharedMemoryInfo;
56class KSecureSystemResource;
53class KThread; 57class KThread;
54class KThreadLocalPage; 58class KThreadLocalPage;
55class KTransferMemory; 59class KTransferMemory;
@@ -243,11 +247,11 @@ public:
243 /// Gets the virtual memory manager for the kernel. 247 /// Gets the virtual memory manager for the kernel.
244 const KMemoryManager& MemoryManager() const; 248 const KMemoryManager& MemoryManager() const;
245 249
246 /// Gets the application memory block manager for the kernel. 250 /// Gets the system resource manager.
247 KMemoryBlockSlabManager& GetApplicationMemoryBlockManager(); 251 KSystemResource& GetSystemSystemResource();
248 252
249 /// Gets the application memory block manager for the kernel. 253 /// Gets the system resource manager.
250 const KMemoryBlockSlabManager& GetApplicationMemoryBlockManager() const; 254 const KSystemResource& GetSystemSystemResource() const;
251 255
252 /// Gets the shared memory object for HID services. 256 /// Gets the shared memory object for HID services.
253 Kernel::KSharedMemory& GetHidSharedMem(); 257 Kernel::KSharedMemory& GetHidSharedMem();
@@ -363,6 +367,12 @@ public:
363 return slab_heap_container->thread_local_page; 367 return slab_heap_container->thread_local_page;
364 } else if constexpr (std::is_same_v<T, KSessionRequest>) { 368 } else if constexpr (std::is_same_v<T, KSessionRequest>) {
365 return slab_heap_container->session_request; 369 return slab_heap_container->session_request;
370 } else if constexpr (std::is_same_v<T, KSecureSystemResource>) {
371 return slab_heap_container->secure_system_resource;
372 } else if constexpr (std::is_same_v<T, KEventInfo>) {
373 return slab_heap_container->event_info;
374 } else if constexpr (std::is_same_v<T, KDebug>) {
375 return slab_heap_container->debug;
366 } 376 }
367 } 377 }
368 378
@@ -426,6 +436,9 @@ private:
426 KSlabHeap<KPageBuffer> page_buffer; 436 KSlabHeap<KPageBuffer> page_buffer;
427 KSlabHeap<KThreadLocalPage> thread_local_page; 437 KSlabHeap<KThreadLocalPage> thread_local_page;
428 KSlabHeap<KSessionRequest> session_request; 438 KSlabHeap<KSessionRequest> session_request;
439 KSlabHeap<KSecureSystemResource> secure_system_resource;
440 KSlabHeap<KEventInfo> event_info;
441 KSlabHeap<KDebug> debug;
429 }; 442 };
430 443
431 std::unique_ptr<SlabHeapContainer> slab_heap_container; 444 std::unique_ptr<SlabHeapContainer> slab_heap_container;