summaryrefslogtreecommitdiffhomepage
path: root/src/kernel/KernelKit/UserProcessScheduler.h
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-12-22 07:38:52 +0100
committerAmlal El Mahrouss <amlal@nekernel.org>2025-12-22 07:42:26 +0100
commit36dee4f0d8ea806b2f061ed66a89e812ab007ed2 (patch)
tree8fe0f6895abb96eb40ee390d6411099b4decf489 /src/kernel/KernelKit/UserProcessScheduler.h
parentf7023f6a08e117d483b5928fd4301062a3384abf (diff)
feat: test: Add `kout` test and rename DeviceInterface to IDevice in KernelKit.
introduce UserPtr and unburden vettable by removing the IVettable helper. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'src/kernel/KernelKit/UserProcessScheduler.h')
-rw-r--r--src/kernel/KernelKit/UserProcessScheduler.h15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/kernel/KernelKit/UserProcessScheduler.h b/src/kernel/KernelKit/UserProcessScheduler.h
index c8790352..9a679c87 100644
--- a/src/kernel/KernelKit/UserProcessScheduler.h
+++ b/src/kernel/KernelKit/UserProcessScheduler.h
@@ -32,7 +32,7 @@ class UserProcessHelper;
/// @name UserProcess
/// @brief UserProcess class, holds information about the running process/thread.
/***********************************************************************************/
-class UserProcess NE_VETTABLE {
+class UserProcess {
public:
UserProcess();
~UserProcess();
@@ -55,20 +55,23 @@ class UserProcess NE_VETTABLE {
SizeT MemoryLimit{kSchedMaxMemoryLimit};
SizeT UsedMemory{0UL};
- struct USER_PROCESS_SIGNAL final {
+ struct UserProcessSignal {
UIntPtr SignalArg{0};
ProcessStatusKind Status{ProcessStatusKind::kKilled};
UIntPtr SignalID{0};
};
- USER_PROCESS_SIGNAL Signal;
+ UserProcessSignal Signal;
ProcessFileTree<VoidPtr>* FileTree{nullptr};
ProcessHeapTree<VoidPtr>* HeapTree{nullptr};
UserProcessTeam* ParentTeam;
+ public:
+ using VMReg = VoidPtr;
+
VoidPtr VMRegister{0UL};
- enum {
+ enum struct ExecutableKind {
kInvalidExecutableKind,
kExecutableKind,
kExecutableDylibKind,
@@ -79,8 +82,8 @@ class UserProcess NE_VETTABLE {
ProcessTime RTime{0}; //! @brief Process run time.
ProcessTime UTime{0}; //! #brief Process used time.
- ProcessID ProcessId{kSchedInvalidPID};
- Int32 Kind{kExecutableKind};
+ ProcessID ProcessId{kSchedInvalidPID};
+ ExecutableKind Kind{ExecutableKind::kExecutableKind};
public:
/***********************************************************************************/