From ede6c1e0fd670d5af1c62ab52847fc518cfd4e9c Mon Sep 17 00:00:00 2001 From: Amlal Date: Sat, 25 Jan 2025 13:02:30 +0100 Subject: NeKernel 1.0.0 - SMP scheduling. - Ne Filesystem. - Functional microkernel. - Working AMD64 support. - WiP ARM64 support. Signed-off-by: Amlal --- dev/Kernel/FirmwareKit/GPT.h | 2 +- dev/Kernel/POSIXKit/POSIX.h | 11 +++++++++++ dev/Kernel/POSIXKit/Signals.h | 20 ++++++++++++++++++++ dev/Kernel/POSIXKit/signal.h | 20 -------------------- dev/Kernel/POSIXKit/unix_layer.h | 13 ------------- dev/Kernel/src/FS/NeFS.cc | 8 ++++---- dev/Kernel/src/KernelMain.cc | 2 +- dev/Kernel/src/UserProcessScheduler.cc | 4 ++-- dev/Kernel/src/UserProcessTeam.cc | 1 + 9 files changed, 40 insertions(+), 41 deletions(-) create mode 100644 dev/Kernel/POSIXKit/POSIX.h create mode 100644 dev/Kernel/POSIXKit/Signals.h delete mode 100644 dev/Kernel/POSIXKit/signal.h delete mode 100644 dev/Kernel/POSIXKit/unix_layer.h (limited to 'dev/Kernel') diff --git a/dev/Kernel/FirmwareKit/GPT.h b/dev/Kernel/FirmwareKit/GPT.h index 590b63ef..9f5e8c25 100644 --- a/dev/Kernel/FirmwareKit/GPT.h +++ b/dev/Kernel/FirmwareKit/GPT.h @@ -9,7 +9,7 @@ #include #include -#define kSectorSizeGPT 512 +#define kSectorSizeGPT (512U) namespace Kernel { diff --git a/dev/Kernel/POSIXKit/POSIX.h b/dev/Kernel/POSIXKit/POSIX.h new file mode 100644 index 00000000..2142f2a1 --- /dev/null +++ b/dev/Kernel/POSIXKit/POSIX.h @@ -0,0 +1,11 @@ +/* ------------------------------------------- + + Copyright (C) 2024, Amlal EL Mahrouss, all rights reserved. + +------------------------------------------- */ + +#pragma once + +#include +#include +#include diff --git a/dev/Kernel/POSIXKit/Signals.h b/dev/Kernel/POSIXKit/Signals.h new file mode 100644 index 00000000..526c2d65 --- /dev/null +++ b/dev/Kernel/POSIXKit/Signals.h @@ -0,0 +1,20 @@ +/* ------------------------------------------- + + Copyright (C) 2024, Amlal EL Mahrouss, all rights reserved. + +------------------------------------------- */ + +#pragma once + +/** https://pubs.opengroup.org/onlinepubs/009695399/basedefs/signal.h.html */ + +#include + +typedef Kernel::UInt32 signal_t; + +#define SIGKILL 0 +#define SIGPAUS 1 +#define SIGEXEC 2 +#define SIGTRAP 3 +#define SIGABRT 4 +#define SIGCONT 5 diff --git a/dev/Kernel/POSIXKit/signal.h b/dev/Kernel/POSIXKit/signal.h deleted file mode 100644 index 75e6bf59..00000000 --- a/dev/Kernel/POSIXKit/signal.h +++ /dev/null @@ -1,20 +0,0 @@ -/* ------------------------------------------- - - Copyright (C) 2024, Amlal EL Mahrouss, all rights reserved. - -------------------------------------------- */ - -#pragma once - -/** https://pubs.opengroup.org/onlinepubs/009695399/basedefs/signal.h.html */ - -#include - -typedef Kernel::UInt32 signal_t; - -#define SIGKILL 0 -#define SIGPAUS 1 -#define SIGEXEC 2 -#define SIGTRAP 3 -#define SIGABRT 4 -#define SIGCONT 5 diff --git a/dev/Kernel/POSIXKit/unix_layer.h b/dev/Kernel/POSIXKit/unix_layer.h deleted file mode 100644 index f543ed41..00000000 --- a/dev/Kernel/POSIXKit/unix_layer.h +++ /dev/null @@ -1,13 +0,0 @@ -/* ------------------------------------------- - - Copyright (C) 2024, Amlal EL Mahrouss, all rights reserved. - -------------------------------------------- */ - -#pragma once - -#include -#include -#include -#include -#include \ No newline at end of file diff --git a/dev/Kernel/src/FS/NeFS.cc b/dev/Kernel/src/FS/NeFS.cc index 231cbfe1..e0561d21 100644 --- a/dev/Kernel/src/FS/NeFS.cc +++ b/dev/Kernel/src/FS/NeFS.cc @@ -100,7 +100,7 @@ _Output BOOL NeFileSystemParser::CreateFork(_Input NFS_FORK_STRUCT& the_fork) if (cur_fork.Flags & kNeFSFlagCreated) { - kcout << "Fork already exists.\r"; + kcout << "Error: Fork does exists.\r"; /// sanity check. if (StringBuilder::Equals(cur_fork.ForkName, the_fork.ForkName) && @@ -143,17 +143,17 @@ _Output BOOL NeFileSystemParser::CreateFork(_Input NFS_FORK_STRUCT& the_fork) drv.fPacket.fPacketSize = sizeof(NFS_FORK_STRUCT); drv.fPacket.fPacketContent = &the_fork; - kcout << "Writing fork...\r"; + kcout << "Writing fork metadata...\r"; // drv.fOutput(drv.fPacket); fs_ifs_write(&kMountpoint, drv, MountpointInterface::kDriveIndexA); /// log what we have now. - kcout << "Wrote fork data at: " << hex_number(the_fork.DataOffset) + kcout << "Fork offset is at: " << hex_number(the_fork.DataOffset) << endl; - kcout << "Wrote fork at: " << hex_number(lba) << endl; + kcout << "Wrote fork metadata at: " << hex_number(lba) << endl; return YES; } diff --git a/dev/Kernel/src/KernelMain.cc b/dev/Kernel/src/KernelMain.cc index 7875fa7c..b7823d1b 100644 --- a/dev/Kernel/src/KernelMain.cc +++ b/dev/Kernel/src/KernelMain.cc @@ -72,7 +72,7 @@ namespace Kernel::Detail if (!mJournal.GetJournal(mNeFS)) mJournal.CreateJournal(mNeFS); - mJournal.CommitJournal(mNeFS, "NeFS", "NeFS Format System"); + mJournal.CommitJournal(mNeFS, "['Name': 'NeFS', 'Type': 'AutoFormat']", "FormatLog.json"); mJournal.ReleaseJournal(); } } diff --git a/dev/Kernel/src/UserProcessScheduler.cc b/dev/Kernel/src/UserProcessScheduler.cc index 613792a0..e9b2de17 100644 --- a/dev/Kernel/src/UserProcessScheduler.cc +++ b/dev/Kernel/src/UserProcessScheduler.cc @@ -559,8 +559,8 @@ namespace Kernel continue; } - if (UserProcessScheduler::The().CurrentTeam().AsArray()[new_pid].Affinity == AffinityKind::kRealTime) - continue; + if (UserProcessScheduler::The().CurrentTeam().AsArray()[new_pid].Affinity == AffinityKind::kRealTime) + continue; PID prev_pid = UserProcessHelper::TheCurrentPID(); UserProcessHelper::TheCurrentPID().Leak().Leak() = new_pid; diff --git a/dev/Kernel/src/UserProcessTeam.cc b/dev/Kernel/src/UserProcessTeam.cc index 918a62bb..e6f8a67e 100644 --- a/dev/Kernel/src/UserProcessTeam.cc +++ b/dev/Kernel/src/UserProcessTeam.cc @@ -18,6 +18,7 @@ namespace Kernel for (SizeT i = 0U; i < this->mProcessList.Count(); ++i) { this->mProcessList[i] = UserProcess(); + this->mProcessList[i].PTime = 0; this->mProcessList[i].Status = ProcessStatusKind::kKilled; } -- cgit v1.2.3