summaryrefslogtreecommitdiffhomepage
path: root/dev/ZKA/HALKit
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-09-05 11:54:27 +0200
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-09-05 11:54:27 +0200
commit3e2b931d65582284e9716c42a902cab6d279c7f0 (patch)
treec3514953c6930e1eb465dcfb5ff1300154ade965 /dev/ZKA/HALKit
parent270223aea3a48f2d250525869c30fff418356ef3 (diff)
[ IMP ] Add Interrupt for scheduler (for APIC, maybe PIT?)
[ IMP ] Fixed user scheduler context switching. Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/ZKA/HALKit')
-rw-r--r--dev/ZKA/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cxx5
-rw-r--r--dev/ZKA/HALKit/AMD64/HalCoreMPScheduler.cxx2
2 files changed, 6 insertions, 1 deletions
diff --git a/dev/ZKA/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cxx b/dev/ZKA/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cxx
index 1be22e7d..b49a688f 100644
--- a/dev/ZKA/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cxx
+++ b/dev/ZKA/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cxx
@@ -28,6 +28,11 @@ EXTERN_C void idt_handle_pf(Kernel::UIntPtr rsp)
Kernel::ke_stop(RUNTIME_CHECK_PROCESS);
}
+EXTERN_C void idt_handle_scheduler(Kernel::UIntPtr rsp)
+{
+ Kernel::UserProcessHelper::StartScheduling();
+}
+
/// @brief Handle math fault.
/// @param rsp
EXTERN_C void idt_handle_math(Kernel::UIntPtr rsp)
diff --git a/dev/ZKA/HALKit/AMD64/HalCoreMPScheduler.cxx b/dev/ZKA/HALKit/AMD64/HalCoreMPScheduler.cxx
index f985deb7..5f6c0552 100644
--- a/dev/ZKA/HALKit/AMD64/HalCoreMPScheduler.cxx
+++ b/dev/ZKA/HALKit/AMD64/HalCoreMPScheduler.cxx
@@ -16,7 +16,7 @@
// Needed for SMP. //
#include <FirmwareKit/EFI.hxx>
-#include <KernelKit/MP.hxx>
+#include <KernelKit/HardwareThreadScheduler.hxx>
#define kApicSignature "APIC"