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/UserProcessScheduler.cc | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'dev/ZKAKit/src/UserProcessScheduler.cc') diff --git a/dev/ZKAKit/src/UserProcessScheduler.cc b/dev/ZKAKit/src/UserProcessScheduler.cc index 4550af4e..e5bcd1c2 100644 --- a/dev/ZKAKit/src/UserProcessScheduler.cc +++ b/dev/ZKAKit/src/UserProcessScheduler.cc @@ -325,6 +325,12 @@ namespace Kernel ProcessID UserProcessScheduler::Add(UserProcess* process) { + if (*process->Name == 0) + { + Char process_name[] = "System Process"; + rt_copy_memory((VoidPtr)process_name, process->Name, rt_string_len(process_name)); + } + #ifdef __ZKA_AMD64__ process->VMRegister = mm_new_heap(sizeof(PDE), No, Yes); @@ -353,7 +359,7 @@ namespace Kernel process->PefDLLDelegate = rtl_init_dll(process); MUST_PASS(process->PefDLLDelegate); - kcout << "Create delegate dylib for: " << process->Name << endl; + kcout << "Create DLL Delegate for: " << process->Name << endl; } process->StackReserve = new UInt8[process->StackSize]; @@ -370,7 +376,7 @@ namespace Kernel return -kErrorProcessFault; } - kcout << "Created stack reserve for: " << process->Name << endl; + kcout << "Create stack reserve for: " << process->Name << endl; auto pid = kProcessIDCounter; @@ -575,8 +581,8 @@ namespace Kernel //////////////////////////////////////////////////////////// auto prev_ptime = HardwareThreadScheduler::The()[index].Leak()->fPTime; - HardwareThreadScheduler::The()[index].Leak()->fPTime = UserProcessScheduler::The().CurrentTeam().AsArray()[new_pid].ProcessId; - Bool ret = HardwareThreadScheduler::The()[index].Leak()->Switch(image_ptr, stack, frame_ptr); + HardwareThreadScheduler::The()[index].Leak()->fPTime = UserProcessScheduler::The().CurrentTeam().AsArray()[new_pid].PTime; + Bool ret = HardwareThreadScheduler::The()[index].Leak()->Switch(image_ptr, stack, frame_ptr, new_pid); //////////////////////////////////////////////////////////// /// Rollback on fail. /// -- cgit v1.2.3