diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-01-26 22:49:10 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-01-26 22:49:10 +0100 |
| commit | 44a081a4442181b208c09c6f748124c9d23b61fd (patch) | |
| tree | d0f161eb8d3ea5997895db37381c7ea853eae2d1 /Private/Source | |
| parent | eba8b7ddd0a455d9e49f32dcae712c5612c0093c (diff) | |
Kernel: Adding NewFS I/O support, Fix SMPManager and new Kits in /Public/.
New dependency: zlib.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'Private/Source')
| -rw-r--r-- | Private/Source/NewFS-IO.cxx | 15 | ||||
| -rw-r--r-- | Private/Source/SMPManager.cxx | 10 |
2 files changed, 24 insertions, 1 deletions
diff --git a/Private/Source/NewFS-IO.cxx b/Private/Source/NewFS-IO.cxx new file mode 100644 index 00000000..ce81db40 --- /dev/null +++ b/Private/Source/NewFS-IO.cxx @@ -0,0 +1,15 @@ +/* +* ======================================================== +* +* hCore +* Copyright 2024 Mahrouss Logic, all rights reserved. +* +* ======================================================== +*/ + +#include <FSKit/NewFS.hxx> +#include <Private/KernelKit/FileManager.hpp> +#include <Private/KernelKit/DriveManager.hpp> + +/// bugs 0 + diff --git a/Private/Source/SMPManager.cxx b/Private/Source/SMPManager.cxx index 4168a458..1c73cb82 100644 --- a/Private/Source/SMPManager.cxx +++ b/Private/Source/SMPManager.cxx @@ -11,6 +11,8 @@ #include <KernelKit/ProcessManager.hpp> #include <ArchKit/Arch.hpp> +/// BUGS: 0 + //! This file handles multi processing in hCore. //! Multi processing is needed for File I/O, networking and scheduling. @@ -37,6 +39,8 @@ namespace hCore bool ProcessorCore::IsBusy() noexcept { return m_Busy; } + /// @brief Get processor stack frame. + HAL::StackFrame* ProcessorCore::StackFrame() noexcept { MUST_PASS(m_Stack); @@ -47,6 +51,8 @@ namespace hCore ProcessorCore::operator bool() { return m_Stack; } + /// @brief Wakeup the processor. + void ProcessorCore::Wake(const bool wakeup) noexcept { m_Wakeup = wakeup; @@ -111,9 +117,11 @@ namespace hCore m_ThreadList[idx].Leak().Leak().Busy(true); - bool ret = rt_do_context_switch(rt_get_current_context(), stack) == 0; + bool ret = rt_do_context_switch(rt_get_current_context(), stack) == 0; m_ThreadList[idx].Leak().Leak().Busy(false); + + return ret; } return false; |
