summaryrefslogtreecommitdiffhomepage
path: root/dev/Kernel/KernelKit/ThreadLocalStorage.hxx
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-08-18 21:39:29 +0200
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-08-18 21:39:29 +0200
commitda70596895d8135e08f8caac6978117697b4c021 (patch)
tree2516785b5434df8453687f05dc8dd877438901ab /dev/Kernel/KernelKit/ThreadLocalStorage.hxx
parent005de79004c9d30e64bdee6e14e06f9d47d1f2ab (diff)
[REFACTOR]
Improved project structure. Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/Kernel/KernelKit/ThreadLocalStorage.hxx')
-rw-r--r--dev/Kernel/KernelKit/ThreadLocalStorage.hxx59
1 files changed, 0 insertions, 59 deletions
diff --git a/dev/Kernel/KernelKit/ThreadLocalStorage.hxx b/dev/Kernel/KernelKit/ThreadLocalStorage.hxx
deleted file mode 100644
index afc4940f..00000000
--- a/dev/Kernel/KernelKit/ThreadLocalStorage.hxx
+++ /dev/null
@@ -1,59 +0,0 @@
-/* -------------------------------------------
-
- Copyright ZKA Technologies.
-
-------------------------------------------- */
-
-#ifndef _KERNELKIT_TLS_HPP
-#define _KERNELKIT_TLS_HPP
-
-#include <NewKit/Defines.hxx>
-
-//! @brief TLS implementation in C++
-
-#define kCookieMag0 'H'
-#define kCookieMag1 'C'
-#define kCookieMag2 'R'
-
-#define kTLSCookieLen (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 f_Cookie[kTLSCookieLen]; // Process cookie.
- Kernel::UIntPtr f_Code; // Start address (Instruction Pointer)
- Kernel::UIntPtr f_Data; // Allocated Heap for process.
- Kernel::UIntPtr f_Stack; // Application Stack pointer.
- Kernel::Int32 f_ID; // Thread execution ID.
- Kernel::Int64 f_UsedHeapPercent; // used heap in percent.
- Kernel::Int64 f_FreeHeapPercent; // heap free in percent.
-};
-
-///! @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);
-
-///! @brief delete ptr syscall.
-template <typename T>
-Kernel::Boolean tls_delete_ptr(T* ptr);
-
-template <typename T, typename... Args>
-T* tls_new_class(Args&&... args);
-
-/// @brief TLS install TIB and PIB. (syscall)
-EXTERN_C 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_HPP */