diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2025-01-02 21:10:13 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2025-01-02 21:10:13 +0100 |
| commit | cbfa3f14674713910077f024958d96fd31b4f36f (patch) | |
| tree | 23a603a8ac25b8d7ff1305f80087222a9233aee2 /dev/Kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc | |
| parent | e154cbf9a2a9eedd4c122d6619f25d29e04610ef (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.cc | 18 |
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; |
