summaryrefslogtreecommitdiffhomepage
path: root/Private/KernelKit/ThreadLocalStorage.hxx
diff options
context:
space:
mode:
authorAmlal <amlalelmahrouss@icloud.com>2024-05-11 06:43:54 +0000
committerAmlal <amlalelmahrouss@icloud.com>2024-05-11 06:43:54 +0000
commitca675beb41dba8d7d16c5793b55d1672f38be3b4 (patch)
treec995ada42729ac2059a0ed87a4539d1a7e10b14a /Private/KernelKit/ThreadLocalStorage.hxx
parent2b4a4792abf51487ab4a16106f9376f43acf381a (diff)
parentbc57a29a24b98b00ba17710ba84ec2188ab73504 (diff)
Merged in MHR-23 (pull request #12)
MHR-23: Merge work.
Diffstat (limited to 'Private/KernelKit/ThreadLocalStorage.hxx')
-rw-r--r--Private/KernelKit/ThreadLocalStorage.hxx52
1 files changed, 0 insertions, 52 deletions
diff --git a/Private/KernelKit/ThreadLocalStorage.hxx b/Private/KernelKit/ThreadLocalStorage.hxx
deleted file mode 100644
index bdf00a8a..00000000
--- a/Private/KernelKit/ThreadLocalStorage.hxx
+++ /dev/null
@@ -1,52 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
-------------------------------------------- */
-
-#ifndef _KERNELKIT_TLS_HPP
-#define _KERNELKIT_TLS_HPP
-
-#include <NewKit/Defines.hpp>
-
-//! @brief TLS implementation in C++
-
-#define kCookieMag0 'H'
-#define kCookieMag1 'C'
-#define kCookieMag2 'R'
-
-template <typename T>
-T *tls_new_ptr(void);
-
-template <typename T>
-bool tls_delete_ptr(T *ptr);
-
-template <typename T, typename... Args>
-T *tls_new_class(Args &&...args);
-
-#define kTLSCookieLen 3
-
-/// @brief Thread Information Block for Local Storage.
-/// Located in GS on AMD64, Virtual Address 0x10000 (64x0, 32x0, ARM64)
-struct PACKED ThreadInformationBlock final {
- NewOS::Char Cookie[kTLSCookieLen];
- NewOS::UIntPtr StartCode; // Start Address
- NewOS::UIntPtr StartData; // Allocation Heap
- NewOS::UIntPtr StartStack; // Stack Pointer.
- NewOS::Int32 ThreadID; // Thread execution ID.
-};
-
-/// @brief TLS install TIB and PIB.
-EXTERN_C void rt_install_tib(ThreadInformationBlock *TIB, NewOS::VoidPtr PIB);
-
-///! @brief Cookie Sanity check.
-NewOS::Boolean tls_check_tib(ThreadInformationBlock* Ptr);
-
-/// @brief TLS check system call
-EXTERN_C NewOS::Void tls_check_syscall_impl(NewOS::HAL::StackFramePtr StackPtr) noexcept;
-
-#include <KernelKit/ThreadLocalStorage.inl>
-
-// last rev 1/29/24
-
-#endif /* ifndef _KERNELKIT_TLS_HPP */