From ef71b80d3df1969a2be85eadf2d83cd85745469d Mon Sep 17 00:00:00 2001 From: Amlal Date: Sun, 8 Sep 2024 22:19:00 +0200 Subject: A lot: - Changed task banks are being switched in the kernel. - Changed user mode switch mode, improved it to push rflags. - User proc will start the scheduler when it's being jumped on. Signed-off-by: Amlal --- dev/ZKA/Sources/HardwareThreadScheduler.cxx | 25 +++++++------------------ 1 file changed, 7 insertions(+), 18 deletions(-) (limited to 'dev/ZKA/Sources/HardwareThreadScheduler.cxx') diff --git a/dev/ZKA/Sources/HardwareThreadScheduler.cxx b/dev/ZKA/Sources/HardwareThreadScheduler.cxx index 09eadefb..e5947357 100644 --- a/dev/ZKA/Sources/HardwareThreadScheduler.cxx +++ b/dev/ZKA/Sources/HardwareThreadScheduler.cxx @@ -97,27 +97,16 @@ namespace Kernel fStack = frame; - if (kHandoverHeader->f_HardwareTables.f_MultiProcessingEnabled) - { - if (this->IsBusy()) - return false; + if (this->IsBusy()) + return false; - kcout << "Switching to the Process's HW thread...\r"; + kcout << "Registering process bank...\r"; - this->Busy(true); - Bool ret = mp_register_process(image, stack_ptr, fStack); - this->Busy(false); + this->Busy(true); + Bool ret = mp_register_process(image, stack_ptr, fStack); + this->Busy(false); - return ret; - } - else - { - kcout << "Switching to the Process's thread...\r"; - - mp_do_context_switch(image, stack_ptr, fStack); - - return Yes; - } + return ret; } ///! @brief Tells if processor is waked up. -- cgit v1.2.3