From 209ebb8caa774c8d73ead8e0eba3bd65d138930f Mon Sep 17 00:00:00 2001 From: Amlal EL Mahrouss Date: Thu, 8 Aug 2024 10:53:58 +0200 Subject: [IMP] Working on bootloader improvements, then fixing heap on kernel. - Need to parse a json first. - Then fix the heap inside the newoskrnl.dll Signed-off-by: Amlal EL Mahrouss --- Boot/Sources/HEL/AMD64/BootMain.cxx | 3 ++- Boot/Sources/Root/ZKA/cmd.json | 5 +++++ Boot/Sources/Root/bootloader.json | 5 +++-- Kernel/FSKit/NewFS.hxx | 4 ++++ Kernel/FSKit/RFS.hxx | 24 ++++++++++++++++++++++++ 5 files changed, 38 insertions(+), 3 deletions(-) create mode 100644 Boot/Sources/Root/ZKA/cmd.json create mode 100644 Kernel/FSKit/RFS.hxx diff --git a/Boot/Sources/HEL/AMD64/BootMain.cxx b/Boot/Sources/HEL/AMD64/BootMain.cxx index 2bc2aca1..8647d00e 100644 --- a/Boot/Sources/HEL/AMD64/BootMain.cxx +++ b/Boot/Sources/HEL/AMD64/BootMain.cxx @@ -219,7 +219,8 @@ EFI_EXTERN_C EFI_API Int Main(EfiHandlePtr ImageHandle, writer.Write("newosldr: Running: ").Write(loader->GetName()).Write("\r"); - CopyMem(handoverHdrPtr->f_CommandLine[0], "/SMP", StrLen("/SMP")); + /// TODO: Parse command line from ZKA\cmd.json + // CopyMem(handoverHdrPtr->f_CommandLine[0], "/SMP", StrLen("/SMP")); handoverHdrPtr->f_FirmwareVendorLen = BStrLen(SystemTable->FirmwareVendor); diff --git a/Boot/Sources/Root/ZKA/cmd.json b/Boot/Sources/Root/ZKA/cmd.json new file mode 100644 index 00000000..213974f5 --- /dev/null +++ b/Boot/Sources/Root/ZKA/cmd.json @@ -0,0 +1,5 @@ +{ + "SMP": true, + "GUI": true + } + \ No newline at end of file diff --git a/Boot/Sources/Root/bootloader.json b/Boot/Sources/Root/bootloader.json index fe1a57d4..ebfcf320 100644 --- a/Boot/Sources/Root/bootloader.json +++ b/Boot/Sources/Root/bootloader.json @@ -1,4 +1,5 @@ { - "newoskrnl.dll": "kernel", - "ZETA/fonts.json": "rsrc" + "newoskrnl.dll": "krnldll", + "ZKA/fonts.json": "rsrc", + "ZKA/cmd.json": "cmdline" } diff --git a/Kernel/FSKit/NewFS.hxx b/Kernel/FSKit/NewFS.hxx index 566904ef..6d3d6fa9 100644 --- a/Kernel/FSKit/NewFS.hxx +++ b/Kernel/FSKit/NewFS.hxx @@ -103,6 +103,10 @@ default. #define kNewFSForkNameLen (200U) +struct NFS_CATALOG_STRUCT; +struct NFS_FORK_STRUCT; +struct NFS_ROOT_PARTITION_BLOCK; + enum { kNewFSHardDrive = 0xC0, // Hard Drive diff --git a/Kernel/FSKit/RFS.hxx b/Kernel/FSKit/RFS.hxx new file mode 100644 index 00000000..b12f38c3 --- /dev/null +++ b/Kernel/FSKit/RFS.hxx @@ -0,0 +1,24 @@ +/* ------------------------------------------- + + Copyright ZKA Technologies + + File: RFS.hxx + Purpose: Resillient File System + + Revision History: + + 8/8/2024: Added file (amlel) + +------------------------------------------- */ + +#pragma once + +#include +#include +#include +#include + +struct RFS_MASTER_PARTITION_BLOCK; +struct RFS_FILE_PARTITIN_BLOCK; +struct RFS_CATALOG_BLOCK; +struct RFS_FORK_BLOCK; \ No newline at end of file -- cgit v1.2.3