summaryrefslogtreecommitdiffhomepage
path: root/dev/Kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2025-01-02 21:10:13 +0100
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2025-01-02 21:10:13 +0100
commitcbfa3f14674713910077f024958d96fd31b4f36f (patch)
tree23a603a8ac25b8d7ff1305f80087222a9233aee2 /dev/Kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc
parente154cbf9a2a9eedd4c122d6619f25d29e04610ef (diff)
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 <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/Kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc')
-rw-r--r--dev/Kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc18
1 files changed, 0 insertions, 18 deletions
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;