summaryrefslogtreecommitdiffhomepage
path: root/src/kernel/KernelKit
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel/KernelKit')
-rw-r--r--src/kernel/KernelKit/Config.h4
-rw-r--r--src/kernel/KernelKit/CoreProcessScheduler.h17
-rw-r--r--src/kernel/KernelKit/KernelTask.h4
-rw-r--r--src/kernel/KernelKit/PCI/Device.h2
-rw-r--r--src/kernel/KernelKit/TraceSrv.h1
-rw-r--r--src/kernel/KernelKit/UserProcessScheduler.h17
6 files changed, 23 insertions, 22 deletions
diff --git a/src/kernel/KernelKit/Config.h b/src/kernel/KernelKit/Config.h
index 8076a1c2..2df23851 100644
--- a/src/kernel/KernelKit/Config.h
+++ b/src/kernel/KernelKit/Config.h
@@ -8,8 +8,8 @@
#include <NeKit/Config.h>
-#define KERNELKIT_VERSION "0.0.2"
-#define KERNELKIT_VERSION_BCD 0x0002
+#define KERNELKIT_VERSION "0.0.3"
+#define KERNELKIT_VERSION_BCD 0x0003
namespace Kernel {
class UserProcessScheduler;
diff --git a/src/kernel/KernelKit/CoreProcessScheduler.h b/src/kernel/KernelKit/CoreProcessScheduler.h
index 0d915f12..7ed23a92 100644
--- a/src/kernel/KernelKit/CoreProcessScheduler.h
+++ b/src/kernel/KernelKit/CoreProcessScheduler.h
@@ -13,15 +13,14 @@
/// @brief Core Process Scheduler header file.
/// @author Amlal El Mahrouss (amlal@nekernel.org)
-#define kSchedMinMicroTime (AffinityKind::kStandard)
-#define kSchedInvalidPID (-1)
-#define kSchedProcessLimitPerTeam (32U)
-#define kSchedTeamCount (256U)
-
-#define kSchedMaxMemoryLimit (gib_cast(128)) /* max physical memory limit */
-#define kSchedMaxStackSz (kib_cast(8)) /* maximum stack size */
-
-#define kSchedNameLen (128U)
+#define kCPSMinMicroTime (AffinityKind::kStandard)
+#define kCPSInvalidPID (-1)
+#define kCPSProcessLimitPerTeam (32U)
+#define kCPSTeamCount (256U)
+
+#define kCPSMaxMemoryLimit (gib_cast(128)) /* max physical memory limit */
+#define kCPSMaxStackSz (kib_cast(8)) /* maximum stack size */
+#define kCPSNameLen (128U)
EXTERN_C void sched_idle_task(void);
diff --git a/src/kernel/KernelKit/KernelTask.h b/src/kernel/KernelKit/KernelTask.h
index 6e319cbe..8227f7d1 100644
--- a/src/kernel/KernelKit/KernelTask.h
+++ b/src/kernel/KernelKit/KernelTask.h
@@ -24,11 +24,11 @@ using KID = ProcessID;
/// @author Amlal
class KernelTask final {
public:
- Char Name[kSchedNameLen] = {"KernelTask"};
+ Char Name[kCPSNameLen] = {"KernelTask"};
ProcessSubsystem SubSystem{ProcessSubsystem::kProcessSubsystemKernel};
HAL::StackFramePtr StackFrame{nullptr};
UInt8* StackReserve{nullptr};
- SizeT StackSize{kSchedMaxStackSz};
+ SizeT StackSize{kCPSMaxStackSz};
ProcessImage Image{};
/// @brief a KID is a Kernel ID, it is used to find a task running within the kernel.
diff --git a/src/kernel/KernelKit/PCI/Device.h b/src/kernel/KernelKit/PCI/Device.h
index b7737385..1adc9f24 100644
--- a/src/kernel/KernelKit/PCI/Device.h
+++ b/src/kernel/KernelKit/PCI/Device.h
@@ -51,7 +51,7 @@ class Device final {
}
public:
- UShort DeviceId();
+ UInt16 DeviceId();
UShort VendorId();
UShort InterfaceId();
UChar Class();
diff --git a/src/kernel/KernelKit/TraceSrv.h b/src/kernel/KernelKit/TraceSrv.h
index 998a14e9..47877349 100644
--- a/src/kernel/KernelKit/TraceSrv.h
+++ b/src/kernel/KernelKit/TraceSrv.h
@@ -7,6 +7,7 @@
#define KERNELKIT_TRACESRV_H
#include <CompilerKit/CompilerKit.h>
+#include <NeKit/NeKit.h>
namespace Kernel {
diff --git a/src/kernel/KernelKit/UserProcessScheduler.h b/src/kernel/KernelKit/UserProcessScheduler.h
index 4a160121..ab3c713e 100644
--- a/src/kernel/KernelKit/UserProcessScheduler.h
+++ b/src/kernel/KernelKit/UserProcessScheduler.h
@@ -52,18 +52,19 @@ class UserProcess final {
UIntPtr SignalID{0};
};
- Char Name[kSchedNameLen] = {"UserProcess"};
+ Char Name[kCPSNameLen] = {"UserProcess"};
ProcessSubsystem SubSystem{ProcessSubsystem::kProcessSubsystemUser};
User* Owner{nullptr};
HAL::StackFramePtr StackFrame{nullptr};
AffinityKind Affinity{AffinityKind::kStandard};
ProcessStatusKind Status{ProcessStatusKind::kKilled};
- UInt8 StackReserve[kSchedMaxStackSz];
- SizeT StackSize{kSchedMaxStackSz};
+ UInt8 StackReserve[kCPSMaxStackSz];
+ SizeT StackSize{kCPSMaxStackSz};
IDylibObject* DylibDelegate{nullptr};
SizeT MemoryCursor{0UL};
- SizeT MemoryLimit{kSchedMaxMemoryLimit};
- SizeT UsedMemory{0UL};
+ SizeT MemoryLimit{kCPSMaxMemoryLimit};
+ SizeT UsedMemory{0UL}; /// AMLALE: This should be thread-safe as well.
+ SizeT UsedFiles{0UL}; /// AMLALE: This is a thread-safe counter to track file allocation count.
UserProcessSignal Signal;
ProcessImage Image;
@@ -86,7 +87,7 @@ class UserProcess final {
ProcessTime RTime{0}; //! @brief Process run time.
ProcessTime UTime{0}; //! #brief Process used time.
- ProcessID ProcessId{kSchedInvalidPID};
+ ProcessID ProcessId{kCPSInvalidPID};
ExecutableKind Kind{ExecutableKind::kExecutableKind};
public:
@@ -193,7 +194,7 @@ inline bool operator>=(UserProcess::ExecutableKind lhs, UserProcess::ExecutableK
return lhs_int >= rhs_int;
}
-using UserProcessArray = Array<UserProcess, kSchedProcessLimitPerTeam>;
+using UserProcessArray = Array<UserProcess, kCPSProcessLimitPerTeam>;
using UserProcessRef = Ref<UserProcess>;
/// \brief Processs Team (contains multiple processes inside it.)
@@ -205,7 +206,7 @@ class UserProcessTeam final {
NE_COPY_DEFAULT(UserProcessTeam)
- Array<UserProcess, kSchedProcessLimitPerTeam>& AsArray();
+ Array<UserProcess, kCPSProcessLimitPerTeam>& AsArray();
Ref<UserProcess>& AsRef();
ProcessID& Id();