From 516efdab62108ff03af7f1d91e6dcba02f6aad47 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Thu, 7 Nov 2024 16:30:10 +0100 Subject: Kernel: lots of fixes and improvements. Signed-off-by: Amlal El Mahrouss --- dev/ZKAKit/src/CodeMgr.cc | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) (limited to 'dev/ZKAKit/src/CodeMgr.cc') diff --git a/dev/ZKAKit/src/CodeMgr.cc b/dev/ZKAKit/src/CodeMgr.cc index 784ea38c..cde249ac 100644 --- a/dev/ZKAKit/src/CodeMgr.cc +++ b/dev/ZKAKit/src/CodeMgr.cc @@ -16,24 +16,23 @@ namespace Kernel /// @return if the process was started or not. ProcessID rtl_create_process(MainKind main, const Char* process_name) noexcept { - kcout << "Validating process...\r"; + kcout << "Validating process header...\r"; if (!main) return No; - UserProcess* proc = new UserProcess{reinterpret_cast(main)}; - + static UserProcess proc; + kcout << "Setting-up process data...\r"; - proc->Kind = UserProcess::kExectuableKind; - proc->StackSize = kib_cast(4); - - rt_set_memory(proc->Name, 0, kProcessNameLen); - rt_copy_memory((VoidPtr)process_name, proc->Name, rt_string_len(process_name)); + proc.Code = reinterpret_cast(main); + proc.Kind = UserProcess::kExectuableKind; + proc.StackSize = kib_cast(16); - ProcessID id = UserProcessScheduler::The().Add(proc); + rt_set_memory(proc.Name, 0, kProcessNameLen); + rt_copy_memory((VoidPtr)process_name, proc.Name, rt_string_len(process_name)); - delete proc; + ProcessID id = UserProcessScheduler::The().Add(&proc); return id; } -- cgit v1.2.3