diff options
Diffstat (limited to 'dev')
| -rw-r--r-- | dev/Kernel/HALKit/AMD64/HalSchedulerCorePrimitivesAMD64.cc (renamed from dev/Kernel/HALKit/AMD64/HalAP.cc) | 7 | ||||
| -rw-r--r-- | dev/Kernel/HALKit/ARM64/HalSchedulerCorePrimitivesARM64.cc | 7 | ||||
| -rw-r--r-- | dev/Kernel/src/HardwareThreadScheduler.cc | 2 |
3 files changed, 9 insertions, 7 deletions
diff --git a/dev/Kernel/HALKit/AMD64/HalAP.cc b/dev/Kernel/HALKit/AMD64/HalSchedulerCorePrimitivesAMD64.cc index e217b24f..5eee0245 100644 --- a/dev/Kernel/HALKit/AMD64/HalAP.cc +++ b/dev/Kernel/HALKit/AMD64/HalSchedulerCorePrimitivesAMD64.cc @@ -14,9 +14,10 @@ namespace Kernel /// @param /***********************************************************************************/ - EXTERN_C Void __zka_pure_call(void) + EXTERN_C Void __zka_pure_call(UserProcess* process) { - UserProcessScheduler::The().GetCurrentProcess().Leak().Crash(); + if (process) + process->Crash(); } /***********************************************************************************/ @@ -24,7 +25,7 @@ namespace Kernel /// @param stack_ptr the frame pointer. /***********************************************************************************/ - Bool hal_check_stack(HAL::StackFramePtr stack_ptr) + EXTERN_C Bool hal_check_stack(HAL::StackFramePtr stack_ptr) { if (!stack_ptr) return No; diff --git a/dev/Kernel/HALKit/ARM64/HalSchedulerCorePrimitivesARM64.cc b/dev/Kernel/HALKit/ARM64/HalSchedulerCorePrimitivesARM64.cc index e6254fb7..e46c4b66 100644 --- a/dev/Kernel/HALKit/ARM64/HalSchedulerCorePrimitivesARM64.cc +++ b/dev/Kernel/HALKit/ARM64/HalSchedulerCorePrimitivesARM64.cc @@ -14,9 +14,10 @@ namespace Kernel /// @param void
/***********************************************************************************/
- EXTERN_C Void __zka_pure_call(void)
+ EXTERN_C Void __zka_pure_call(UserProcess* process)
{
- UserProcessScheduler::The().GetCurrentProcess().Leak().Crash();
+ if (process)
+ process->Crash();
}
/***********************************************************************************/
@@ -24,7 +25,7 @@ namespace Kernel /// @param stack_ptr the frame pointer.
/***********************************************************************************/
- Bool hal_check_stack(HAL::StackFramePtr stack_ptr)
+ EXTERN_C Bool hal_check_stack(HAL::StackFramePtr stack_ptr)
{
if (!stack_ptr)
return No;
diff --git a/dev/Kernel/src/HardwareThreadScheduler.cc b/dev/Kernel/src/HardwareThreadScheduler.cc index a1312b34..2121a911 100644 --- a/dev/Kernel/src/HardwareThreadScheduler.cc +++ b/dev/Kernel/src/HardwareThreadScheduler.cc @@ -21,7 +21,7 @@ namespace Kernel /// @note Those symbols are needed in order to switch and validate the stack. /***********************************************************************************/ - EXTERN Bool hal_check_stack(HAL::StackFramePtr frame_ptr); + EXTERN_C Bool hal_check_stack(HAL::StackFramePtr frame_ptr); EXTERN_C Bool mp_register_process(HAL::StackFramePtr frame, ProcessID pid); STATIC HardwareThreadScheduler kHardwareThreadScheduler; |
