diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-05-05 21:10:18 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-05-05 21:10:18 +0200 |
| commit | f95d8bf159d10b5a9521dcaa0bc37aa0e9dfc02b (patch) | |
| tree | bf8186f1a0521a64983bb0bca4f7b54883542195 /Private/KernelKit/ThreadLocalStorage.hxx | |
| parent | 5a903c1d8f80ca8d7bc5fbea0aea710ce0133f9d (diff) | |
MHR-23: Add run_format.sh, kernel patches.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'Private/KernelKit/ThreadLocalStorage.hxx')
| -rw-r--r-- | Private/KernelKit/ThreadLocalStorage.hxx | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/Private/KernelKit/ThreadLocalStorage.hxx b/Private/KernelKit/ThreadLocalStorage.hxx index bdf00a8a..8072b867 100644 --- a/Private/KernelKit/ThreadLocalStorage.hxx +++ b/Private/KernelKit/ThreadLocalStorage.hxx @@ -16,28 +16,29 @@ #define kCookieMag2 'R' template <typename T> -T *tls_new_ptr(void); +T* tls_new_ptr(void); template <typename T> -bool tls_delete_ptr(T *ptr); +bool tls_delete_ptr(T* ptr); template <typename T, typename... Args> -T *tls_new_class(Args &&...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. +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); +EXTERN_C void rt_install_tib(ThreadInformationBlock* TIB, NewOS::VoidPtr PIB); ///! @brief Cookie Sanity check. NewOS::Boolean tls_check_tib(ThreadInformationBlock* Ptr); |
