summaryrefslogtreecommitdiffhomepage
path: root/dev/Kernel/KernelKit
diff options
context:
space:
mode:
Diffstat (limited to 'dev/Kernel/KernelKit')
-rw-r--r--dev/Kernel/KernelKit/UserProcessScheduler.h6
-rw-r--r--dev/Kernel/KernelKit/UserProcessScheduler.inl2
2 files changed, 6 insertions, 2 deletions
diff --git a/dev/Kernel/KernelKit/UserProcessScheduler.h b/dev/Kernel/KernelKit/UserProcessScheduler.h
index cb1fc5a0..983a1d81 100644
--- a/dev/Kernel/KernelKit/UserProcessScheduler.h
+++ b/dev/Kernel/KernelKit/UserProcessScheduler.h
@@ -7,6 +7,7 @@
#ifndef INC_PROCESS_SCHEDULER_H
#define INC_PROCESS_SCHEDULER_H
+#include "NewKit/Defines.h"
#include <ArchKit/ArchKit.h>
#include <KernelKit/LockDelegate.h>
#include <KernelKit/User.h>
@@ -30,8 +31,8 @@ namespace Kernel
{
//! @note Forward class declarations.
- class UserProcess;
class IDLLObject;
+ class UserProcess;
class UserProcessTeam;
class UserProcessScheduler;
class UserProcessHelper;
@@ -164,8 +165,9 @@ namespace Kernel
UserProcessImage Image;
SizeT StackSize{kSchedMaxStackSz};
IDLLObject* DylibDelegate{nullptr};
- SizeT MemoryCursor{0};
+ SizeT MemoryCursor{0UL};
SizeT MemoryLimit{kSchedMaxMemoryLimit};
+ SizeT UsedMemory{0UL};
struct ProcessMemoryHeapList final
{
diff --git a/dev/Kernel/KernelKit/UserProcessScheduler.inl b/dev/Kernel/KernelKit/UserProcessScheduler.inl
index 595ba71e..86150a06 100644
--- a/dev/Kernel/KernelKit/UserProcessScheduler.inl
+++ b/dev/Kernel/KernelKit/UserProcessScheduler.inl
@@ -17,6 +17,8 @@ namespace Kernel
{
if (entry->MemoryEntry == ptr.Leak().Leak())
{
+ this->UsedMemory -= entry->MemoryEntrySize;
+
#ifdef __ZKA_AMD64__
auto pd = hal_read_cr3();
hal_write_cr3(this->VMRegister);