summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2025-02-07 09:25:08 +0100
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2025-02-07 09:25:08 +0100
commit513077cfec0ea87303ba19502c368f5adcc8ed99 (patch)
tree8ed03e4ebbd78366b7e8ce6c3647e990261d521d
parentd282d5301dcc7d46c2d9a40a71eecfc1f674b107 (diff)
ADD: VGA logging and tweaks.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
-rw-r--r--CODEOWNERS2
-rwxr-xr-xdebug_ata.sh4
-rw-r--r--dev/Boot/BootKit/BootKit.h2
-rw-r--r--dev/Boot/arm64-desktop.make2
-rw-r--r--dev/Boot/arm64-mobile.make2
-rw-r--r--dev/Boot/src/BootThread.cc6
-rw-r--r--dev/Boot/src/BootloaderRsrc.rsrc2
-rw-r--r--dev/Kernel/FirmwareKit/EFI/API.h2
-rw-r--r--dev/Kernel/FirmwareKit/EPM.h5
-rw-r--r--dev/Kernel/HALKit/AMD64/HalApplicationProcessorStartup.asm2
-rw-r--r--dev/Kernel/HALKit/AMD64/HalBoot.asm2
-rw-r--r--dev/Kernel/HALKit/AMD64/HalCommonAPI.asm2
-rw-r--r--dev/Kernel/HALKit/AMD64/HalDebugOutput.cc20
-rw-r--r--dev/Kernel/HALKit/AMD64/HalUtils.asm2
-rw-r--r--dev/Kernel/HALKit/AMD64/PCI/DMA.cc2
-rw-r--r--dev/Kernel/HALKit/AMD64/Storage/ATA.cc21
-rw-r--r--dev/Kernel/KernelKit/DebugOutput.h2
-rw-r--r--dev/Kernel/KernelKit/MemoryMgr.h4
-rw-r--r--dev/Kernel/NewKit/Crc32.h2
-rw-r--r--dev/Kernel/NewKit/ErrorOr.h2
-rw-r--r--dev/Kernel/NewKit/Json.h28
-rw-r--r--dev/Kernel/NewKit/Variant.h2
-rw-r--r--dev/Kernel/src/FS/NeFS.cc22
-rw-r--r--dev/Kernel/src/Json.cc2
-rw-r--r--dev/Kernel/src/MemoryMgr.cc14
-rw-r--r--dev/Kernel/src/User.cc2
-rw-r--r--dev/Mod/AHCI/AHCI.h8
-rw-r--r--doc/OS-Design.drawio2
-rw-r--r--doc/OS-Scheduler-Design.drawio2
-rw-r--r--doc/ZXD.drawio6
-rwxr-xr-xmake_docs.sh2
-rw-r--r--public/tools/make_app/src/CommandLine.cc2
32 files changed, 90 insertions, 90 deletions
diff --git a/CODEOWNERS b/CODEOWNERS
index 3fe27ace..e4620d1d 100644
--- a/CODEOWNERS
+++ b/CODEOWNERS
@@ -1,4 +1,4 @@
-# BootZ, LibSCI and ZKA are owned by Amlal.
+# BootZ, LibSCI and NeKernel are owned by Amlal.
/dev/Kernel/ @amlel-el-mahrouss
/dev/Boot/ @amlel-el-mahrouss
/dev/LibSCI/ @amlel-el-mahrouss
diff --git a/debug_ata.sh b/debug_ata.sh
index 3e39889e..c32304d3 100755
--- a/debug_ata.sh
+++ b/debug_ata.sh
@@ -1,7 +1,7 @@
#!/bin/sh
-export ATA_PIO_SUPPORT=
-export ATA_DMA_SUPPORT=1
+export ATA_PIO_SUPPORT=1
+export ATA_DMA_SUPPORT=
export DEBUG_SUPPORT=1
cd dev/Kernel
diff --git a/dev/Boot/BootKit/BootKit.h b/dev/Boot/BootKit/BootKit.h
index ccc36db1..c4431b8f 100644
--- a/dev/Boot/BootKit/BootKit.h
+++ b/dev/Boot/BootKit/BootKit.h
@@ -379,7 +379,7 @@ namespace Boot
epm_boot.LbaStart = kNeFSRootCatalogStartAddress;
epm_boot.LbaEnd = fDiskDev.GetDiskSize();
epm_boot.SectorSz = part.SectorSize;
- epm_boot.Kind = kEPMZkaOS;
+ epm_boot.Kind = kEPMNeOS;
epm_boot.NumBlocks = part.CatalogCount;
CopyMem(epm_boot.Name, reinterpret_cast<VoidPtr>(const_cast<Char*>(kBlockName)), StrLen(kBlockName));
diff --git a/dev/Boot/arm64-desktop.make b/dev/Boot/arm64-desktop.make
index d5ac561a..42aa1f57 100644
--- a/dev/Boot/arm64-desktop.make
+++ b/dev/Boot/arm64-desktop.make
@@ -19,7 +19,7 @@ EMU=qemu-system-aarch64
endif
ifeq ($(NEWS_MODEL), )
-NE_MODEL=-DkMachineModel="\"ZKA\""
+NE_MODEL=-DkMachineModel="\"NeKernel\""
endif
BIOS=OVMF.fd
diff --git a/dev/Boot/arm64-mobile.make b/dev/Boot/arm64-mobile.make
index 2b6e0e2b..853d984a 100644
--- a/dev/Boot/arm64-mobile.make
+++ b/dev/Boot/arm64-mobile.make
@@ -19,7 +19,7 @@ EMU=qemu-system-aarch64
endif
ifeq ($(NEWS_MODEL), )
-NE_MODEL=-DkMachineModel="\"ZKA\""
+NE_MODEL=-DkMachineModel="\"NeKernel\""
endif
BIOS=OVMF.fd
diff --git a/dev/Boot/src/BootThread.cc b/dev/Boot/src/BootThread.cc
index a0969953..93ebd9ac 100644
--- a/dev/Boot/src/BootThread.cc
+++ b/dev/Boot/src/BootThread.cc
@@ -63,13 +63,13 @@ namespace Boot
}
#endif // __NE_AMD64__ || __NE_ARM64__
- if (opt_header_ptr->mSubsystem != kZKASubsystem)
+ if (opt_header_ptr->mSubsystem != kNeKernelSubsystem)
{
- writer.Write("BootZ: Not a ZKA Subsystem executable.\r");
+ writer.Write("BootZ: Not a NeKernel Subsystem executable.\r");
return;
}
- writer.Write("BootZ: PE32+ executable detected (ZKA Subsystem).\r");
+ writer.Write("BootZ: PE32+ executable detected (NeKernel Subsystem).\r");
auto numSecs = header_ptr->mNumberOfSections;
diff --git a/dev/Boot/src/BootloaderRsrc.rsrc b/dev/Boot/src/BootloaderRsrc.rsrc
index cb68da9a..47623fbc 100644
--- a/dev/Boot/src/BootloaderRsrc.rsrc
+++ b/dev/Boot/src/BootloaderRsrc.rsrc
@@ -9,7 +9,7 @@ BEGIN
BLOCK "080904E4"
BEGIN
VALUE "CompanyName", "Amlal EL Mahrouss"
- VALUE "FileDescription", "ZKA OS Loader."
+ VALUE "FileDescription", "NeKernel OS Loader."
VALUE "FileVersion", BOOTLOADER_VERSION
VALUE "InternalName", "zbaosldr"
VALUE "LegalCopyright", "Copyright (C) 2024, Amlal EL Mahrouss all rights reserved."
diff --git a/dev/Kernel/FirmwareKit/EFI/API.h b/dev/Kernel/FirmwareKit/EFI/API.h
index 2c4a7275..1edbaae7 100644
--- a/dev/Kernel/FirmwareKit/EFI/API.h
+++ b/dev/Kernel/FirmwareKit/EFI/API.h
@@ -12,7 +12,7 @@
#include <KernelKit/MSDOS.h>
#include <KernelKit/PE.h>
-#define kZKASubsystem (17)
+#define kNeKernelSubsystem (17)
#ifdef __ZBAOSLDR__
// forward decl.
diff --git a/dev/Kernel/FirmwareKit/EPM.h b/dev/Kernel/FirmwareKit/EPM.h
index 2f1e1507..d580cbd0 100644
--- a/dev/Kernel/FirmwareKit/EPM.h
+++ b/dev/Kernel/FirmwareKit/EPM.h
@@ -87,8 +87,9 @@ struct PACKED EPM_PART_BLOCK
Kernel::Int64 NumBlocks;
Kernel::Int64 SectorSz;
Kernel::Int64 LbaStart; // base offset
- Kernel::Int64 LbaEnd; // addition of lba_start to get the end of partition.
+ Kernel::Int64 LbaEnd; // end offset
Kernel::Int16 Kind;
+ Kernel::Int16 Flags;
Kernel::Int32 FsVersion;
Kernel::Char Fs[kEPMFilesystemLength]; /* NeFS, ffs2... */
Kernel::Char Reserved[kEPMReserveLen]; // to fill a full sector.
@@ -103,7 +104,7 @@ enum
kEPMGenericOS = 0xcf, // Generic OS
kEPMLinux = 0x8f, // Linux on EPM
kEPMBSD = 0x9f, // Berkeley Soft. Distribution
- kEPMZkaOS = 0x1f, // This OS.
+ kEPMNeOS = 0x1f, // This OS.
kEPMInvalidOS = 0xff,
};
diff --git a/dev/Kernel/HALKit/AMD64/HalApplicationProcessorStartup.asm b/dev/Kernel/HALKit/AMD64/HalApplicationProcessorStartup.asm
index 2e2411c3..aaed18fa 100644
--- a/dev/Kernel/HALKit/AMD64/HalApplicationProcessorStartup.asm
+++ b/dev/Kernel/HALKit/AMD64/HalApplicationProcessorStartup.asm
@@ -1,7 +1,7 @@
;; /*
;; * ========================================================
;; *
-;; * ZKA
+;; * NeKernel
;; * Copyright (C) 2024-2025, Amlal EL Mahrouss, all rights reserved., all rights reserved.
;; *
;; * ========================================================
diff --git a/dev/Kernel/HALKit/AMD64/HalBoot.asm b/dev/Kernel/HALKit/AMD64/HalBoot.asm
index 5141c662..5a285673 100644
--- a/dev/Kernel/HALKit/AMD64/HalBoot.asm
+++ b/dev/Kernel/HALKit/AMD64/HalBoot.asm
@@ -1,7 +1,7 @@
;; /*
;; * ========================================================
;; *
-;; * ZKA
+;; * NeKernel
;; * Copyright (C) 2024-2025, Amlal EL Mahrouss, all rights reserved., all rights reserved.
;; *
;; * ========================================================
diff --git a/dev/Kernel/HALKit/AMD64/HalCommonAPI.asm b/dev/Kernel/HALKit/AMD64/HalCommonAPI.asm
index f6c85215..a4b0c841 100644
--- a/dev/Kernel/HALKit/AMD64/HalCommonAPI.asm
+++ b/dev/Kernel/HALKit/AMD64/HalCommonAPI.asm
@@ -1,7 +1,7 @@
;; /*
;; * ========================================================
;; *
-;; * ZKA
+;; * NeKernel
;; * Copyright (C) 2024-2025, Amlal EL Mahrouss, all rights reserved., all rights reserved.
;; *
;; * ========================================================
diff --git a/dev/Kernel/HALKit/AMD64/HalDebugOutput.cc b/dev/Kernel/HALKit/AMD64/HalDebugOutput.cc
index 6a484723..539d8178 100644
--- a/dev/Kernel/HALKit/AMD64/HalDebugOutput.cc
+++ b/dev/Kernel/HALKit/AMD64/HalDebugOutput.cc
@@ -8,6 +8,8 @@
#include <KernelKit/DebugOutput.h>
#include <NewKit/Utils.h>
#include <NewKit/New.h>
+#include <Mod/CoreGfx/FBMgr.h>
+#include <Mod/CoreGfx/TextMgr.h>
namespace Kernel
{
@@ -80,12 +82,30 @@ namespace Kernel
index = 0;
len = rt_string_len(bytes, 255);
+ static int x = kFontSizeX, y = kFontSizeY;
+ auto log_txt = RGB(0xff, 0xff, 0xff);
+
while (index < len)
{
if (bytes[index] == '\r')
HAL::rt_out8(Detail::kPort, '\r');
HAL::rt_out8(Detail::kPort, bytes[index] == '\r' ? '\n' : bytes[index]);
+
+ char tmp_str[2];
+ tmp_str[0] = bytes[index];
+ tmp_str[1] = 0;
+
+ fb_render_string(tmp_str, y, x, log_txt);
+
+ if (bytes[index] == '\r')
+ {
+ y += kFontSizeY;
+ x = kFontSizeX;
+ }
+
+ x += kFontSizeX;
+
++index;
}
diff --git a/dev/Kernel/HALKit/AMD64/HalUtils.asm b/dev/Kernel/HALKit/AMD64/HalUtils.asm
index 2894ca5d..2dc8f815 100644
--- a/dev/Kernel/HALKit/AMD64/HalUtils.asm
+++ b/dev/Kernel/HALKit/AMD64/HalUtils.asm
@@ -1,7 +1,7 @@
;; /*
;; * ========================================================
;; *
-;; * ZKA
+;; * NeKernel
;; * Copyright (C) 2024-2025, Amlal EL Mahrouss, all rights reserved., all rights reserved.
;; *
;; * ========================================================
diff --git a/dev/Kernel/HALKit/AMD64/PCI/DMA.cc b/dev/Kernel/HALKit/AMD64/PCI/DMA.cc
index 541e9533..e9981315 100644
--- a/dev/Kernel/HALKit/AMD64/PCI/DMA.cc
+++ b/dev/Kernel/HALKit/AMD64/PCI/DMA.cc
@@ -22,7 +22,7 @@ namespace Kernel
{
if (!fAddress)
return false;
-
+
if (offset == 0)
return false;
diff --git a/dev/Kernel/HALKit/AMD64/Storage/ATA.cc b/dev/Kernel/HALKit/AMD64/Storage/ATA.cc
index dcb6d816..25143a6d 100644
--- a/dev/Kernel/HALKit/AMD64/Storage/ATA.cc
+++ b/dev/Kernel/HALKit/AMD64/Storage/ATA.cc
@@ -20,12 +20,12 @@
#if defined(__ATA_PIO__) || defined(__ATA_DMA__)
+#define kATADataLen 256
+
using namespace Kernel;
using namespace Kernel::HAL;
-/// bugs: 0
-
-#define kATADataLen 256
+/// BUGS: 0
STATIC Boolean kATADetected = false;
STATIC Int32 kATADeviceType = kATADeviceCount;
@@ -128,6 +128,8 @@ Boolean drv_std_init(UInt16 Bus, UInt8 Drive, UInt16& OutBus, UInt8& OutMaster)
}
#endif // __ATA_DMA__
+ kout << "ATA is enabled now.\r";
+
return YES;
}
@@ -149,10 +151,6 @@ Void drv_std_read(UInt64 Lba, UInt16 IO, UInt8 Master, Char* Buf, SizeT SectorSz
UInt8 Command = ((!Master) ? 0xE0 : 0xF0);
-#ifdef __ATA_PIO__
- drv_std_wait_io(IO);
-#endif
-
drv_std_select(IO);
rt_out8(IO + ATA_REG_HDDEVSEL, (Command) | (((Lba) >> 24) & 0x0F));
@@ -167,8 +165,6 @@ Void drv_std_read(UInt64 Lba, UInt16 IO, UInt8 Master, Char* Buf, SizeT SectorSz
#ifdef __ATA_PIO__
rt_out8(ATA_REG_COMMAND, ATA_CMD_READ_PIO);
- drv_std_wait_io(IO);
-
for (SizeT IndexOff = 0; IndexOff < Size; ++IndexOff)
{
drv_std_wait_io(IO);
@@ -201,10 +197,6 @@ Void drv_std_write(UInt64 Lba, UInt16 IO, UInt8 Master, Char* Buf, SizeT SectorS
UInt8 Command = ((!Master) ? 0xE0 : 0xF0);
-#ifdef __ATA_PIO__
- drv_std_wait_io(IO);
-#endif
-
drv_std_select(IO);
rt_out8(IO + ATA_REG_HDDEVSEL, (Command) | (((Lba) >> 24) & 0x0F));
@@ -219,8 +211,6 @@ Void drv_std_write(UInt64 Lba, UInt16 IO, UInt8 Master, Char* Buf, SizeT SectorS
#ifdef __ATA_PIO__
rt_out8(ATA_REG_COMMAND, ATA_CMD_WRITE_PIO);
- drv_std_wait_io(IO);
-
for (SizeT IndexOff = 0; IndexOff < Size; ++IndexOff)
{
drv_std_wait_io(IO);
@@ -243,6 +233,7 @@ Void drv_std_write(UInt64 Lba, UInt16 IO, UInt8 Master, Char* Buf, SizeT SectorS
while (rt_in8(ATA_REG_STATUS) & 0x01)
;
+
rt_out8(IO + 0x00, 0x00); // Start DMA engine
#endif // __ATA_PIO__
}
diff --git a/dev/Kernel/KernelKit/DebugOutput.h b/dev/Kernel/KernelKit/DebugOutput.h
index 7ef1f30c..7f0ff3cf 100644
--- a/dev/Kernel/KernelKit/DebugOutput.h
+++ b/dev/Kernel/KernelKit/DebugOutput.h
@@ -206,6 +206,6 @@ namespace Kernel
#undef kout
#endif // ifdef kout
-#define kout Kernel::TerminalDevice::The() << "\e[0;31m [NeKernel] " << __FILE__ << " \e[0m: "
+#define kout Kernel::TerminalDevice::The() << "[NeKernel] " << __FILE__ << ": "
#define endl Kernel::TerminalDevice::The() << Kernel::end_line()
diff --git a/dev/Kernel/KernelKit/MemoryMgr.h b/dev/Kernel/KernelKit/MemoryMgr.h
index 1c42d71d..81cfe63b 100644
--- a/dev/Kernel/KernelKit/MemoryMgr.h
+++ b/dev/Kernel/KernelKit/MemoryMgr.h
@@ -71,8 +71,8 @@ namespace Kernel
}
*cls = new T(move(args)...);
- return *cls;
- }
+ return *cls;
+ }
/// @brief Delete and nullify C++ class.
/// @param cls The class to delete.
diff --git a/dev/Kernel/NewKit/Crc32.h b/dev/Kernel/NewKit/Crc32.h
index 1925d5bc..1facaace 100644
--- a/dev/Kernel/NewKit/Crc32.h
+++ b/dev/Kernel/NewKit/Crc32.h
@@ -1,7 +1,7 @@
/*
* ========================================================
*
- * ZKA
+ * NeKernel
* Date Added: 13/02/2023
* Copyright (C) 2024-2025, Amlal EL Mahrouss, all rights reserved., all rights reserved.
*
diff --git a/dev/Kernel/NewKit/ErrorOr.h b/dev/Kernel/NewKit/ErrorOr.h
index b6bc629b..433e7c9b 100644
--- a/dev/Kernel/NewKit/ErrorOr.h
+++ b/dev/Kernel/NewKit/ErrorOr.h
@@ -1,7 +1,7 @@
/*
* ========================================================
*
- * ZKA
+ * NeKernel
* Copyright (C) 2024-2025, Amlal EL Mahrouss, all rights reserved., all rights reserved.
*
* ========================================================
diff --git a/dev/Kernel/NewKit/Json.h b/dev/Kernel/NewKit/Json.h
index 0af87387..a376c15a 100644
--- a/dev/Kernel/NewKit/Json.h
+++ b/dev/Kernel/NewKit/Json.h
@@ -15,17 +15,17 @@
#include <NewKit/KString.h>
#include <NewKit/Utils.h>
-#define kMaxJsonPath 4096
-#define kJSONLen 32
-#define kJSONNull "null"
+#define kMaxJsonPath 8196
+#define kJSONLen 256
+#define kJSONNull "[]"
namespace Kernel
{
- /// @brief Json class
- class JSON final
+ /// @brief JavaScript object class
+ class Json final
{
public:
- explicit JSON()
+ explicit Json()
{
auto len = kJSONLen;
KString key = KString(len);
@@ -35,14 +35,14 @@ namespace Kernel
this->AsValue() = key;
}
- explicit JSON(SizeT lhsLen, SizeT rhsLen)
+ explicit Json(SizeT lhsLen, SizeT rhsLen)
: fKey(lhsLen), fValue(rhsLen)
{
}
- ~JSON() = default;
+ ~Json() = default;
- NE_COPY_DEFAULT(JSON);
+ NE_COPY_DEFAULT(Json);
const Bool& IsUndefined()
{
@@ -69,13 +69,13 @@ namespace Kernel
return fValue;
}
- static JSON kNull;
+ static Json kNull;
};
/// @brief Json stream reader helper.
struct JsonStreamReader final
{
- STATIC JSON In(const Char* full_array)
+ STATIC Json In(const Char* full_array)
{
auto start_val = '{';
auto end_val = '}';
@@ -84,7 +84,7 @@ namespace Kernel
if (full_array[0] != start_val)
{
if (full_array[0] != '[')
- return JSON::kNull;
+ return Json::kNull;
start_val = '[';
end_val = ']';
@@ -97,7 +97,7 @@ namespace Kernel
SizeT key_len = 0;
SizeT value_len = 0;
- JSON type(kMaxJsonPath, kMaxJsonPath);
+ Json type(kMaxJsonPath, kMaxJsonPath);
for (SizeT i = 1; i < len; ++i)
{
@@ -147,5 +147,5 @@ namespace Kernel
}
};
- using JsonStream = Stream<JsonStreamReader, JSON>;
+ using JsonStream = Stream<JsonStreamReader, Json>;
} // namespace Kernel
diff --git a/dev/Kernel/NewKit/Variant.h b/dev/Kernel/NewKit/Variant.h
index fcaa0b0b..352f486f 100644
--- a/dev/Kernel/NewKit/Variant.h
+++ b/dev/Kernel/NewKit/Variant.h
@@ -38,7 +38,7 @@ namespace Kernel
{
}
- explicit Variant(JSON* json)
+ explicit Variant(Json* json)
: fPtr((VoidPtr)json), fKind(VariantKind::kJson)
{
}
diff --git a/dev/Kernel/src/FS/NeFS.cc b/dev/Kernel/src/FS/NeFS.cc
index d954230d..418cc7cc 100644
--- a/dev/Kernel/src/FS/NeFS.cc
+++ b/dev/Kernel/src/FS/NeFS.cc
@@ -150,7 +150,7 @@ _Output BOOL NeFileSystemParser::CreateFork(_Input NFS_FORK_STRUCT& the_fork)
/// log what we have now.
kout << "Fork offset is at: " << hex_number(the_fork.DataOffset)
- << endl;
+ << endl;
kout << "Wrote fork metadata at: " << hex_number(lba) << endl;
@@ -413,9 +413,9 @@ _Output NFS_CATALOG_STRUCT* NeFileSystemParser::CreateCatalog(_Input const Char*
drive.fOutput(drive.fPacket);
kout << "Create new catalog with flags: "
- << hex_number(child_catalog->Flags) << endl;
+ << hex_number(child_catalog->Flags) << endl;
kout << "Create new catalog with name: " << child_catalog->Name
- << endl;
+ << endl;
delete catalog;
catalog = nullptr;
@@ -944,7 +944,7 @@ VoidPtr NeFileSystemParser::ReadCatalog(_Input _Output NFS_CATALOG_STRUCT* catal
{
if (!catalog)
{
- err_global_get() = kErrorFileNotFound;
+ err_global_get() = kErrorInvalidData;
return nullptr;
}
@@ -952,7 +952,7 @@ VoidPtr NeFileSystemParser::ReadCatalog(_Input _Output NFS_CATALOG_STRUCT* catal
Size dataForkSize = (!is_rsrc_fork) ? catalog->DataForkSize : catalog->ResourceForkSize;
kout << "catalog " << catalog->Name
- << ", fork: " << hex_number(dataForkLba) << endl;
+ << ", fork: " << hex_number(dataForkLba) << endl;
NFS_FORK_STRUCT* fs_buf = new NFS_FORK_STRUCT();
auto drive = kMountpoint.A();
@@ -1000,12 +1000,6 @@ VoidPtr NeFileSystemParser::ReadCatalog(_Input _Output NFS_CATALOG_STRUCT* catal
bool NeFileSystemParser::Seek(_Input _Output NFS_CATALOG_STRUCT* catalog, SizeT off)
{
- if (!catalog)
- {
- err_global_get() = kErrorFileNotFound;
- return false;
- }
-
err_global_get() = kErrorUnimplemented;
return false;
}
@@ -1018,12 +1012,6 @@ bool NeFileSystemParser::Seek(_Input _Output NFS_CATALOG_STRUCT* catalog, SizeT
SizeT NeFileSystemParser::Tell(_Input _Output NFS_CATALOG_STRUCT* catalog)
{
- if (!catalog)
- {
- err_global_get() = kErrorFileNotFound;
- return 0;
- }
-
err_global_get() = kErrorUnimplemented;
return 0;
}
diff --git a/dev/Kernel/src/Json.cc b/dev/Kernel/src/Json.cc
index 47f6f3f3..2e0a1465 100644
--- a/dev/Kernel/src/Json.cc
+++ b/dev/Kernel/src/Json.cc
@@ -7,4 +7,4 @@
#include <NewKit/Json.h>
/// @brief Undefined object, is null in length.
-RTL_INIT_OBJECT(Kernel::JSON::kNull, Kernel::JSON);
+RTL_INIT_OBJECT(Kernel::Json::kNull, Kernel::Json);
diff --git a/dev/Kernel/src/MemoryMgr.cc b/dev/Kernel/src/MemoryMgr.cc
index bdaec674..989a4e95 100644
--- a/dev/Kernel/src/MemoryMgr.cc
+++ b/dev/Kernel/src/MemoryMgr.cc
@@ -24,7 +24,7 @@
//! @file Heap.cc
//! @brief This Heap algorithm serves as the main memory manager.
-#define kKernelHeapMagic (0xD4D7D5)
+#define kKernelHeapMagic (0xD4D75)
#define kKernelHeapAlignSz (__BIGGEST_ALIGNMENT__)
namespace Kernel
@@ -40,25 +40,25 @@ namespace Kernel
struct PACKED HEAP_INFORMATION_BLOCK final
{
///! @brief 32-bit value which contains the magic number of the heap.
- UInt64 fMagic;
+ UInt32 fMagic : 24;
///! @brief Is the heap present?
- Boolean fPresent : 1;
+ UInt8 fPresent : 1;
/// @brief Is this valued owned by the user?
- Boolean fWriteRead : 1;
+ UInt8 fWriteRead : 1;
/// @brief Is this valued owned by the user?
- Boolean fUser : 1;
+ UInt8 fUser : 1;
/// @brief Is this a page pointer?
- Boolean fPage : 1;
+ UInt8 fPage : 1;
/// @brief 32-bit CRC checksum.
UInt32 fCRC32;
/// @brief 64-bit Allocation flags.
- UInt64 fFlags;
+ UInt16 fFlags;
/// @brief 64-bit pointer size.
SizeT fSize;
diff --git a/dev/Kernel/src/User.cc b/dev/Kernel/src/User.cc
index f42ca69a..e8ed9be6 100644
--- a/dev/Kernel/src/User.cc
+++ b/dev/Kernel/src/User.cc
@@ -1,7 +1,7 @@
/*
* ========================================================
*
- * ZKA
+ * NeKernel
* Copyright (C) 2024-2025, Amlal EL Mahrouss, all rights reserved., all rights reserved.
*
* File: User.cc
diff --git a/dev/Mod/AHCI/AHCI.h b/dev/Mod/AHCI/AHCI.h
index b647ad24..612a21e6 100644
--- a/dev/Mod/AHCI/AHCI.h
+++ b/dev/Mod/AHCI/AHCI.h
@@ -325,10 +325,10 @@ typedef struct HbaPrdtEntry final
typedef struct HbaCmdTbl final
{
- Kernel::UInt8 Cfis[64]; // Command FIS
- Kernel::UInt8 Acmd[16]; // ATAPI command, 12 or 16 bytes
- Kernel::UInt8 Rsv[48]; // Reserved
- struct HbaPrdtEntry Prdt[1]; // Physical region descriptor table entries, 0 ~ 65535
+ Kernel::UInt8 Cfis[64]; // Command FIS
+ Kernel::UInt8 Acmd[16]; // ATAPI command, 12 or 16 bytes
+ Kernel::UInt8 Rsv[48]; // Reserved
+ struct HbaPrdtEntry Prdt[1]; // Physical region descriptor table entries, 0 ~ 65535
} HbaCmdTbl;
/// @brief Initializes an AHCI disk.
diff --git a/doc/OS-Design.drawio b/doc/OS-Design.drawio
index 130c3d3e..118a9add 100644
--- a/doc/OS-Design.drawio
+++ b/doc/OS-Design.drawio
@@ -10,7 +10,7 @@
<mxCell id="ifhO3zQZNW-sXvZMTmu8-3" value="Dylibs and Applications. (RING 3) (EL0)" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="235.5" y="295" width="360" height="35" as="geometry"/>
</mxCell>
- <mxCell id="ifhO3zQZNW-sXvZMTmu8-8" value="&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;OS's Design&lt;/span&gt;&lt;/h1&gt;&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;&lt;span style=&quot;font-size: 12px; font-weight: 400;&quot;&gt;This describes how ZKA is structued and how we're supposed to deal with (rings included.)&lt;/span&gt;&lt;/h1&gt;" style="text;html=1;whiteSpace=wrap;overflow=hidden;rounded=0;" parent="1" vertex="1">
+ <mxCell id="ifhO3zQZNW-sXvZMTmu8-8" value="&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;OS's Design&lt;/span&gt;&lt;/h1&gt;&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;&lt;span style=&quot;font-size: 12px; font-weight: 400;&quot;&gt;This describes how NeKernel is structued and how we're supposed to deal with (rings included.)&lt;/span&gt;&lt;/h1&gt;" style="text;html=1;whiteSpace=wrap;overflow=hidden;rounded=0;" parent="1" vertex="1">
<mxGeometry x="620" y="310" width="180" height="180" as="geometry"/>
</mxCell>
<mxCell id="ifhO3zQZNW-sXvZMTmu8-13" value="NewOS MP Kernel, DDK and it's drivers. (RING 0) (EL1)" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
diff --git a/doc/OS-Scheduler-Design.drawio b/doc/OS-Scheduler-Design.drawio
index c8a382c4..46c6304b 100644
--- a/doc/OS-Scheduler-Design.drawio
+++ b/doc/OS-Scheduler-Design.drawio
@@ -10,7 +10,7 @@
<mxCell id="ifhO3zQZNW-sXvZMTmu8-3" value="Running code (RING 3)" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="235.5" y="295" width="360" height="35" as="geometry"/>
</mxCell>
- <mxCell id="ifhO3zQZNW-sXvZMTmu8-8" value="&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;ZKA Scheduler&lt;/span&gt;&lt;/h1&gt;&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;&lt;span style=&quot;font-size: 12px; font-weight: 400; background-color: initial;&quot;&gt;This describes how ZKA is structued to schedule tasks.&lt;/span&gt;&lt;br&gt;&lt;/h1&gt;&lt;div&gt;A UserProcess may be attached to another one (thread)&lt;/div&gt;&lt;div&gt;Otherwise it's a process within a team.&lt;/div&gt;" style="text;html=1;whiteSpace=wrap;overflow=hidden;rounded=0;" parent="1" vertex="1">
+ <mxCell id="ifhO3zQZNW-sXvZMTmu8-8" value="&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;NeKernel Scheduler&lt;/span&gt;&lt;/h1&gt;&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;&lt;span style=&quot;font-size: 12px; font-weight: 400; background-color: initial;&quot;&gt;This describes how NeKernel is structued to schedule tasks.&lt;/span&gt;&lt;br&gt;&lt;/h1&gt;&lt;div&gt;A UserProcess may be attached to another one (thread)&lt;/div&gt;&lt;div&gt;Otherwise it's a process within a team.&lt;/div&gt;" style="text;html=1;whiteSpace=wrap;overflow=hidden;rounded=0;" parent="1" vertex="1">
<mxGeometry x="620" y="290" width="180" height="200" as="geometry"/>
</mxCell>
<mxCell id="ifhO3zQZNW-sXvZMTmu8-13" value="UserProcess structure (RING 0)" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
diff --git a/doc/ZXD.drawio b/doc/ZXD.drawio
index f71ddba5..7452d3f9 100644
--- a/doc/ZXD.drawio
+++ b/doc/ZXD.drawio
@@ -4,10 +4,10 @@
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
- <mxCell id="5xbXWvOdvmnQnRAweQaM-1" value="&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;ZXD&lt;/h1&gt;&lt;p&gt;ZKA eXtended Driver Format.&lt;/p&gt;&lt;p&gt;An Extended PE32+&lt;/p&gt;&lt;p&gt;With additional headers and such.&lt;/p&gt;" style="text;html=1;whiteSpace=wrap;overflow=hidden;rounded=0;" parent="1" vertex="1">
+ <mxCell id="5xbXWvOdvmnQnRAweQaM-1" value="&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;ZXD&lt;/h1&gt;&lt;p&gt;NeKernel eXtended Driver Format.&lt;/p&gt;&lt;p&gt;An Extended PE32+&lt;/p&gt;&lt;p&gt;With additional headers and such.&lt;/p&gt;" style="text;html=1;whiteSpace=wrap;overflow=hidden;rounded=0;" parent="1" vertex="1">
<mxGeometry x="40" y="40" width="210" height="130" as="geometry" />
</mxCell>
- <mxCell id="5xbXWvOdvmnQnRAweQaM-2" value="ZKA HEADER" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+ <mxCell id="5xbXWvOdvmnQnRAweQaM-2" value="NeKernel HEADER" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="40" y="180" width="310" height="60" as="geometry" />
</mxCell>
<mxCell id="5xbXWvOdvmnQnRAweQaM-3" value="PE32+ ZONE" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
@@ -22,7 +22,7 @@
<mxCell id="FgewEam9b60nFajCTQDb-2" value="Executable image type..." style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="380" y="274" width="290" height="30" as="geometry" />
</mxCell>
- <mxCell id="FgewEam9b60nFajCTQDb-5" value="ZKA executable header." style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+ <mxCell id="FgewEam9b60nFajCTQDb-5" value="NeKernel executable header." style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="380" y="194" width="290" height="30" as="geometry" />
</mxCell>
</root>
diff --git a/make_docs.sh b/make_docs.sh
index 801a0f52..2d9a0a22 100755
--- a/make_docs.sh
+++ b/make_docs.sh
@@ -2,4 +2,4 @@
mkdir -p html
-XSDocgen --source ./dev/ --output ./html --undocumented --project-name "ZKA MicroKernel" --enable-c++ --project-copyright "Amlal EL Mahrouss &copy; %Y - All rights Reserved" --project-version "930.2024.1" --company-name "Amlal EL Mahrouss"
+XSDocgen --source ./dev/ --output ./html --undocumented --project-name "NeKernel MicroKernel" --enable-c++ --project-copyright "Amlal EL Mahrouss &copy; %Y - All rights Reserved" --project-version "930.2024.1" --company-name "Amlal EL Mahrouss"
diff --git a/public/tools/make_app/src/CommandLine.cc b/public/tools/make_app/src/CommandLine.cc
index 10705598..3339bfe3 100644
--- a/public/tools/make_app/src/CommandLine.cc
+++ b/public/tools/make_app/src/CommandLine.cc
@@ -7,7 +7,7 @@
#include <Framework.h>
#include <Steps.h>
-/// @brief This program makes a framework directory for ZKA OS.
+/// @brief This program makes a framework directory for NeKernel OS.
int main(int argc, char* argv[])
{