summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/KernelKit/ThreadLocalStorage.h
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-11-24 03:02:43 +0100
committerAmlal El Mahrouss <amlal@nekernel.org>2025-11-24 03:02:43 +0100
commit83d870e58457a1d335a1d9b9966a6a1887cc297b (patch)
tree72888f88c7728c82f3f6df1f4f70591de15eab36 /dev/kernel/KernelKit/ThreadLocalStorage.h
parentab37adbacf0f33845804c788b39680cd754752a8 (diff)
feat! breaking changes on kernel sources.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/KernelKit/ThreadLocalStorage.h')
-rw-r--r--dev/kernel/KernelKit/ThreadLocalStorage.h68
1 files changed, 0 insertions, 68 deletions
diff --git a/dev/kernel/KernelKit/ThreadLocalStorage.h b/dev/kernel/KernelKit/ThreadLocalStorage.h
deleted file mode 100644
index 205d6df9..00000000
--- a/dev/kernel/KernelKit/ThreadLocalStorage.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/* ========================================
-
- Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
-
-======================================== */
-
-#ifndef KERNELKIT_TLS_H
-#define KERNELKIT_TLS_H
-
-#include <NeKit/Defines.h>
-#include <NeKit/ErrorOr.h>
-
-///! @brief Thread Local Storage for NeKernel.
-
-#define kCookieMag0Idx (0U)
-#define kCookieMag1Idx (1U)
-#define kCookieMag2Idx (2U)
-
-#define kCookieMag0 'N'
-#define kCookieMag1 'K'
-#define kCookieMag2 'O'
-
-#define kCookieMagLen (3U)
-
-struct THREAD_INFORMATION_BLOCK;
-
-/// @brief Thread Information Block.
-/// Located in GS on AMD64, other architectures have their own stuff. (64x0, 32x0, ARM64)
-struct PACKED THREAD_INFORMATION_BLOCK final {
- Kernel::Char Cookie[kCookieMagLen]{0}; //! Thread Magic Number.
- Kernel::VoidPtr UserData{nullptr}; //! Thread Information Record (User defined canary structure)
-};
-
-///! @brief Cookie Sanity check.
-Kernel::Boolean tls_check_tib(THREAD_INFORMATION_BLOCK* the_tib);
-
-///! @brief new ptr syscall.
-template <typename T>
-T* tls_new_ptr(void) noexcept;
-
-///! @brief delete ptr syscall.
-template <typename T>
-Kernel::Boolean tls_delete_ptr(T* ptr) noexcept;
-
-//! @brief Delete process pointer.
-//! @param obj The pointer to delete.
-template <typename T>
-inline Kernel::Bool tls_delete_ptr(Kernel::ErrorOr<T> obj) noexcept;
-
-//! @brief Delete process pointer.
-//! @param obj The pointer to delete.
-template <typename T>
-inline Kernel::Bool tls_delete_ptr(Kernel::ErrorOr<T*> obj) noexcept;
-
-template <typename T, typename... Args>
-T* tls_new_class(Args&&... args);
-
-/// @brief TLS install TIB and PIB. (syscall)
-EXTERN_C Kernel::Void rt_install_tib(THREAD_INFORMATION_BLOCK* TIB, THREAD_INFORMATION_BLOCK* PIB);
-
-/// @brief TLS check (syscall)
-EXTERN_C Kernel::Bool tls_check_syscall_impl(Kernel::VoidPtr TIB) noexcept;
-
-#include <KernelKit/ThreadLocalStorage.inl>
-
-// last rev 7/7/24
-
-#endif /* ifndef KERNELKIT_TLS_H */