summaryrefslogtreecommitdiffhomepage
path: root/dev/ZKAKit/KernelKit
diff options
context:
space:
mode:
authorAmlal <amlal.elmahrouss@icloud.com>2024-10-29 07:11:56 +0100
committerAmlal <amlal.elmahrouss@icloud.com>2024-10-29 07:11:56 +0100
commitc08af30448618c5d1950dc1fa0fb1685782e7b22 (patch)
treebc12b43a94fe4d4ff60b0f7c17100a179d95d0dc /dev/ZKAKit/KernelKit
parent0511c53e648e5f253cd9e83c9e211aa6600db377 (diff)
FIX: Fix scheduler crash (1/2)
- UserProcessScheduler has been improved and cleaned up. - Same goes for the HardwareThreadScheduler Signed-off-by: Amlal <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/ZKAKit/KernelKit')
-rw-r--r--dev/ZKAKit/KernelKit/CodeMgr.h2
-rw-r--r--dev/ZKAKit/KernelKit/Heap.h6
-rw-r--r--dev/ZKAKit/KernelKit/PEFCodeMgr.h2
-rw-r--r--dev/ZKAKit/KernelKit/UserProcessScheduler.h4
4 files changed, 3 insertions, 11 deletions
diff --git a/dev/ZKAKit/KernelKit/CodeMgr.h b/dev/ZKAKit/KernelKit/CodeMgr.h
index b8fa4c37..4faa1235 100644
--- a/dev/ZKAKit/KernelKit/CodeMgr.h
+++ b/dev/ZKAKit/KernelKit/CodeMgr.h
@@ -27,5 +27,5 @@ namespace Kernel
/// @note This sets up a new stack, anything on the main function that calls the Kernel will not be accessible.
/// @param main the start of the process.
/// @return The team's process id.
- SizeT rtl_create_process(MainKind main, const Char* process_name) noexcept;
+ ProcessID rtl_create_process(MainKind main, const Char* process_name) noexcept;
} // namespace Kernel
diff --git a/dev/ZKAKit/KernelKit/Heap.h b/dev/ZKAKit/KernelKit/Heap.h
index 3b098397..4746eb47 100644
--- a/dev/ZKAKit/KernelKit/Heap.h
+++ b/dev/ZKAKit/KernelKit/Heap.h
@@ -53,12 +53,6 @@ namespace Kernel
inline T* mm_new_class(Args&&... args)
{
T* cls = new T(move(args)...);
-
- if (cls == nullptr)
- {
- ke_stop(RUNTIME_CHECK_POINTER);
- }
-
return cls;
}
diff --git a/dev/ZKAKit/KernelKit/PEFCodeMgr.h b/dev/ZKAKit/KernelKit/PEFCodeMgr.h
index 00afa2d8..ed9b6d1f 100644
--- a/dev/ZKAKit/KernelKit/PEFCodeMgr.h
+++ b/dev/ZKAKit/KernelKit/PEFCodeMgr.h
@@ -60,7 +60,7 @@ namespace Kernel
namespace Utils
{
- SizeT execute_from_image(PEFLoader& exec, const Int32& procKind) noexcept;
+ ProcessID execute_from_image(PEFLoader& exec, const Int32& procKind) noexcept;
} // namespace Utils
} // namespace Kernel
diff --git a/dev/ZKAKit/KernelKit/UserProcessScheduler.h b/dev/ZKAKit/KernelKit/UserProcessScheduler.h
index c093bfb1..df366e07 100644
--- a/dev/ZKAKit/KernelKit/UserProcessScheduler.h
+++ b/dev/ZKAKit/KernelKit/UserProcessScheduler.h
@@ -14,7 +14,7 @@
#define kSchedMinMicroTime (AffinityKind::kStandard)
#define kSchedInvalidPID (-1)
-#define kSchedProcessLimitPerTeam (16U)
+#define kSchedProcessLimitPerTeam (32U)
#define kSchedMaxMemoryLimit gib_cast(128)
#define kSchedMaxStackSz mib_cast(8)
@@ -278,7 +278,6 @@ namespace Kernel
const SizeT Run() noexcept;
public:
- STATIC ErrorOr<UserProcessScheduler> TheSafe();
STATIC UserProcessScheduler& The();
private:
@@ -296,7 +295,6 @@ namespace Kernel
STATIC bool CanBeScheduled(const UserProcess& process);
STATIC PID& TheCurrentPID();
STATIC SizeT StartScheduling();
- STATIC Bool InitializeScheduler();
};
const UInt32& sched_get_exit_code(void) noexcept;