hle: kernel: k_memory_manager: Rework for latest kernel behavior.

- Updates the KMemoryManager implementation against latest documentation.
- Reworks KMemoryLayout to be accessed throughout the kernel.
- Fixes an issue with pool sizes being incorrectly reported.
This commit is contained in:
bunnei 2022-02-26 10:46:31 -08:00
parent adbb9c2b00
commit f87f076162
6 changed files with 556 additions and 181 deletions

View file

@ -41,6 +41,7 @@ class KClientSession;
class KEvent;
class KHandleTable;
class KLinkedListNode;
class KMemoryLayout;
class KMemoryManager;
class KPort;
class KProcess;
@ -350,6 +351,9 @@ public:
/// Gets the current worker task manager, used for dispatching KThread/KProcess tasks.
const KWorkerTaskManager& WorkerTaskManager() const;
/// Gets the memory layout.
const KMemoryLayout& MemoryLayout() const;
private:
friend class KProcess;
friend class KThread;