diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/kernel/HALKit/AMD64/HalKernelMain.cc | 7 | ||||
| -rw-r--r-- | src/kernel/KernelKit/KernelTaskScheduler.h | 7 | ||||
| -rw-r--r-- | src/kernel/KernelKit/UserProcessScheduler.h | 9 | ||||
| -rw-r--r-- | src/kernel/NeKit/Vettable.h | 13 |
4 files changed, 21 insertions, 15 deletions
diff --git a/src/kernel/HALKit/AMD64/HalKernelMain.cc b/src/kernel/HALKit/AMD64/HalKernelMain.cc index 7994a017..3a30bb04 100644 --- a/src/kernel/HALKit/AMD64/HalKernelMain.cc +++ b/src/kernel/HALKit/AMD64/HalKernelMain.cc @@ -17,14 +17,13 @@ #include <misc/BenchKit/HWChronometer.h> #include <modules/ACPI/ACPIFactoryInterface.h> #include <modules/CoreGfx/TextGfx.h> -#include "NeKit/Config.h" #ifndef __NE_MODULAR_KERNEL_COMPONENTS__ EXTERN_C Kernel::VoidPtr kInterruptVectorTable[]; /// @brief Kernel init function. /// @param handover_hdr Handover boot header. -EXTERN_C Int32 hal_init_platform(Kernel::HEL::BootInfoHeader* handover_hdr) { +EXTERN_C Kernel::Int32 hal_init_platform(Kernel::HEL::BootInfoHeader* handover_hdr) { using namespace Kernel; if (handover_hdr->f_Magic != kHandoverMagic && handover_hdr->f_Version != kHandoverVersion) { @@ -146,12 +145,12 @@ EXTERN_C Kernel::Void hal_real_init(Kernel::Void) { UserProcessScheduler::The().SwitchTeam(kRTUserTeam); // AMLALE: TODO: Prosan, Process sanitizer. - rtl_create_user_process([]() -> void { while (YES); }, "Prosan"); + rtl_create_user_process([]() -> void { while (YES); }, "ProSan"); UserProcessScheduler::The().SwitchTeam(kMidUserTeam); // AMLALE: TODO, Vet sanitizer. - rtl_create_user_process([]() -> void { while (YES); }, "Vetsan"); + rtl_create_user_process([]() -> void { while (YES); }, "VetSan"); HAL::mp_init_cores(kHandoverHeader->f_HardwareTables.f_VendorPtr); diff --git a/src/kernel/KernelKit/KernelTaskScheduler.h b/src/kernel/KernelKit/KernelTaskScheduler.h index a7fd97e1..861ccbda 100644 --- a/src/kernel/KernelKit/KernelTaskScheduler.h +++ b/src/kernel/KernelKit/KernelTaskScheduler.h @@ -17,7 +17,7 @@ namespace Kernel { class KernelTaskHelper; -typedef ProcessID KID; +using KID = ProcessID; /// @brief Equivalent of UserProcess, but for kernel tasks. /// @author Amlal @@ -34,6 +34,11 @@ class KernelTask final { KID Kid{0}; }; +template <> +struct Vettable<KernelTask> final { + static constexpr BOOL kValue = NO; +}; + /// @brief Equivalent of UserProcessHelper, but for kernel tasks. /// @author Amlal class KernelTaskHelper final { diff --git a/src/kernel/KernelKit/UserProcessScheduler.h b/src/kernel/KernelKit/UserProcessScheduler.h index 5cf0a447..56cd50e7 100644 --- a/src/kernel/KernelKit/UserProcessScheduler.h +++ b/src/kernel/KernelKit/UserProcessScheduler.h @@ -158,8 +158,13 @@ class UserProcess NE_VETTABLE { friend UserProcessHelper; }; -typedef Array<UserProcess, kSchedProcessLimitPerTeam> UserProcessArray; -typedef Ref<UserProcess> UserProcessRef; +template <> +struct Vettable<UserProcess> final { + static constexpr BOOL kValue = YES; +}; + +using UserProcessArray = Array<UserProcess, kSchedProcessLimitPerTeam>; +using UserProcessRef = Ref<UserProcess>; /// \brief Processs Team (contains multiple processes inside it.) /// Equivalent to a process batch diff --git a/src/kernel/NeKit/Vettable.h b/src/kernel/NeKit/Vettable.h index d79aaa0b..8290b318 100644 --- a/src/kernel/NeKit/Vettable.h +++ b/src/kernel/NeKit/Vettable.h @@ -16,11 +16,6 @@ public \ ::Kernel::IVettable -#define NE_NOT_VETTABLE \ - final: \ - public \ - ::Kernel::INotVettable - namespace Kernel { struct IVettable { explicit IVettable() = default; @@ -31,12 +26,14 @@ struct IVettable { template <class Type> struct Vettable final { - static constexpr bool kValue = false; + using ResultType = Type; + + static constexpr BOOL kValue = NO; }; template <> struct Vettable<IVettable> final { - static constexpr bool kValue = true; + static constexpr BOOL kValue = YES; }; template <class Type> @@ -48,4 +45,4 @@ concept IsVettable = requires() { }; } // namespace Kernel -#endif // !__NE_KIT_VETTABLE_H__
\ No newline at end of file +#endif // !__NE_KIT_VETTABLE_H__ |
