From 8b6cc0cbe5e19e8114a65785e24bbcf4d22e0d2f Mon Sep 17 00:00:00 2001 From: Amlal Date: Wed, 11 Sep 2024 11:45:52 +0200 Subject: IMP: Better architecture for task scheduling. Signed-off-by: Amlal --- dev/ZKA/KernelKit/UserProcessScheduler.hxx | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'dev/ZKA/KernelKit/UserProcessScheduler.hxx') diff --git a/dev/ZKA/KernelKit/UserProcessScheduler.hxx b/dev/ZKA/KernelKit/UserProcessScheduler.hxx index 845c0081..3a6f03a1 100644 --- a/dev/ZKA/KernelKit/UserProcessScheduler.hxx +++ b/dev/ZKA/KernelKit/UserProcessScheduler.hxx @@ -257,7 +257,7 @@ namespace Kernel /// @brief UserProcess scheduler class. /// The main class which you call to schedule processes. - class UserProcessScheduler final + class UserProcessScheduler final : public ISchedulerObject { friend class UserProcessHelper; @@ -278,6 +278,21 @@ namespace Kernel SizeT Add(UserProcess processRef); Bool Remove(ProcessID processSlot); + const Bool IsUser() override + { + return Yes; + } + + const Bool IsKernel() override + { + return No; + } + + const Bool HasMP() override + { + return kHandoverHeader->f_HardwareTables.f_MultiProcessingEnabled; + } + public: Ref& CurrentProcess(); SizeT Run() noexcept; -- cgit v1.2.3