diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-12-27 08:55:09 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-12-27 08:55:09 +0100 |
| commit | e159d3895e29f38ec1345d396a593a04b7475b92 (patch) | |
| tree | 5be83ae6f069465780504a642f00955aa3e7b509 /src/kernel/HALKit/RISCV/HalApplicationProcessor.cc | |
| parent | 9e746d42d2e3faa526f12ba222f5ee6924dd30f9 (diff) | |
kernel! giant source code refactor.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'src/kernel/HALKit/RISCV/HalApplicationProcessor.cc')
| -rw-r--r-- | src/kernel/HALKit/RISCV/HalApplicationProcessor.cc | 76 |
1 files changed, 37 insertions, 39 deletions
diff --git a/src/kernel/HALKit/RISCV/HalApplicationProcessor.cc b/src/kernel/HALKit/RISCV/HalApplicationProcessor.cc index 16c9e33f..68242f97 100644 --- a/src/kernel/HALKit/RISCV/HalApplicationProcessor.cc +++ b/src/kernel/HALKit/RISCV/HalApplicationProcessor.cc @@ -1,39 +1,37 @@ -/* ========================================
-
- Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
-
-======================================== */
-
-#include <HALKit/RISCV/AP.h>
-#include <HALKit/RISCV/Processor.h>
-#include <KernelKit/DebugOutput.h>
-
-using namespace Kernel;
-
-namespace Kernel {
-namespace Detail {
- STATIC void mp_hang_fn(void) {
- while (YES);
- }
-
-} // namespace Detail
-
-/// @brief wakes up thread.
-/// wakes up thread from hang.
-void mp_wakeup_thread(HAL::StackFramePtr stack) {
- if (!stack) return;
-
- 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;
-
- hal_set_pc_to_hart(reinterpret_cast<HAL_HARDWARE_THREAD*>(stack->R15),
- reinterpret_cast<VoidPtr>(Kernel::Detail::mp_hang_fn));
-}
-
-} // namespace Kernel
+// Copyright 2024-2025, Amlal El Mahrouss (amlal@nekernel.org) +// Licensed under the Apache License, Version 2.0 (see LICENSE file) +// Official repository: https://github.com/nekernel-org/nekernel + +#include <HALKit/RISCV/AP.h> +#include <HALKit/RISCV/Processor.h> +#include <KernelKit/DebugOutput.h> + +using namespace Kernel; + +namespace Kernel { +namespace Detail { + STATIC void mp_hang_fn(void) { + while (YES); + } + +} // namespace Detail + +/// @brief wakes up thread. +/// wakes up thread from hang. +void mp_wakeup_thread(HAL::StackFramePtr stack) { + if (!stack) return; + + 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; + + hal_set_pc_to_hart(reinterpret_cast<HAL_HARDWARE_THREAD*>(stack->R15), + reinterpret_cast<VoidPtr>(Kernel::Detail::mp_hang_fn)); +} + +} // namespace Kernel |
