summaryrefslogtreecommitdiffhomepage
path: root/Private/KernelKit
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlalelmahrouss@icloud.com>2024-02-29 09:05:36 +0100
committerAmlal El Mahrouss <amlalelmahrouss@icloud.com>2024-02-29 09:05:36 +0100
commitb7f2a078b4284c3adc253f40bc54e733d27b6bd6 (patch)
tree9eb5c6c0501278bcf1615ba59e7bb25a63bd4f1b /Private/KernelKit
parent375fa68692447f6806264fc0339d26b691e2a1bb (diff)
HCoreKrnl: Start work on AHCI support. to add HCFS,EPM,GPT support to
the kernel. Signed-off-by: Amlal El Mahrouss <amlalelmahrouss@icloud.com>
Diffstat (limited to 'Private/KernelKit')
-rw-r--r--Private/KernelKit/Rsrc/Award.rsrc (renamed from Private/KernelKit/Rsrc/Award.hxx)2
-rw-r--r--Private/KernelKit/Rsrc/HCore.rsrc (renamed from Private/KernelKit/Rsrc/HCore.hxx)2
-rw-r--r--Private/KernelKit/Rsrc/Splash.rsrc (renamed from Private/KernelKit/Rsrc/Splash.hxx)4
-rw-r--r--Private/KernelKit/Rsrc/Util.hxx2
-rw-r--r--Private/KernelKit/ThreadLocalStorage.hxx9
5 files changed, 14 insertions, 5 deletions
diff --git a/Private/KernelKit/Rsrc/Award.hxx b/Private/KernelKit/Rsrc/Award.rsrc
index 206dc5a3..5385883a 100644
--- a/Private/KernelKit/Rsrc/Award.hxx
+++ b/Private/KernelKit/Rsrc/Award.rsrc
@@ -4,7 +4,7 @@
#define POWEREDBYAWARD_WIDTH 128
// array size is 13440
-static const unsigned int PoweredByAward[] = {
+inline const unsigned int PoweredByAward[] = {
0xd13e38, 0xd13d38, 0xd13d38, 0xd13d38, 0xd13d38, 0xd13d38, 0xd13d38,
0xd13d38, 0xd13d38, 0xd13d38, 0xd13d38, 0xd13d38, 0xd13d38, 0xd13d38,
0xd13d38, 0xd13d38, 0xd13d38, 0xd23f3a, 0xd13e39, 0xd13d38, 0xd13d38,
diff --git a/Private/KernelKit/Rsrc/HCore.hxx b/Private/KernelKit/Rsrc/HCore.rsrc
index 26a3a9e7..e53396ed 100644
--- a/Private/KernelKit/Rsrc/HCore.hxx
+++ b/Private/KernelKit/Rsrc/HCore.rsrc
@@ -4,7 +4,7 @@
#define HCORELOGO_WIDTH 128
// array size is 49152
-const unsigned int HCoreLogo[] = {
+inline const unsigned int HCoreLogo[] = {
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0xffffff, 0xb6b6b6, 0xb7b7b7, 0xb8b8b8, 0xb7b7b7, 0xb7b7b7,
diff --git a/Private/KernelKit/Rsrc/Splash.hxx b/Private/KernelKit/Rsrc/Splash.rsrc
index 2671d6e1..9b9a3e45 100644
--- a/Private/KernelKit/Rsrc/Splash.hxx
+++ b/Private/KernelKit/Rsrc/Splash.rsrc
@@ -1,8 +1,10 @@
+#pragma once
+
#define MAHROUSSLOGIC_HEIGHT 66
#define MAHROUSSLOGIC_WIDTH 66
// array size is 13068
-static const unsigned int MahroussLogic[] = {
+inline const unsigned int MahroussLogic[] = {
0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x000000, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x000000, 0x000000, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
diff --git a/Private/KernelKit/Rsrc/Util.hxx b/Private/KernelKit/Rsrc/Util.hxx
index 03013888..a2f9355d 100644
--- a/Private/KernelKit/Rsrc/Util.hxx
+++ b/Private/KernelKit/Rsrc/Util.hxx
@@ -34,3 +34,5 @@
}
#endif
+
+#define $rsrc import \ No newline at end of file
diff --git a/Private/KernelKit/ThreadLocalStorage.hxx b/Private/KernelKit/ThreadLocalStorage.hxx
index db04c054..95b243c9 100644
--- a/Private/KernelKit/ThreadLocalStorage.hxx
+++ b/Private/KernelKit/ThreadLocalStorage.hxx
@@ -27,7 +27,9 @@ bool hcore_tls_delete_ptr(T *ptr);
template <typename T, typename... Args>
T *hcore_tls_new_class(Args &&...args);
-typedef HCore::Char rt_cookie_type[3];
+#define kTLSCookieLen 3
+
+typedef HCore::Char* rt_cookie_type;
#define kTIBNameLen 256
@@ -44,11 +46,14 @@ struct ThreadInformationBlock final {
};
/// @brief TLS install TIB
-extern void rt_install_tib(ThreadInformationBlock *pTib);
+EXTERN_C void rt_install_tib(ThreadInformationBlock *pTib, HCore::VoidPtr pPib);
///! @brief Cookie Sanity check.
HCore::Boolean hcore_tls_check(ThreadInformationBlock *ptr);
+/// @brief TLS check system call
+EXTERN_C HCore::Void hcore_tls_check_syscall_impl(HCore::HAL::StackFramePtr stackPtr) noexcept;
+
#include <KernelKit/ThreadLocalStorage.inl>
// last rev 1/29/24