summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlalelmahrouss@icloud.com>2024-02-12 14:00:22 +0100
committerAmlal El Mahrouss <amlalelmahrouss@icloud.com>2024-02-12 14:00:22 +0100
commit6926ed5c2da1e8928e14fe38ffd431fe37694fb1 (patch)
tree8aeba939d3c25050b2e03c8fdec46d12492b41ba
parent4cbf035a563861ded9f1b821b6d54f9cbf6271f3 (diff)
HCR-15: Loading HCoreStage2.exe into memory.
Signed-off-by: Amlal El Mahrouss <amlalelmahrouss@icloud.com>
-rw-r--r--Private/FSKit/NewFS.hxx28
-rw-r--r--Private/KernelKit/CodeManager.hpp2
-rw-r--r--Private/KernelKit/FileManager.hpp2
-rw-r--r--Private/KernelKit/PECodeManager.hxx20
-rw-r--r--Private/KernelKit/ProcessManager.hpp12
-rw-r--r--Private/NewKit/Macros.hpp2
-rw-r--r--Public/TODO_LIST.TXT2
7 files changed, 52 insertions, 16 deletions
diff --git a/Private/FSKit/NewFS.hxx b/Private/FSKit/NewFS.hxx
index 784ea158..23353d91 100644
--- a/Private/FSKit/NewFS.hxx
+++ b/Private/FSKit/NewFS.hxx
@@ -1,21 +1,26 @@
-/*
- * ========================================================
- *
- * HCore
- * Copyright Mahrouss Logic, all rights reserved.
- *
- * ========================================================
- */
+/* -------------------------------------------
+
+ Copyright Mahrouss Logic
+
+ File: NewFS.hxx
+ Purpose:
+
+ Revision History:
+
+ ?/?/?: Added file (amlel)
+ 12/02/24: Add UUID macro for EPM and GPT partition schemes.
+
+------------------------------------------- */
#pragma once
#include <CompilerKit/CompilerKit.hpp>
+#include <HintKit/CompilerHint.hxx>
#include <KernelKit/DriveManager.hpp>
#include <NewKit/Defines.hpp>
/**
- @brief NewFS or HCFS
- HCore FileSystem.
+ @brief HCore File System implementation.
*/
#define kInvalidFork -1
@@ -26,6 +31,9 @@
#define kNewFSIdent " HCFS"
#define kPadLen 16
+//! On EPM and GPT disks.
+#define kNewFSUUID "DD997393-9CCE-4288-A8D5-C0FDE3908DBE"
+
#define kNewFSVersion 1
typedef HCore::WideChar NewCharType;
diff --git a/Private/KernelKit/CodeManager.hpp b/Private/KernelKit/CodeManager.hpp
index 0274b92e..4bbbc350 100644
--- a/Private/KernelKit/CodeManager.hpp
+++ b/Private/KernelKit/CodeManager.hpp
@@ -13,6 +13,6 @@
#pragma once
+#include <KernelKit/PECodeManager.hxx>
#include <KernelKit/PEFCodeManager.hxx>
-// #include <KernelKit/PECodeManager.hxx>
#include <KernelKit/PEFSharedObject.hxx>
diff --git a/Private/KernelKit/FileManager.hpp b/Private/KernelKit/FileManager.hpp
index fea63a0a..29c5e755 100644
--- a/Private/KernelKit/FileManager.hpp
+++ b/Private/KernelKit/FileManager.hpp
@@ -21,6 +21,8 @@
#include <FSKit/NewFS.hxx>
#endif // __USE_NEWFS__
+#include <CompilerKit/CompilerKit.hpp>
+#include <HintKit/CompilerHint.hxx>
#include <NewKit/ErrorID.hpp>
#include <NewKit/Ref.hpp>
#include <NewKit/Stream.hpp>
diff --git a/Private/KernelKit/PECodeManager.hxx b/Private/KernelKit/PECodeManager.hxx
new file mode 100644
index 00000000..e8af541e
--- /dev/null
+++ b/Private/KernelKit/PECodeManager.hxx
@@ -0,0 +1,20 @@
+/* -------------------------------------------
+
+ Copyright Mahrouss Logic
+
+ File: PECodeManager.hxx
+ Purpose: PE32+ Code Manager and Shared Objects.
+
+ Revision History:
+
+ 12/02/24: Added file (amlel)
+
+------------------------------------------- */
+
+#pragma once
+
+////////////////////////////////////////////////////
+
+// LAST REV: Mon Feb 12 13:52:01 CET 2024
+
+////////////////////////////////////////////////////
diff --git a/Private/KernelKit/ProcessManager.hpp b/Private/KernelKit/ProcessManager.hpp
index c57f09c1..e6d86959 100644
--- a/Private/KernelKit/ProcessManager.hpp
+++ b/Private/KernelKit/ProcessManager.hpp
@@ -19,7 +19,11 @@
#define kMinMicroTime AffinityKind::kHartStandard
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////
+
+// LAST REV: Mon Feb 12 13:52:01 CET 2024
+
+////////////////////////////////////////////////////
namespace HCore {
//! @brief Process identifier.
@@ -215,6 +219,10 @@ const Int32 &rt_get_exit_code() noexcept;
#include <KernelKit/ThreadLocalStorage.hxx>
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////
+
+// END
+
+////////////////////////////////////////////////////
#endif /* ifndef __PROCESS_MANAGER__ */
diff --git a/Private/NewKit/Macros.hpp b/Private/NewKit/Macros.hpp
index b717dee8..739447b0 100644
--- a/Private/NewKit/Macros.hpp
+++ b/Private/NewKit/Macros.hpp
@@ -89,5 +89,3 @@
#define EXTERN extern
#define STATIC static
-
-#include <HintKit/CompilerHint.hxx>
diff --git a/Public/TODO_LIST.TXT b/Public/TODO_LIST.TXT
index 64dc9226..d3a2eed2 100644
--- a/Public/TODO_LIST.TXT
+++ b/Public/TODO_LIST.TXT
@@ -6,7 +6,7 @@
- Design Handover [ X ]
- Load kernel into memory [ X ]
- Fix bug in kernel loader, which causes a 06 #UD. [ X ]
- - Jump to kernel [ ]
+ - Load Stage 2 bootloader [ ]
- Context switch x87/SSE/AVX registers [ ]
- Framebuffer and ATA support [ ]
- Native Subsystem and GUI [ ]