diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-12-30 19:08:56 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-12-30 19:11:19 +0100 |
| commit | 86555126d855df005bb1777c1c4ab7127c677b6c (patch) | |
| tree | 5afca23f0ab7a6bf091dc25fc4998d0c51347147 /src/kernel/KernelKit/HardwareThreadScheduler.h | |
| parent | 8d853a3235d37b746508d178b6128380b07ceb57 (diff) | |
feat: SMP support tweaks, add MACROS_MAP.md
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'src/kernel/KernelKit/HardwareThreadScheduler.h')
| -rw-r--r-- | src/kernel/KernelKit/HardwareThreadScheduler.h | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/kernel/KernelKit/HardwareThreadScheduler.h b/src/kernel/KernelKit/HardwareThreadScheduler.h index b7aa63e5..bc5bea81 100644 --- a/src/kernel/KernelKit/HardwareThreadScheduler.h +++ b/src/kernel/KernelKit/HardwareThreadScheduler.h @@ -2,8 +2,8 @@ // Licensed under the Apache License, Version 2.0 (see LICENSE file) // Official repository: https://github.com/nekernel-org/nekernel -#ifndef __INC_MP_MANAGER_H__ -#define __INC_MP_MANAGER_H__ +#ifndef KERNEL_HARDWARETHREADSCHEDULER_H +#define KERNELKIT_HARDWARETHREADSCHEDULER_H #include <ArchKit/ArchKit.h> #include <CompilerKit/CompilerKit.h> @@ -12,9 +12,17 @@ /// @note Last Rev Sun 28 Jul CET 2024 /// @note Last Rev Thu, Aug 1, 2024 9:07:38 AM -#define kMaxAPInsideSched (4U) +#if defined(__nekernel_max_cores) +/// \note This can be edited at compile-time to specify how many cores can be used by NeKernel. +#define kMaxAPInsideSched (__nekernel_max_cores) +#endif + +#if defined(__nekernel_boot_core_index) +#define kBootAPIndex (__nekernel_boot_core_index) +#endif namespace Kernel { + enum struct ThreadKind { kAPInvalid = 0, kAPSystemReserved = 100, // System reserved thread, well user can't use it @@ -123,6 +131,7 @@ Void mp_wakeup_thread(HAL::StackFramePtr stack); /// @brief makes thread sleep. /// hooks and hangs thread to prevent code from executing. Void mp_hang_thread(HAL::StackFramePtr stack); + } // namespace Kernel #endif // !__INC_MP_MANAGER_H__ |
