diff options
Diffstat (limited to 'src/kernel/KernelKit')
| -rw-r--r-- | src/kernel/KernelKit/Config.h | 4 | ||||
| -rw-r--r-- | src/kernel/KernelKit/CoreProcessScheduler.h | 65 | ||||
| -rw-r--r-- | src/kernel/KernelKit/DriveMgr.h | 2 | ||||
| -rw-r--r-- | src/kernel/KernelKit/HardwareThreadScheduler.h | 6 | ||||
| -rw-r--r-- | src/kernel/KernelKit/ILoader.h | 6 | ||||
| -rw-r--r-- | src/kernel/KernelKit/KernelTask.h | 4 | ||||
| -rw-r--r-- | src/kernel/KernelKit/PCI/DMA.h | 2 | ||||
| -rw-r--r-- | src/kernel/KernelKit/PCI/Device.h | 2 | ||||
| -rw-r--r-- | src/kernel/KernelKit/TraceSrv.h | 1 | ||||
| -rw-r--r-- | src/kernel/KernelKit/UserProcessScheduler.h | 25 |
10 files changed, 47 insertions, 70 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..71a75e1a 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 kCPSMinMicroTime (AffinityKind::kStandard) +#define kCPSInvalidPID (-1) +#define kCPSProcessLimitPerTeam (32U) +#define kCPSTeamCount (256U) -#define kSchedMaxMemoryLimit (gib_cast(128)) /* max physical memory limit */ -#define kSchedMaxStackSz (kib_cast(8)) /* maximum stack size */ - -#define kSchedNameLen (128U) +#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); @@ -60,19 +59,11 @@ struct ProcessHeapTree final { TreeKind Color{TreeKind::kBlackTreeKind}; - struct ProcessHeapTree<T>* Parent { - nullptr - }; - struct ProcessHeapTree<T>* Child { - nullptr - }; - - struct ProcessHeapTree<T>* Prev { - nullptr - }; - struct ProcessHeapTree<T>* Next { - nullptr - }; + struct ProcessHeapTree<T>* Parent{nullptr}; + struct ProcessHeapTree<T>* Child{nullptr}; + + struct ProcessHeapTree<T>* Prev{nullptr}; + struct ProcessHeapTree<T>* Next{nullptr}; }; template <typename T> @@ -87,21 +78,13 @@ struct ProcessFileTree final { TreeKind Color{TreeKind::kBlackTreeKind}; - struct ProcessFileTree<T>* Parent { - nullptr - }; + struct ProcessFileTree<T>* Parent{nullptr}; - struct ProcessFileTree<T>* Child { - nullptr - }; + struct ProcessFileTree<T>* Child{nullptr}; - struct ProcessFileTree<T>* Prev { - nullptr - }; + struct ProcessFileTree<T>* Prev{nullptr}; - struct ProcessFileTree<T>* Next { - nullptr - }; + struct ProcessFileTree<T>* Next{nullptr}; }; template <typename T> @@ -122,21 +105,13 @@ struct ProcessSpecialTree final { TreeKind Color{TreeKind::kBlackTreeKind}; - struct ProcessSpecialTree<T>* Parent { - nullptr - }; + struct ProcessSpecialTree<T>* Parent{nullptr}; - struct ProcessSpecialTree<T>* Child { - nullptr - }; + struct ProcessSpecialTree<T>* Child{nullptr}; - struct ProcessSpecialTree<T>* Prev { - nullptr - }; + struct ProcessSpecialTree<T>* Prev{nullptr}; - struct ProcessSpecialTree<T>* Next { - nullptr - }; + struct ProcessSpecialTree<T>* Next{nullptr}; }; /***********************************************************************************/ diff --git a/src/kernel/KernelKit/DriveMgr.h b/src/kernel/KernelKit/DriveMgr.h index 082ffc95..76ee5dcf 100644 --- a/src/kernel/KernelKit/DriveMgr.h +++ b/src/kernel/KernelKit/DriveMgr.h @@ -73,7 +73,7 @@ struct DriveTrait final { Void (*fOutput)(DrivePacket& packet){nullptr}; Void (*fVerify)(DrivePacket& packet){nullptr}; Void (*fInit)(DrivePacket& packet){nullptr}; - const Char* (*fProtocol)(Void){nullptr}; + const Char* (*fProtocol)(Void) {nullptr}; }; namespace Probe { diff --git a/src/kernel/KernelKit/HardwareThreadScheduler.h b/src/kernel/KernelKit/HardwareThreadScheduler.h index 53a971e5..a9183cd2 100644 --- a/src/kernel/KernelKit/HardwareThreadScheduler.h +++ b/src/kernel/KernelKit/HardwareThreadScheduler.h @@ -64,10 +64,10 @@ class HardwareThread final { BOOL IsWakeup(); public: - HAL::StackFramePtr StackFrame(); + HAL::StackFramePtr StackFrame(); _Output const ThreadKind& Kind(); BOOL IsBusy(); - _Output const ThreadID& ID(); + _Output const ThreadID& ID(); private: HAL::StackFramePtr fStack{}; @@ -102,7 +102,7 @@ class HardwareThreadScheduler final : public ISchedulable { public: Ref<HardwareThread*> operator[](SizeT idx); bool operator!(); - operator bool(); + operator bool(); Bool IsUser() override { return Yes; } diff --git a/src/kernel/KernelKit/ILoader.h b/src/kernel/KernelKit/ILoader.h index f6e13023..9291340f 100644 --- a/src/kernel/KernelKit/ILoader.h +++ b/src/kernel/KernelKit/ILoader.h @@ -26,9 +26,9 @@ class ILoader { public: virtual _Output ErrorOr<VoidPtr> GetBlob() { return ErrorOr<VoidPtr>{}; } - virtual _Output const Char* AsString() { return "(null)"; } - virtual _Output const Char* MIME() { return "*/*"; } - virtual _Output const Char* Path() { return "(null)"; } + virtual _Output const Char* AsString() { return "(null)"; } + virtual _Output const Char* MIME() { return "*/*"; } + virtual _Output const Char* Path() { return "(null)"; } virtual _Output ErrorOr<VoidPtr> FindStart() { return ErrorOr<VoidPtr>{}; } virtual _Output ErrorOr<VoidPtr> FindSymbol(_Input const Char*, _Input Int32) { return ErrorOr<VoidPtr>{}; 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/DMA.h b/src/kernel/KernelKit/PCI/DMA.h index 63b284cb..f27681de 100644 --- a/src/kernel/KernelKit/PCI/DMA.h +++ b/src/kernel/KernelKit/PCI/DMA.h @@ -47,7 +47,7 @@ class DMAWrapper final { T* Get(UIntPtr off = 0); public: - operator bool(); + operator bool(); bool operator!(); public: 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..5018f1f6 100644 --- a/src/kernel/KernelKit/UserProcessScheduler.h +++ b/src/kernel/KernelKit/UserProcessScheduler.h @@ -52,20 +52,21 @@ 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}; - UserProcessSignal Signal; - ProcessImage Image; + 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; private: ProcessFileTree<Any>* FileTree{nullptr}; @@ -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,9 +206,9 @@ class UserProcessTeam final { NE_COPY_DEFAULT(UserProcessTeam) - Array<UserProcess, kSchedProcessLimitPerTeam>& AsArray(); - Ref<UserProcess>& AsRef(); - ProcessID& Id(); + Array<UserProcess, kCPSProcessLimitPerTeam>& AsArray(); + Ref<UserProcess>& AsRef(); + ProcessID& Id(); public: UserProcessArray mProcessList; |
