From 6926ed5c2da1e8928e14fe38ffd431fe37694fb1 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Mon, 12 Feb 2024 14:00:22 +0100 Subject: HCR-15: Loading HCoreStage2.exe into memory. Signed-off-by: Amlal El Mahrouss --- Private/FSKit/NewFS.hxx | 28 ++++++++++++++++++---------- Private/KernelKit/CodeManager.hpp | 2 +- Private/KernelKit/FileManager.hpp | 2 ++ Private/KernelKit/PECodeManager.hxx | 20 ++++++++++++++++++++ Private/KernelKit/ProcessManager.hpp | 12 ++++++++++-- Private/NewKit/Macros.hpp | 2 -- Public/TODO_LIST.TXT | 2 +- 7 files changed, 52 insertions(+), 16 deletions(-) create mode 100644 Private/KernelKit/PECodeManager.hxx 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 +#include #include #include /** - @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 #include -// #include #include 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 #endif // __USE_NEWFS__ +#include +#include #include #include #include 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 -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////// + +// 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 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 [ ] -- cgit v1.2.3