summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2025-08-09 08:56:53 +0100
committerGitHub <noreply@github.com>2025-08-09 08:56:53 +0100
commit408be791647c015c99963cc1b6d710f58d729dec (patch)
tree35efb24716c331ee6bbe38e6fb0c8ab90079a373
parent9ac7b512ace3f8a3f5613dbf940484a9fa3c82c2 (diff)
refactor! rename `tooling` to `tools`
feat: BenchKit improvements and libMsg authorship refactors.
-rw-r--r--.gitignore4
-rw-r--r--CODEOWNERS2
-rw-r--r--README.md6
-rw-r--r--compile_flags.txt2
-rwxr-xr-xdebug_ahci_x64.sh2
-rwxr-xr-xdebug_ata_x64.sh2
-rw-r--r--dev/libMsg/MsgKit/Server.h4
-rw-r--r--dev/misc/BenchKit/Chrono.h5
-rw-r--r--dev/misc/BenchKit/X64Chrono.h16
-rwxr-xr-xrelease_ahci_x64.sh2
-rwxr-xr-xrelease_ata_x64.sh2
-rw-r--r--tools/dist/.keep (renamed from tooling/dist/.keep)0
-rw-r--r--tools/fsck.hefs.cc (renamed from tooling/fsck.hefs.cc)4
-rw-r--r--tools/fsck.hefs.json (renamed from tooling/fsck.hefs.json)0
-rw-r--r--tools/libmkfs/hefs.h (renamed from tooling/libmkfs/hefs.h)0
-rw-r--r--tools/libmkfs/mkfs.h (renamed from tooling/libmkfs/mkfs.h)2
-rw-r--r--[-rwxr-xr-x]tools/mk_app.py (renamed from tooling/mk_app.py)0
-rw-r--r--[-rwxr-xr-x]tools/mk_fwrk.py (renamed from tooling/mk_fwrk.py)0
-rw-r--r--[-rwxr-xr-x]tools/mk_htman.py (renamed from tooling/mk_htman.py)0
-rw-r--r--[-rwxr-xr-x]tools/mk_img.py (renamed from tooling/mk_img.py)0
-rw-r--r--tools/mkfs.hefs.cc (renamed from tooling/mkfs.hefs.cc)4
-rw-r--r--tools/mkfs.hefs.json (renamed from tooling/mkfs.hefs.json)0
-rw-r--r--tools/rang.h (renamed from tooling/rang.h)0
23 files changed, 33 insertions, 24 deletions
diff --git a/.gitignore b/.gitignore
index 9722f662..781e9544 100644
--- a/.gitignore
+++ b/.gitignore
@@ -25,8 +25,8 @@ ne_bootz
neoskrnl/neoskrnl.xcodeproj/project.xcworkspace/xcshareddata/
-tooling/dist/mkfs.*
-tooling/dist/fsck.*
+tools/dist/mkfs.*
+tools/dist/fsck.*
html/
latex/
diff --git a/CODEOWNERS b/CODEOWNERS
index 8eae8622..bf706bfd 100644
--- a/CODEOWNERS
+++ b/CODEOWNERS
@@ -4,4 +4,4 @@
/dev/ddk/ @amlel-el-mahrouss
/dev/libMsg/ @0xf00sec
/dev/libSystem/ @0xf00sec
-# some other parts (tooling, frameworks) need ownership too. \ No newline at end of file
+# some other parts (tools, frameworks) need ownership too. \ No newline at end of file
diff --git a/README.md b/README.md
index dc9acf93..0557f531 100644
--- a/README.md
+++ b/README.md
@@ -18,7 +18,7 @@
## Overview
-**NeKernel** is a modern, multi-platform microkernel designed for security, modularity, and performance. It features a custom VFS, advanced memory management, a flexible DDK (Driver Development Kit), and robust userland tooling. NeKernel is built for research, education, and next-generation OS development.
+**NeKernel** is a modern, multi-platform microkernel designed for security, modularity, and performance. It features a custom VFS, advanced memory management, a flexible DDK (Driver Development Kit), and robust userland tools. NeKernel is built for research, education, and next-generation OS development.
---
@@ -36,9 +36,9 @@
- **System Call Interface**: low-level syscall ABI, with a stable high-level SDK for user applications. System calls are routed through a syscall manager and abstracted by `libSystem`.
-- **Security and Robustness**: kernel and tooling (bounds checks, safe memory copy/set, error codes). Kernel panics and error reporting for critical failures. No dynamic code loading in kernel space.
+- **Security and Robustness**: kernel and tools (bounds checks, safe memory copy/set, error codes). Kernel panics and error reporting for critical failures. No dynamic code loading in kernel space.
-- **Documentation and Specs**: Full LaTeX specifications for HeFS and NeFS, with on-disk structure diagrams and API documentation. Markdown docs for tooling and usage.
+- **Documentation and Specs**: Full LaTeX specifications for HeFS and NeFS, with on-disk structure diagrams and API documentation. Markdown docs for tools and usage.
- **Cross-Platform Boot Support**: Bootloader and platform code for AMD64 and ARM64, with handover and hardware abstraction layers.
diff --git a/compile_flags.txt b/compile_flags.txt
index fbfd1d06..828dc123 100644
--- a/compile_flags.txt
+++ b/compile_flags.txt
@@ -15,7 +15,7 @@
-Ipublic/tools/open
-Ipublic/frameworks
-Idev/boot/BootKit
--Itooling/
+-Itools/
-I./
-std=c++20
-D__NE_AMD64__
diff --git a/debug_ahci_x64.sh b/debug_ahci_x64.sh
index 66121bb7..97ff57ee 100755
--- a/debug_ahci_x64.sh
+++ b/debug_ahci_x64.sh
@@ -11,6 +11,6 @@ cd ../boot
make -f amd64-desktop.make all
make -f amd64-desktop.make disk
cd ../../
-./tooling/mk_img.py ./dev/boot/src/nekernel-esp.img ./dev/boot/src/root
+./tools/mk_img.py ./dev/boot/src/nekernel-esp.img ./dev/boot/src/root
cd dev/boot
make -f amd64-desktop.make run-efi-amd64-ahci \ No newline at end of file
diff --git a/debug_ata_x64.sh b/debug_ata_x64.sh
index 6f40887b..b021c3ed 100755
--- a/debug_ata_x64.sh
+++ b/debug_ata_x64.sh
@@ -11,6 +11,6 @@ cd ../boot
make -f amd64-desktop.make all
make -f amd64-desktop.make disk
cd ../../
-./tooling/mk_img.py ./dev/boot/src/nekernel-esp.img ./dev/boot/src/root
+./tools/mk_img.py ./dev/boot/src/nekernel-esp.img ./dev/boot/src/root
cd dev/boot
make -f amd64-desktop.make run-efi-amd64-ata-pio
diff --git a/dev/libMsg/MsgKit/Server.h b/dev/libMsg/MsgKit/Server.h
index aee0dbdd..4fa73ccc 100644
--- a/dev/libMsg/MsgKit/Server.h
+++ b/dev/libMsg/MsgKit/Server.h
@@ -12,6 +12,9 @@
#include <libSystem/SystemKit/System.h>
#endif
+/// @author Amlal El Mahrouss
+/// @brief libMsg LISP system.
+
struct LIBMSG_EXPR;
/// @brief an expression chain of LibMSG.
@@ -34,5 +37,4 @@ typedef Void (*libmsg_func_t)(LIBMSG_EXPR* self, VoidPtr arg, SizeT arg_size);
IMPORT_C Void libmsg_init_library(libmsg_func_t* funcs, SizeT cnt);
IMPORT_C UInt32 libmsg_close_library(Void);
-
IMPORT_C UInt32 libmsg_eval_expr(struct LIBMSG_EXPR* head);
diff --git a/dev/misc/BenchKit/Chrono.h b/dev/misc/BenchKit/Chrono.h
index 394f16fd..c6801de5 100644
--- a/dev/misc/BenchKit/Chrono.h
+++ b/dev/misc/BenchKit/Chrono.h
@@ -10,6 +10,11 @@ Copyright (C) 2025, Amlal El Mahrouss, all rights reserved.
#include <CompilerKit/CompilerKit.h>
#include <NeKit/Defines.h>
+/// @author Amlal El Mahrouss
+/// @brief BenchKit Chrono contract.
+
+#define BENCHKIT_INTERFACE : public ::Kernel::ChronoInterface
+
namespace Kernel {
class ChronoInterface;
diff --git a/dev/misc/BenchKit/X64Chrono.h b/dev/misc/BenchKit/X64Chrono.h
index 706ce883..358c74d4 100644
--- a/dev/misc/BenchKit/X64Chrono.h
+++ b/dev/misc/BenchKit/X64Chrono.h
@@ -14,11 +14,13 @@ namespace Kernel {
class X64Chrono;
struct X64ChronoTraits;
+/// @brief BenchKit chrono logic for x64.
struct X64ChronoTraits {
private:
STATIC UInt64 TickImpl_(void) {
UInt64 a = 0, d = 0;
- __asm__ volatile("rdtsc" : "=a"(a), "=d"(d));
+
+ asm volatile("rdtsc" : "=a"(a), "=d"(d));
return (d << 32) | a;
}
@@ -26,7 +28,7 @@ struct X64ChronoTraits {
};
/// @brief X86_64 hardware chrono implementation using the `rdtsc` instruction.
-class X64Chrono : public ChronoInterface {
+class X64Chrono BENCHKIT_INTERFACE {
public:
X64Chrono() = default;
~X64Chrono() override = default;
@@ -34,11 +36,11 @@ class X64Chrono : public ChronoInterface {
NE_COPY_DEFAULT(X64Chrono);
public:
- void Start() override { fStart = X64ChronoTraits::TickImpl_(); }
+ Void Start() override { fStart = X64ChronoTraits::TickImpl_(); }
- void Stop() override { fStop = X64ChronoTraits::TickImpl_(); }
+ Void Stop() override { fStop = X64ChronoTraits::TickImpl_(); }
- void Reset() override {
+ Void Reset() override {
fStart = 0;
fStop = 0;
}
@@ -46,8 +48,8 @@ class X64Chrono : public ChronoInterface {
UInt64 GetElapsedTime() const override { return fStop - fStart; }
private:
- UInt64 fStart = 0;
- UInt64 fStop = 0;
+ UInt64 fStart{};
+ UInt64 fStop{};
};
} // namespace Kernel
diff --git a/release_ahci_x64.sh b/release_ahci_x64.sh
index d585e74e..f081c774 100755
--- a/release_ahci_x64.sh
+++ b/release_ahci_x64.sh
@@ -8,6 +8,6 @@ cd ../boot
make -f amd64-desktop.make all
make -f amd64-desktop.make disk
cd ../../
-./tooling/mk_img.py ./dev/boot/src/nekernel-esp.img ./dev/boot/src/root
+./tools/mk_img.py ./dev/boot/src/nekernel-esp.img ./dev/boot/src/root
cd dev/boot
make -f amd64-desktop.make run-efi-amd64-ahci \ No newline at end of file
diff --git a/release_ata_x64.sh b/release_ata_x64.sh
index c0a0e01e..d69e3d3f 100755
--- a/release_ata_x64.sh
+++ b/release_ata_x64.sh
@@ -8,6 +8,6 @@ cd ../boot
make -f amd64-desktop.make all
make -f amd64-desktop.make disk
cd ../../
-./tooling/mk_img.py ./dev/boot/src/nekernel-esp.img ./dev/boot/src/root
+./tools/mk_img.py ./dev/boot/src/nekernel-esp.img ./dev/boot/src/root
cd dev/boot
make -f amd64-desktop.make run-efi-amd64-ata-pio \ No newline at end of file
diff --git a/tooling/dist/.keep b/tools/dist/.keep
index e69de29b..e69de29b 100644
--- a/tooling/dist/.keep
+++ b/tools/dist/.keep
diff --git a/tooling/fsck.hefs.cc b/tools/fsck.hefs.cc
index 9d0b3e03..e3837b8a 100644
--- a/tooling/fsck.hefs.cc
+++ b/tools/fsck.hefs.cc
@@ -4,8 +4,8 @@
------------------------------------------- */
-#include <tooling/libmkfs/hefs.h>
-#include <tooling/libmkfs/mkfs.h>
+#include <tools/libmkfs/hefs.h>
+#include <tools/libmkfs/mkfs.h>
#include <cstdlib>
#include <fstream>
diff --git a/tooling/fsck.hefs.json b/tools/fsck.hefs.json
index d6ff4b0f..d6ff4b0f 100644
--- a/tooling/fsck.hefs.json
+++ b/tools/fsck.hefs.json
diff --git a/tooling/libmkfs/hefs.h b/tools/libmkfs/hefs.h
index 52bb3086..52bb3086 100644
--- a/tooling/libmkfs/hefs.h
+++ b/tools/libmkfs/hefs.h
diff --git a/tooling/libmkfs/mkfs.h b/tools/libmkfs/mkfs.h
index 31f7a26a..e729c29b 100644
--- a/tooling/libmkfs/mkfs.h
+++ b/tools/libmkfs/mkfs.h
@@ -6,7 +6,7 @@
#pragma once
-#include <tooling/rang.h>
+#include <tools/rang.h>
#include <sstream>
#include <iostream>
#include <string>
diff --git a/tooling/mk_app.py b/tools/mk_app.py
index 7f7cef17..7f7cef17 100755..100644
--- a/tooling/mk_app.py
+++ b/tools/mk_app.py
diff --git a/tooling/mk_fwrk.py b/tools/mk_fwrk.py
index b2ef99ff..b2ef99ff 100755..100644
--- a/tooling/mk_fwrk.py
+++ b/tools/mk_fwrk.py
diff --git a/tooling/mk_htman.py b/tools/mk_htman.py
index e865f7c5..e865f7c5 100755..100644
--- a/tooling/mk_htman.py
+++ b/tools/mk_htman.py
diff --git a/tooling/mk_img.py b/tools/mk_img.py
index f0fa0609..f0fa0609 100755..100644
--- a/tooling/mk_img.py
+++ b/tools/mk_img.py
diff --git a/tooling/mkfs.hefs.cc b/tools/mkfs.hefs.cc
index b90b0fc5..bf790598 100644
--- a/tooling/mkfs.hefs.cc
+++ b/tools/mkfs.hefs.cc
@@ -4,8 +4,8 @@
------------------------------------------- */
-#include <tooling/libmkfs/hefs.h>
-#include <tooling/libmkfs/mkfs.h>
+#include <tools/libmkfs/hefs.h>
+#include <tools/libmkfs/mkfs.h>
#include <algorithm>
#include <cstdlib>
#include <cstring>
diff --git a/tooling/mkfs.hefs.json b/tools/mkfs.hefs.json
index d29b7f73..d29b7f73 100644
--- a/tooling/mkfs.hefs.json
+++ b/tools/mkfs.hefs.json
diff --git a/tooling/rang.h b/tools/rang.h
index 5d1c68ef..5d1c68ef 100644
--- a/tooling/rang.h
+++ b/tools/rang.h