diff options
| author | Amlal El Mahrouss <amlal@el-mahrouss-logic.com> | 2024-05-27 13:50:07 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@el-mahrouss-logic.com> | 2024-05-27 13:50:07 +0200 |
| commit | ce84bea215424ff36a2c18cab67835edfa8f71b5 (patch) | |
| tree | ef11d2595352666d67f4d5f79eee747a3cafda63 /Kernel | |
| parent | 030a818fd31762b47c4fdf34c67c306ec069ad09 (diff) | |
MHR-23: :boom: Change ::Shared() to ::The().
Signed-off-by: Amlal El Mahrouss <amlal@el-mahrouss-logic.com>
Diffstat (limited to 'Kernel')
| -rw-r--r-- | Kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cpp | 32 | ||||
| -rw-r--r-- | Kernel/HALKit/AMD64/HalDebugOutput.cxx | 2 | ||||
| -rw-r--r-- | Kernel/KernelKit/DebugOutput.hpp | 18 | ||||
| -rw-r--r-- | Kernel/KernelKit/ProcessScheduler.hpp | 2 | ||||
| -rw-r--r-- | Kernel/KernelKit/SMPManager.hpp | 2 | ||||
| -rw-r--r-- | Kernel/KernelKit/ThreadLocalStorage.inl | 8 | ||||
| -rw-r--r-- | Kernel/Sources/AppMain.cxx | 4 | ||||
| -rw-r--r-- | Kernel/Sources/CodeManager.cxx | 2 | ||||
| -rw-r--r-- | Kernel/Sources/PEFCodeManager.cxx | 2 | ||||
| -rw-r--r-- | Kernel/Sources/PEFSharedObjectRT.cxx | 12 | ||||
| -rw-r--r-- | Kernel/Sources/ProcessScheduler.cxx | 34 | ||||
| -rw-r--r-- | Kernel/Sources/SMPManager.cxx | 2 | ||||
| -rw-r--r-- | Kernel/Sources/ThreadLocalStorage.cxx | 2 | ||||
| -rw-r--r-- | Kernel/Sources/UserHeap.cxx | 8 |
14 files changed, 67 insertions, 63 deletions
diff --git a/Kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cpp b/Kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cpp index 9477ecb7..0ac7a50e 100644 --- a/Kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cpp +++ b/Kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cpp @@ -12,16 +12,16 @@ /// @param rsp EXTERN_C void idt_handle_gpf(NewOS::UIntPtr rsp) { - MUST_PASS(NewOS::ProcessScheduler::Shared().Leak().GetCurrent()); + MUST_PASS(NewOS::ProcessScheduler::The().Leak().GetCurrent()); NewOS::kcout << "New OS: Stack Pointer: " << NewOS::StringBuilder::FromInt("rsp{%}", rsp); NewOS::kcout << "New OS: General Protection Fault, caused by " - << NewOS::ProcessScheduler::Shared().Leak().GetCurrent().Leak().GetName(); + << NewOS::ProcessScheduler::The().Leak().GetCurrent().Leak().GetName(); - NewOS::ProcessScheduler::Shared().Leak().GetCurrent().Leak().Crash(); + NewOS::ProcessScheduler::The().Leak().GetCurrent().Leak().Crash(); } /// @brief Handle the scheduler interrupt, raised from the HPET timer. @@ -32,7 +32,7 @@ EXTERN_C void idt_handle_scheduler(NewOS::UIntPtr rsp) NewOS::kcout << "New OS: Will be scheduled back later " - << NewOS::ProcessScheduler::Shared().Leak().GetCurrent().Leak().GetName() + << NewOS::ProcessScheduler::The().Leak().GetCurrent().Leak().GetName() << NewOS::end_line(); /// schedule another process. @@ -46,56 +46,56 @@ EXTERN_C void idt_handle_scheduler(NewOS::UIntPtr rsp) /// @param rsp EXTERN_C void idt_handle_pf(NewOS::UIntPtr rsp) { - MUST_PASS(NewOS::ProcessScheduler::Shared().Leak().GetCurrent()); + MUST_PASS(NewOS::ProcessScheduler::The().Leak().GetCurrent()); NewOS::kcout << NewOS::StringBuilder::FromInt("rsp{%}", rsp); NewOS::kcout << "New OS: Segmentation Fault, caused by " - << NewOS::ProcessScheduler::Shared().Leak().GetCurrent().Leak().GetName(); + << NewOS::ProcessScheduler::The().Leak().GetCurrent().Leak().GetName(); - NewOS::ProcessScheduler::Shared().Leak().GetCurrent().Leak().Crash(); + NewOS::ProcessScheduler::The().Leak().GetCurrent().Leak().Crash(); } /// @brief Handle math fault. /// @param rsp EXTERN_C void idt_handle_math(NewOS::UIntPtr rsp) { - MUST_PASS(NewOS::ProcessScheduler::Shared().Leak().GetCurrent()); + MUST_PASS(NewOS::ProcessScheduler::The().Leak().GetCurrent()); NewOS::kcout << NewOS::StringBuilder::FromInt("rsp{%}", rsp); NewOS::kcout << "New OS: Math error, caused by " - << NewOS::ProcessScheduler::Shared().Leak().GetCurrent().Leak().GetName(); + << NewOS::ProcessScheduler::The().Leak().GetCurrent().Leak().GetName(); - NewOS::ProcessScheduler::Shared().Leak().GetCurrent().Leak().Crash(); + NewOS::ProcessScheduler::The().Leak().GetCurrent().Leak().Crash(); } /// @brief Handle any generic fault. /// @param rsp EXTERN_C void idt_handle_generic(NewOS::UIntPtr rsp) { - MUST_PASS(NewOS::ProcessScheduler::Shared().Leak().GetCurrent()); + MUST_PASS(NewOS::ProcessScheduler::The().Leak().GetCurrent()); NewOS::kcout << NewOS::StringBuilder::FromInt("sp{%}", rsp); NewOS::kcout << "New OS: Execution error, caused by " - << NewOS::ProcessScheduler::Shared().Leak().GetCurrent().Leak().GetName(); + << NewOS::ProcessScheduler::The().Leak().GetCurrent().Leak().GetName(); - NewOS::ProcessScheduler::Shared().Leak().GetCurrent().Leak().Crash(); + NewOS::ProcessScheduler::The().Leak().GetCurrent().Leak().Crash(); } /// @brief Handle #UD fault. /// @param rsp EXTERN_C void idt_handle_ud(NewOS::UIntPtr rsp) { - MUST_PASS(NewOS::ProcessScheduler::Shared().Leak().GetCurrent()); + MUST_PASS(NewOS::ProcessScheduler::The().Leak().GetCurrent()); NewOS::kcout << "New OS: Stack Pointer: " << NewOS::StringBuilder::FromInt("rsp{%}", rsp); NewOS::kcout << "New OS: Invalid interrupt, caused by " - << NewOS::ProcessScheduler::Shared().Leak().GetCurrent().Leak().GetName(); + << NewOS::ProcessScheduler::The().Leak().GetCurrent().Leak().GetName(); - NewOS::ProcessScheduler::Shared().Leak().GetCurrent().Leak().Crash(); + NewOS::ProcessScheduler::The().Leak().GetCurrent().Leak().Crash(); } diff --git a/Kernel/HALKit/AMD64/HalDebugOutput.cxx b/Kernel/HALKit/AMD64/HalDebugOutput.cxx index 3cec26df..22d5c072 100644 --- a/Kernel/HALKit/AMD64/HalDebugOutput.cxx +++ b/Kernel/HALKit/AMD64/HalDebugOutput.cxx @@ -132,7 +132,7 @@ namespace NewOS #endif // __DEBUG__ } - TerminalDevice& TerminalDevice::Shared() noexcept + TerminalDevice& TerminalDevice::The() noexcept { static TerminalDevice* out = nullptr; diff --git a/Kernel/KernelKit/DebugOutput.hpp b/Kernel/KernelKit/DebugOutput.hpp index 594ca701..3acee338 100644 --- a/Kernel/KernelKit/DebugOutput.hpp +++ b/Kernel/KernelKit/DebugOutput.hpp @@ -73,26 +73,26 @@ namespace NewOS NEWOS_COPY_DEFAULT(TerminalDevice); - static TerminalDevice& Shared() noexcept; + static TerminalDevice& The() noexcept; }; inline TerminalDevice& end_line() { - TerminalDevice& selfTerm = TerminalDevice::Shared(); + TerminalDevice& selfTerm = TerminalDevice::The(); selfTerm << "\r"; return selfTerm; } inline TerminalDevice& carriage_return() { - TerminalDevice& selfTerm = TerminalDevice::Shared(); + TerminalDevice& selfTerm = TerminalDevice::The(); selfTerm << "\r"; return selfTerm; } inline TerminalDevice& tabulate() { - TerminalDevice& selfTerm = TerminalDevice::Shared(); + TerminalDevice& selfTerm = TerminalDevice::The(); selfTerm << "\t"; return selfTerm; } @@ -100,7 +100,7 @@ namespace NewOS /// @brief emulate a terminal bell, like the VT100 does. inline TerminalDevice& bell() { - TerminalDevice& selfTerm = TerminalDevice::Shared(); + TerminalDevice& selfTerm = TerminalDevice::The(); selfTerm << "\a"; return selfTerm; } @@ -166,7 +166,7 @@ namespace NewOS inline TerminalDevice& hex_number(const Long& x) { - TerminalDevice& selfTerm = TerminalDevice::Shared(); + TerminalDevice& selfTerm = TerminalDevice::The(); selfTerm << "0x"; Detail::_write_number_hex(x, selfTerm); @@ -176,7 +176,7 @@ namespace NewOS inline TerminalDevice& number(const Long& x) { - TerminalDevice& selfTerm = TerminalDevice::Shared(); + TerminalDevice& selfTerm = TerminalDevice::The(); Detail::_write_number(x, selfTerm); @@ -185,7 +185,7 @@ namespace NewOS inline TerminalDevice& get_console_in(Char* buf) { - TerminalDevice& selfTerm = TerminalDevice::Shared(); + TerminalDevice& selfTerm = TerminalDevice::The(); selfTerm >> buf; return selfTerm; } @@ -204,5 +204,5 @@ namespace NewOS #undef kcout #endif // ifdef kcout -#define kcout TerminalDevice::Shared() +#define kcout TerminalDevice::The() #define endl end_line() diff --git a/Kernel/KernelKit/ProcessScheduler.hpp b/Kernel/KernelKit/ProcessScheduler.hpp index 8670691f..9adaac0d 100644 --- a/Kernel/KernelKit/ProcessScheduler.hpp +++ b/Kernel/KernelKit/ProcessScheduler.hpp @@ -270,7 +270,7 @@ namespace NewOS SizeT Run() noexcept; public: - static Ref<ProcessScheduler&> Shared(); + static Ref<ProcessScheduler&> The(); private: ProcessTeam mTeam; diff --git a/Kernel/KernelKit/SMPManager.hpp b/Kernel/KernelKit/SMPManager.hpp index 12260a33..eb8c908a 100644 --- a/Kernel/KernelKit/SMPManager.hpp +++ b/Kernel/KernelKit/SMPManager.hpp @@ -105,7 +105,7 @@ namespace NewOS public: /// @brief Shared instance of the SMP Manager. /// @return the reference to the smp manager. - static Ref<SMPManager> Shared(); + static Ref<SMPManager> The(); public: /// @brief Returns the amount of threads present in the system. diff --git a/Kernel/KernelKit/ThreadLocalStorage.inl b/Kernel/KernelKit/ThreadLocalStorage.inl index 6407900f..e2137ed6 100644 --- a/Kernel/KernelKit/ThreadLocalStorage.inl +++ b/Kernel/KernelKit/ThreadLocalStorage.inl @@ -15,9 +15,9 @@ inline T* tls_new_ptr(void) { using namespace NewOS; - MUST_PASS(ProcessScheduler::Shared().Leak().GetCurrent()); + MUST_PASS(ProcessScheduler::The().Leak().GetCurrent()); - auto ref_process = ProcessScheduler::Shared().Leak().GetCurrent(); + auto ref_process = ProcessScheduler::The().Leak().GetCurrent(); T* pointer = (T*)ref_process.Leak().New(sizeof(T)); return pointer; @@ -32,9 +32,9 @@ inline bool tls_delete_ptr(T* ptr) using namespace NewOS; - MUST_PASS(ProcessScheduler::Shared().Leak().GetCurrent()); + MUST_PASS(ProcessScheduler::The().Leak().GetCurrent()); - auto ref_process = ProcessScheduler::Shared().Leak().GetCurrent(); + auto ref_process = ProcessScheduler::The().Leak().GetCurrent(); return ref_process.Leak().Delete(ptr, sizeof(T)); } diff --git a/Kernel/Sources/AppMain.cxx b/Kernel/Sources/AppMain.cxx index 9ca224c3..692d4376 100644 --- a/Kernel/Sources/AppMain.cxx +++ b/Kernel/Sources/AppMain.cxx @@ -206,7 +206,7 @@ namespace NewOS::Detail NewOS::kcout << "SystemLoader: Exiting process, we're done initializing stuff..."; - NewOS::ProcessScheduler::Shared().Leak().GetCurrent().Leak().Exit(0); + NewOS::ProcessScheduler::The().Leak().GetCurrent().Leak().Exit(0); } } // namespace NewOS::Detail @@ -221,5 +221,5 @@ EXTERN_C NewOS::Void AppMain(NewOS::Void) auto cLoaderName = "SystemLoader"; NewOS::execute_from_image(NewOS::Detail::AppSystemLoader, cLoaderName); - while (NewOS::ProcessScheduler::Shared().Leak().Run() > 0) {} + while (NewOS::ProcessScheduler::The().Leak().Run() > 0) {} } diff --git a/Kernel/Sources/CodeManager.cxx b/Kernel/Sources/CodeManager.cxx index 358481f6..7483b32f 100644 --- a/Kernel/Sources/CodeManager.cxx +++ b/Kernel/Sources/CodeManager.cxx @@ -25,6 +25,6 @@ namespace NewOS Ref<ProcessHeader> refProc = proc; - return ProcessScheduler::Shared().Leak().Add(refProc); + return ProcessScheduler::The().Leak().Add(refProc); } } // namespace NewOS
\ No newline at end of file diff --git a/Kernel/Sources/PEFCodeManager.cxx b/Kernel/Sources/PEFCodeManager.cxx index 6fa7e6a1..c0997dff 100644 --- a/Kernel/Sources/PEFCodeManager.cxx +++ b/Kernel/Sources/PEFCodeManager.cxx @@ -195,7 +195,7 @@ namespace NewOS proc.Kind = procKind; - return ProcessScheduler::Shared().Leak().Add(refProc); + return ProcessScheduler::The().Leak().Add(refProc); } } // namespace Utils diff --git a/Kernel/Sources/PEFSharedObjectRT.cxx b/Kernel/Sources/PEFSharedObjectRT.cxx index 20af1b98..33df8857 100644 --- a/Kernel/Sources/PEFSharedObjectRT.cxx +++ b/Kernel/Sources/PEFSharedObjectRT.cxx @@ -41,7 +41,7 @@ EXTERN_C SharedObjectPtr rt_library_init(void) if (!library) { - ProcessScheduler::Shared().Leak().GetCurrent().Leak().Crash(); + ProcessScheduler::The().Leak().GetCurrent().Leak().Crash(); return nullptr; } @@ -50,17 +50,17 @@ EXTERN_C SharedObjectPtr rt_library_init(void) if (!library->Get()) { - ProcessScheduler::Shared().Leak().GetCurrent().Leak().Crash(); + ProcessScheduler::The().Leak().GetCurrent().Leak().Crash(); return nullptr; } library->Get()->fImageObject = - ProcessScheduler::Shared().Leak().GetCurrent().Leak().Image; + ProcessScheduler::The().Leak().GetCurrent().Leak().Image; if (!library->Get()->fImageObject) { - ProcessScheduler::Shared().Leak().GetCurrent().Leak().Crash(); + ProcessScheduler::The().Leak().GetCurrent().Leak().Crash(); return nullptr; } @@ -85,7 +85,7 @@ EXTERN_C Void rt_library_free(SharedObjectPtr lib, bool* successful) if (lib == nullptr) { *successful = false; - ProcessScheduler::Shared().Leak().GetCurrent().Leak().Crash(); + ProcessScheduler::The().Leak().GetCurrent().Leak().Crash(); } delete lib->Get(); @@ -102,6 +102,6 @@ EXTERN_C Void rt_library_free(SharedObjectPtr lib, bool* successful) /// @param EXTERN_C void __mh_purecall(void) { - ProcessScheduler::Shared().Leak().GetCurrent().Leak().Crash(); + ProcessScheduler::The().Leak().GetCurrent().Leak().Crash(); return; } diff --git a/Kernel/Sources/ProcessScheduler.cxx b/Kernel/Sources/ProcessScheduler.cxx index 1e4537f1..63d566b7 100644 --- a/Kernel/Sources/ProcessScheduler.cxx +++ b/Kernel/Sources/ProcessScheduler.cxx @@ -163,11 +163,11 @@ namespace NewOS void ProcessHeader::Exit(Int32 exit_code) { if (this->ProcessId != - ProcessScheduler::Shared().Leak().GetCurrent().Leak().ProcessId) + ProcessScheduler::The().Leak().GetCurrent().Leak().ProcessId) ke_stop(RUNTIME_CHECK_PROCESS); if (this->Ring == (Int32)ProcessSelector::kRingKernel && - ProcessScheduler::Shared().Leak().GetCurrent().Leak().Ring > 0) + ProcessScheduler::The().Leak().GetCurrent().Leak().Ring > 0) ke_stop(RUNTIME_CHECK_PROCESS); kLastExitCode = exit_code; @@ -193,7 +193,7 @@ namespace NewOS this->Image = nullptr; this->StackFrame = nullptr; - ProcessScheduler::Shared().Leak().Remove(this->ProcessId); + ProcessScheduler::The().Leak().Remove(this->ProcessId); } /// @brief Add process to list. @@ -301,7 +301,7 @@ namespace NewOS /// @brief Shared instance of the process scheduler. /// @return - Ref<ProcessScheduler&> ProcessScheduler::Shared() + Ref<ProcessScheduler&> ProcessScheduler::The() { static ProcessScheduler ref; return {ref}; @@ -319,7 +319,7 @@ namespace NewOS PID& ProcessHelper::GetCurrentPID() { kcout << "ProcessHelper::GetCurrentPID: Leaking ProcessId...\r"; - return ProcessScheduler::Shared().Leak().GetCurrent().Leak().ProcessId; + return ProcessScheduler::The().Leak().GetCurrent().Leak().ProcessId; } /// @brief Check if process can be schedulded. @@ -355,13 +355,13 @@ namespace NewOS bool ProcessHelper::StartScheduling() { if (ProcessHelper::CanBeScheduled( - ProcessScheduler::Shared().Leak().GetCurrent())) + ProcessScheduler::The().Leak().GetCurrent())) { - --ProcessScheduler::Shared().Leak().GetCurrent().Leak().PTime; + --ProcessScheduler::The().Leak().GetCurrent().Leak().PTime; return false; } - auto processRef = ProcessScheduler::Shared().Leak(); + auto processRef = ProcessScheduler::The().Leak(); if (!processRef) return false; // we have nothing to schedule. simply return. @@ -385,29 +385,29 @@ namespace NewOS if (!the_stack || new_pid < 0) return false; - for (SizeT index = 0UL; index < SMPManager::Shared().Leak().Count(); ++index) + for (SizeT index = 0UL; index < SMPManager::The().Leak().Count(); ++index) { - if (SMPManager::Shared().Leak()[index].Leak().Kind() == kInvalidHart) + if (SMPManager::The().Leak()[index].Leak().Kind() == kInvalidHart) continue; - if (SMPManager::Shared().Leak()[index].Leak().StackFrame() == the_stack) + if (SMPManager::The().Leak()[index].Leak().StackFrame() == the_stack) { - SMPManager::Shared().Leak()[index].Leak().Busy(false); + SMPManager::The().Leak()[index].Leak().Busy(false); continue; } - if (SMPManager::Shared().Leak()[index].Leak().IsBusy()) + if (SMPManager::The().Leak()[index].Leak().IsBusy()) continue; - if (SMPManager::Shared().Leak()[index].Leak().Kind() != + if (SMPManager::The().Leak()[index].Leak().Kind() != ThreadKind::kHartBoot && - SMPManager::Shared().Leak()[index].Leak().Kind() != + SMPManager::The().Leak()[index].Leak().Kind() != ThreadKind::kHartSystemReserved) { - SMPManager::Shared().Leak()[index].Leak().Busy(true); + SMPManager::The().Leak()[index].Leak().Busy(true); ProcessHelper::GetCurrentPID() = new_pid; - return SMPManager::Shared().Leak()[index].Leak().Switch(the_stack); + return SMPManager::The().Leak()[index].Leak().Switch(the_stack); } } diff --git a/Kernel/Sources/SMPManager.cxx b/Kernel/Sources/SMPManager.cxx index 90a9d440..b2f239e3 100644 --- a/Kernel/Sources/SMPManager.cxx +++ b/Kernel/Sources/SMPManager.cxx @@ -121,7 +121,7 @@ namespace NewOS SMPManager::~SMPManager() = default; /// @brief Shared singleton function - Ref<SMPManager> SMPManager::Shared() + Ref<SMPManager> SMPManager::The() { static SMPManager manager; return {manager}; diff --git a/Kernel/Sources/ThreadLocalStorage.cxx b/Kernel/Sources/ThreadLocalStorage.cxx index c31ae1c2..2d7e61eb 100644 --- a/Kernel/Sources/ThreadLocalStorage.cxx +++ b/Kernel/Sources/ThreadLocalStorage.cxx @@ -51,7 +51,7 @@ EXTERN_C Void tls_check_syscall_impl(NewOS::HAL::StackFramePtr stackPtr) noexcep if (!tls_check_tib(tib)) { kcout << "New OS: Verification failed, Crashing...\r"; - ProcessScheduler::Shared().Leak().GetCurrent().Leak().Crash(); + ProcessScheduler::The().Leak().GetCurrent().Leak().Crash(); } kcout << "New OS: Verification succeeded! Keeping on...\r"; diff --git a/Kernel/Sources/UserHeap.cxx b/Kernel/Sources/UserHeap.cxx index 02c4c753..da5d7b5a 100644 --- a/Kernel/Sources/UserHeap.cxx +++ b/Kernel/Sources/UserHeap.cxx @@ -37,8 +37,9 @@ namespace NewOS */ class UserHeapManager final { - public: UserHeapManager() = delete; + + public: ~UserHeapManager() = default; public: @@ -46,14 +47,17 @@ namespace NewOS { return s_NumPools; } + STATIC Ref<Pmm>& Leak() { return s_Pmm; } + STATIC Boolean& IsEnabled() { return s_PoolsAreEnabled; } + STATIC MutableArray<Ref<PTEWrapper>>& The() { return s_Pool; @@ -146,7 +150,7 @@ namespace NewOS { if (!poolHdr->fFree) { - ProcessScheduler::Shared().Leak().GetCurrent().Leak().Crash(); + ProcessScheduler::The().Leak().GetCurrent().Leak().Crash(); return; } |
