diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-08-31 15:29:28 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-08-31 15:30:56 +0200 |
| commit | 20df23fab3e0c7c3b0559585622345f20b25e9be (patch) | |
| tree | ab4ea9c70f88fdd9e6d2563fcf69cc78d418baac /dev/ZKA/HALKit | |
| parent | e2a90fce95fde6eaef50e6d99e32b902ec14cc0d (diff) | |
WIP: Work in progress user scheduler, SMP version is next after that
one.
TODO: Finish to fix the last issues.
TODO2: When done, extended the SCI.
TODO3: After that load a PEF executable.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/ZKA/HALKit')
| -rw-r--r-- | dev/ZKA/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cxx | 4 | ||||
| -rw-r--r-- | dev/ZKA/HALKit/AMD64/HalSchedulerCore.cxx | 1 |
2 files changed, 4 insertions, 1 deletions
diff --git a/dev/ZKA/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cxx b/dev/ZKA/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cxx index 99b784be..1e9e6ec1 100644 --- a/dev/ZKA/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cxx +++ b/dev/ZKA/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cxx @@ -20,6 +20,7 @@ EXTERN_C void idt_handle_gpf(Kernel::UIntPtr rsp) EXTERN_C void idt_handle_pf(Kernel::UIntPtr rsp) { Kernel::UserProcessScheduler::The().CurrentProcess().Leak().Crash(); + Kernel::ke_stop(RUNTIME_CHECK_PROCESS); } /// @brief Handle math fault. @@ -27,6 +28,7 @@ EXTERN_C void idt_handle_pf(Kernel::UIntPtr rsp) EXTERN_C void idt_handle_math(Kernel::UIntPtr rsp) { Kernel::UserProcessScheduler::The().CurrentProcess().Leak().Crash(); + Kernel::ke_stop(RUNTIME_CHECK_PROCESS); } /// @brief Handle any generic fault. @@ -34,6 +36,7 @@ EXTERN_C void idt_handle_math(Kernel::UIntPtr rsp) EXTERN_C void idt_handle_generic(Kernel::UIntPtr rsp) { Kernel::UserProcessScheduler::The().CurrentProcess().Leak().Crash(); + Kernel::ke_stop(RUNTIME_CHECK_PROCESS); } /// @brief Handle #UD fault. @@ -41,6 +44,7 @@ EXTERN_C void idt_handle_generic(Kernel::UIntPtr rsp) EXTERN_C void idt_handle_ud(Kernel::UIntPtr rsp) { Kernel::UserProcessScheduler::The().CurrentProcess().Leak().Crash(); + Kernel::ke_stop(RUNTIME_CHECK_PROCESS); } /// @brief Enter syscall from assembly. diff --git a/dev/ZKA/HALKit/AMD64/HalSchedulerCore.cxx b/dev/ZKA/HALKit/AMD64/HalSchedulerCore.cxx index a63328ab..3897cb6a 100644 --- a/dev/ZKA/HALKit/AMD64/HalSchedulerCore.cxx +++ b/dev/ZKA/HALKit/AMD64/HalSchedulerCore.cxx @@ -14,7 +14,6 @@ Void UserProcess::SetEntrypoint(VoidPtr imageStart) noexcept if (imageStart == nullptr) this->Crash(); - VoidPtr cr3_pd; asm volatile( |
