diff options
Diffstat (limited to 'dev/kernel/HALKit/POWER/HalApplicationProcessor.cc')
| -rw-r--r-- | dev/kernel/HALKit/POWER/HalApplicationProcessor.cc | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/dev/kernel/HALKit/POWER/HalApplicationProcessor.cc b/dev/kernel/HALKit/POWER/HalApplicationProcessor.cc deleted file mode 100644 index 84d9b1c1..00000000 --- a/dev/kernel/HALKit/POWER/HalApplicationProcessor.cc +++ /dev/null @@ -1,43 +0,0 @@ -/* ======================================== - - Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license. - -======================================== */ - -#include <HALKit/POWER/AP.h> -#include <HALKit/POWER/Processor.h> -#include <KernelKit/DebugOutput.h> - -/// @note This part of the HAL needs an owner. - -namespace Kernel::Detail { -STATIC void mp_hang_fn(void) { - while (YES) - ; -} -} // namespace Kernel::Detail - -namespace Kernel { -/// @brief wakes up thread. -/// wakes up thread from hang. -void mp_wakeup_thread(HAL::StackFramePtr stack) { - if (!stack) return; - - MUST_PASS(stack->R15 > 0); - MUST_PASS(stack->IP > 0); - - hal_set_pc_to_hart(reinterpret_cast<HAL_HARDWARE_THREAD*>(stack->R15), - reinterpret_cast<VoidPtr>(stack->IP)); -} - -/// @brief makes thread sleep. -/// hooks and hangs thread to prevent code from executing. -void mp_hang_thread(HAL::StackFramePtr stack) { - if (!stack) return; - - MUST_PASS(stack->R15 > 0); - - hal_set_pc_to_hart(reinterpret_cast<HAL_HARDWARE_THREAD*>(stack->R15), - reinterpret_cast<VoidPtr>(Kernel::Detail::mp_hang_fn)); -} -} // namespace Kernel |
