diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-05-08 12:32:41 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-05-08 12:32:41 +0200 |
| commit | 09dd11ddf800898c00ecb04a65fb5cd10fb481fa (patch) | |
| tree | eda0b4e23d6a71da7de3a78f0bb76ec3201dd2f9 /Private/Source/ThreadLocalStorage.cxx | |
| parent | ca83108fd138cc0398f900e6a6c0a53ad51aee31 (diff) | |
MHR-23: :boom: changes, reworked project tree.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'Private/Source/ThreadLocalStorage.cxx')
| -rw-r--r-- | Private/Source/ThreadLocalStorage.cxx | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/Private/Source/ThreadLocalStorage.cxx b/Private/Source/ThreadLocalStorage.cxx deleted file mode 100644 index 9330e8f4..00000000 --- a/Private/Source/ThreadLocalStorage.cxx +++ /dev/null @@ -1,58 +0,0 @@ -/* - * ======================================================== - * - * NewOS - * Copyright Mahrouss Logic, all rights reserved. - * - * ======================================================== - */ - -#include <KernelKit/ProcessScheduler.hpp> -#include <KernelKit/ThreadLocalStorage.hxx> - -///! BUGS: 0 - -/***********************************************************************************/ -/// @file ThreadLocalStorage.cxx -/// @brief TLS implementation in kernel. -/***********************************************************************************/ - -using namespace NewOS; - -/** - * @brief Check for cookie inside TIB. - * @param tib the TIB to check. - * @return if the cookie is enabled. - */ - -Boolean tls_check_tib(ThreadInformationBlock* tib) -{ - if (!tib) - return false; - - Encoder encoder; - const char* tibAsBytes = encoder.AsBytes(tib); - - kcout << "New OS: Checking for a valid cookie...\r"; - - return tibAsBytes[0] == kCookieMag0 && tibAsBytes[1] == kCookieMag1 && - tibAsBytes[2] == kCookieMag2; -} - -/** - * @brief System call implementation of the TLS check. - * @param stackPtr The call frame. - * @return - */ -EXTERN_C Void tls_check_syscall_impl(NewOS::HAL::StackFramePtr stackPtr) noexcept -{ - ThreadInformationBlock* tib = (ThreadInformationBlock*)stackPtr->Gs; - - if (!tls_check_tib(tib)) - { - kcout << "New OS: Verification failed, Crashing...\r"; - ProcessScheduler::Shared().Leak().GetCurrent().Leak().Crash(); - } - - kcout << "New OS: Verification succeeded! Keeping on...\r"; -} |
