summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/kernel.h
diff options
context:
space:
mode:
authorGravatar liamwhite2022-11-05 13:25:29 -0400
committerGravatar GitHub2022-11-05 13:25:29 -0400
commit4c198bbf06fe7b72d4718cf3571e99b6169e9f47 (patch)
tree3f091be57ce7198ee53b721b160a454ef6dee913 /src/core/hle/kernel/kernel.h
parentMerge pull request #9189 from vonchenplus/stupid (diff)
parentcore: hle: kernel: Address review comments. (diff)
downloadyuzu-4c198bbf06fe7b72d4718cf3571e99b6169e9f47.tar.gz
yuzu-4c198bbf06fe7b72d4718cf3571e99b6169e9f47.tar.xz
yuzu-4c198bbf06fe7b72d4718cf3571e99b6169e9f47.zip
Merge pull request #9173 from bunnei/kern-update-15
Kernel: Various updates for FW 15.0.x
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 4ae6b3923..caca60586 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;
@@ -51,6 +54,7 @@ class KSession;
51class KSessionRequest; 54class KSessionRequest;
52class KSharedMemory; 55class KSharedMemory;
53class KSharedMemoryInfo; 56class KSharedMemoryInfo;
57class KSecureSystemResource;
54class KThread; 58class KThread;
55class KThreadLocalPage; 59class KThreadLocalPage;
56class KTransferMemory; 60class KTransferMemory;
@@ -244,11 +248,11 @@ public:
244 /// Gets the virtual memory manager for the kernel. 248 /// Gets the virtual memory manager for the kernel.
245 const KMemoryManager& MemoryManager() const; 249 const KMemoryManager& MemoryManager() const;
246 250
247 /// Gets the application memory block manager for the kernel. 251 /// Gets the system resource manager.
248 KMemoryBlockSlabManager& GetApplicationMemoryBlockManager(); 252 KSystemResource& GetSystemSystemResource();
249 253
250 /// Gets the application memory block manager for the kernel. 254 /// Gets the system resource manager.
251 const KMemoryBlockSlabManager& GetApplicationMemoryBlockManager() const; 255 const KSystemResource& GetSystemSystemResource() const;
252 256
253 /// Gets the shared memory object for HID services. 257 /// Gets the shared memory object for HID services.
254 Kernel::KSharedMemory& GetHidSharedMem(); 258 Kernel::KSharedMemory& GetHidSharedMem();
@@ -364,6 +368,12 @@ public:
364 return slab_heap_container->thread_local_page; 368 return slab_heap_container->thread_local_page;
365 } else if constexpr (std::is_same_v<T, KSessionRequest>) { 369 } else if constexpr (std::is_same_v<T, KSessionRequest>) {
366 return slab_heap_container->session_request; 370 return slab_heap_container->session_request;
371 } else if constexpr (std::is_same_v<T, KSecureSystemResource>) {
372 return slab_heap_container->secure_system_resource;
373 } else if constexpr (std::is_same_v<T, KEventInfo>) {
374 return slab_heap_container->event_info;
375 } else if constexpr (std::is_same_v<T, KDebug>) {
376 return slab_heap_container->debug;
367 } 377 }
368 } 378 }
369 379
@@ -427,6 +437,9 @@ private:
427 KSlabHeap<KPageBuffer> page_buffer; 437 KSlabHeap<KPageBuffer> page_buffer;
428 KSlabHeap<KThreadLocalPage> thread_local_page; 438 KSlabHeap<KThreadLocalPage> thread_local_page;
429 KSlabHeap<KSessionRequest> session_request; 439 KSlabHeap<KSessionRequest> session_request;
440 KSlabHeap<KSecureSystemResource> secure_system_resource;
441 KSlabHeap<KEventInfo> event_info;
442 KSlabHeap<KDebug> debug;
430 }; 443 };
431 444
432 std::unique_ptr<SlabHeapContainer> slab_heap_container; 445 std::unique_ptr<SlabHeapContainer> slab_heap_container;