From cbfa3f14674713910077f024958d96fd31b4f36f Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Thu, 2 Jan 2025 21:10:13 +0100 Subject: FIX: Fix scheduler for the task switch, separate desktop and mobile targets. - Giving priority to aarch64 support. - The scheduler needed those fixes before proceeding to aarch64 support. - We use the register approach, which is correct here, the platform code will just take those records and execute them. Signed-off-by: Amlal El Mahrouss --- .../HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc | 18 ------------------ 1 file changed, 18 deletions(-) (limited to 'dev/Kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc') diff --git a/dev/Kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc b/dev/Kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc index 32be8dee..ca3f2353 100644 --- a/dev/Kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc +++ b/dev/Kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc @@ -17,9 +17,6 @@ EXTERN_C void idt_handle_gpf(Kernel::UIntPtr rsp) { auto process = Kernel::UserProcessScheduler::The().GetCurrentProcess(); - if (!process) - Kernel::ke_panic(RUNTIME_CHECK_PAGE); - if (process.Leak().Status != Kernel::ProcessStatusKind::kRunning) return; @@ -44,9 +41,6 @@ EXTERN_C void idt_handle_pf(Kernel::UIntPtr rsp) { auto process = Kernel::UserProcessScheduler::The().GetCurrentProcess(); - if (!process) - Kernel::ke_panic(RUNTIME_CHECK_PAGE); - if (process.Leak().Status != Kernel::ProcessStatusKind::kRunning) return; @@ -96,9 +90,6 @@ EXTERN_C void idt_handle_math(Kernel::UIntPtr rsp) { auto process = Kernel::UserProcessScheduler::The().GetCurrentProcess(); - if (!process) - Kernel::ke_panic(RUNTIME_CHECK_PAGE); - if (process.Leak().Status != Kernel::ProcessStatusKind::kRunning) return; @@ -125,9 +116,6 @@ EXTERN_C void idt_handle_generic(Kernel::UIntPtr rsp) { auto process = Kernel::UserProcessScheduler::The().GetCurrentProcess(); - if (!process) - Kernel::ke_panic(RUNTIME_CHECK_PAGE); - if (process.Leak().Status != Kernel::ProcessStatusKind::kRunning) return; @@ -152,9 +140,6 @@ EXTERN_C Kernel::Void idt_handle_breakpoint(Kernel::UIntPtr rip) { auto process = Kernel::UserProcessScheduler::The().GetCurrentProcess(); - if (!process) - Kernel::ke_panic(RUNTIME_CHECK_PAGE); - if (process.Leak().Status != Kernel::ProcessStatusKind::kRunning) return; @@ -179,9 +164,6 @@ EXTERN_C void idt_handle_ud(Kernel::UIntPtr rsp) { auto process = Kernel::UserProcessScheduler::The().GetCurrentProcess(); - if (!process) - Kernel::ke_panic(RUNTIME_CHECK_PAGE); - if (process.Leak().Status != Kernel::ProcessStatusKind::kRunning) return; -- cgit v1.2.3