summaryrefslogtreecommitdiffhomepage
path: root/dev/ZKA/HALKit
diff options
context:
space:
mode:
authorAmlal <amlal@el-mahrouss-logic.com>2024-09-12 05:32:09 +0200
committerAmlal <amlal@el-mahrouss-logic.com>2024-09-12 05:32:09 +0200
commit95f2fc6a9ba93d98a81a817c489de5946dc3f13b (patch)
treeb97f07c20b41a34550eaa37bc877507e044e356a /dev/ZKA/HALKit
parentb323d403149db3d720a63af1087d44718821bd67 (diff)
Kernel and Bootloader improvements.
- The Allocator works, we have to find a free memory region for the kernel though. - Add Init procedure to DriveMgr. - Refactor CG for cgwm.sys Signed-off-by: Amlal <amlal@el-mahrouss-logic.com>
Diffstat (limited to 'dev/ZKA/HALKit')
-rw-r--r--dev/ZKA/HALKit/AMD64/HalBMPMgr.cxx4
-rw-r--r--dev/ZKA/HALKit/AMD64/HalKernelMain.cxx6
2 files changed, 8 insertions, 2 deletions
diff --git a/dev/ZKA/HALKit/AMD64/HalBMPMgr.cxx b/dev/ZKA/HALKit/AMD64/HalBMPMgr.cxx
index 4549021f..b38fb5ef 100644
--- a/dev/ZKA/HALKit/AMD64/HalBMPMgr.cxx
+++ b/dev/ZKA/HALKit/AMD64/HalBMPMgr.cxx
@@ -126,7 +126,9 @@ namespace Kernel
ptr_new = traits.FindBitMap(kKernelBitMpStart, size, rw, user);
if (!ptr_new)
- return nullptr;
+ {
+ ke_stop(RUNTIME_CHECK_PAGE);
+ }
if (rw)
mm_map_page(ptr_new, eFlagsRw | eFlagsPresent);
diff --git a/dev/ZKA/HALKit/AMD64/HalKernelMain.cxx b/dev/ZKA/HALKit/AMD64/HalKernelMain.cxx
index b7dfee8a..ef743c20 100644
--- a/dev/ZKA/HALKit/AMD64/HalKernelMain.cxx
+++ b/dev/ZKA/HALKit/AMD64/HalKernelMain.cxx
@@ -86,7 +86,11 @@ EXTERN_C Kernel::Void hal_real_init(Kernel::Void) noexcept
if (kHandoverHeader->f_HardwareTables.f_MultiProcessingEnabled)
Kernel::HAL::mp_get_cores(kHandoverHeader->f_HardwareTables.f_VendorPtr);
- Kernel::NeFileSystemMgr::Mount(Kernel::mm_new_class<Kernel::NeFileSystemMgr>());
+ Kernel::NeFileSystemMgr* mgr = (Kernel::mm_new_class<Kernel::NeFileSystemMgr>());
+ Kernel::NeFileSystemMgr::Mount(mgr);
+
+ delete (NFS_CATALOG_STRUCT*)mgr->CreateDirectory("\\Boot\\");
+ delete (NFS_CATALOG_STRUCT*)mgr->CreateDirectory("\\Support\\");
mp_do_user_switch();