summaryrefslogtreecommitdiffhomepage
path: root/dev
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-11-16 20:07:16 +0100
committerAmlal El Mahrouss <amlal@nekernel.org>2025-11-16 20:07:16 +0100
commit7e94770e21f520580caf9994b6b88416a6ac9511 (patch)
tree34207120a09765c63a8a6ed717b1bd19412ff8fb /dev
parent97fcfccebf502911371ce28a6b7f8be66c491cfd (diff)
fix: kernel: filesystem tweaks.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev')
-rw-r--r--dev/boot/amd64-desktop.make2
-rw-r--r--dev/kernel/FSKit/OpenHeFS.h2
-rw-r--r--dev/kernel/HALKit/AMD64/HalKernelMain.cc4
-rw-r--r--dev/kernel/KernelKit/DebugOutput.h2
-rw-r--r--dev/kernel/KernelKit/FileMgr.h4
-rw-r--r--dev/kernel/KernelKit/PE32CodeMgr.h2
-rw-r--r--dev/kernel/KernelKit/PEFCodeMgr.h2
-rw-r--r--dev/kernel/KernelKit/TraceSrv.h22
-rw-r--r--dev/kernel/KernelKit/UserMgr.h2
-rw-r--r--dev/kernel/amd64-desktop.make2
-rw-r--r--dev/kernel/src/DriveMgr.cc5
-rw-r--r--dev/kernel/src/FS/OpenHeFS+FileMgr.cc4
-rw-r--r--dev/kernel/src/FS/OpenHeFS+FileSystemParser.cc12
-rw-r--r--dev/kernel/src/UserMgr.cc11
-rw-r--r--dev/libDDK/docs/SPECIFICATION_DDK.md2
15 files changed, 49 insertions, 29 deletions
diff --git a/dev/boot/amd64-desktop.make b/dev/boot/amd64-desktop.make
index d8c3fd86..bad4fd4c 100644
--- a/dev/boot/amd64-desktop.make
+++ b/dev/boot/amd64-desktop.make
@@ -76,7 +76,7 @@ KERNEL=ne_kernel
SYSCHK=chk.efi
BOOTNET=net.efi
SCIKIT=libSystem.dll
-DDK=ddk.sys
+DDK=libDDK.dll
.PHONY: invalid-recipe
invalid-recipe:
diff --git a/dev/kernel/FSKit/OpenHeFS.h b/dev/kernel/FSKit/OpenHeFS.h
index 1361da9c..59dc569e 100644
--- a/dev/kernel/FSKit/OpenHeFS.h
+++ b/dev/kernel/FSKit/OpenHeFS.h
@@ -429,6 +429,6 @@ namespace OpenHeFS {
/// @brief Initialize OpenHeFS inside the main disk.
/// @return Whether it successfuly formated it or not.
- Boolean fs_init_hefs(Void) noexcept;
+ Boolean fs_init_openhefs(Void) noexcept;
} // namespace OpenHeFS
} // namespace Kernel
diff --git a/dev/kernel/HALKit/AMD64/HalKernelMain.cc b/dev/kernel/HALKit/AMD64/HalKernelMain.cc
index 2b478dd6..e67501cc 100644
--- a/dev/kernel/HALKit/AMD64/HalKernelMain.cc
+++ b/dev/kernel/HALKit/AMD64/HalKernelMain.cc
@@ -144,8 +144,8 @@ EXTERN_C Kernel::Void hal_real_init(Kernel::Void) {
HAL::mp_init_cores(kHandoverHeader->f_HardwareTables.f_VendorPtr);
-#ifdef __FSKIT_INCLUDES_HEFS__
- OpenHeFS::fs_init_hefs();
+#ifdef __FSKIT_INCLUDES_OPENHEFS__
+ OpenHeFS::fs_init_openhefs();
#endif
#ifdef __FSKIT_INCLUDES_NEFS__
diff --git a/dev/kernel/KernelKit/DebugOutput.h b/dev/kernel/KernelKit/DebugOutput.h
index d2839341..d7b58a8c 100644
--- a/dev/kernel/KernelKit/DebugOutput.h
+++ b/dev/kernel/KernelKit/DebugOutput.h
@@ -15,7 +15,7 @@
namespace Kernel {
class TerminalDevice;
class DTraceDevice;
-class NeDebugDevice;
+class NeTraceDevice;
class Utf8TerminalDevice;
inline TerminalDevice end_line();
diff --git a/dev/kernel/KernelKit/FileMgr.h b/dev/kernel/KernelKit/FileMgr.h
index ff290780..40e601a8 100644
--- a/dev/kernel/KernelKit/FileMgr.h
+++ b/dev/kernel/KernelKit/FileMgr.h
@@ -223,7 +223,7 @@ class Ext2FileSystemMgr final : public IFilesystemMgr {
#endif // ifdef __FSKIT_INCLUDES_EXT2__
-#ifdef __FSKIT_INCLUDES_HEFS__
+#ifdef __FSKIT_INCLUDES_OPENHEFS__
/**
* @brief Based of IFilesystemMgr, takes care of managing NeFS
* disks.
@@ -267,7 +267,7 @@ class HeFileSystemMgr final : public IFilesystemMgr {
HeFileSystemParser* mParser{nullptr};
};
-#endif // ifdef __FSKIT_INCLUDES_HEFS__
+#endif // ifdef __FSKIT_INCLUDES_OPENHEFS__
/**
* FileStream class.
diff --git a/dev/kernel/KernelKit/PE32CodeMgr.h b/dev/kernel/KernelKit/PE32CodeMgr.h
index da9f0737..1b0f876b 100644
--- a/dev/kernel/KernelKit/PE32CodeMgr.h
+++ b/dev/kernel/KernelKit/PE32CodeMgr.h
@@ -71,7 +71,7 @@ class PE32Loader : public ILoader {
private:
#ifdef __FSKIT_INCLUDES_NEFS__
OwnPtr<FileStream<Char, NeFileSystemMgr>> fFile;
-#elif defined(__FSKIT_INCLUDES_HEFS__)
+#elif defined(__FSKIT_INCLUDES_OPENHEFS__)
OwnPtr<FileStream<Char, HeFileSystemMgr>> fFile;
#else
OwnPtr<FileStream<Char>> fFile;
diff --git a/dev/kernel/KernelKit/PEFCodeMgr.h b/dev/kernel/KernelKit/PEFCodeMgr.h
index 3ed9c097..152fbf72 100644
--- a/dev/kernel/KernelKit/PEFCodeMgr.h
+++ b/dev/kernel/KernelKit/PEFCodeMgr.h
@@ -55,7 +55,7 @@ class PEFLoader : public ILoader {
private:
#ifdef __FSKIT_INCLUDES_NEFS__
OwnPtr<FileStream<Char, NeFileSystemMgr>> fFile;
-#elif defined(__FSKIT_INCLUDES_HEFS__)
+#elif defined(__FSKIT_INCLUDES_OPENHEFS__)
OwnPtr<FileStream<Char, HeFileSystemMgr>> fFile;
#else
OwnPtr<FileStream<Char>> fFile;
diff --git a/dev/kernel/KernelKit/TraceSrv.h b/dev/kernel/KernelKit/TraceSrv.h
new file mode 100644
index 00000000..103180cc
--- /dev/null
+++ b/dev/kernel/KernelKit/TraceSrv.h
@@ -0,0 +1,22 @@
+/* -------------------------------------------
+
+ Copyright (C) 2025, Amlal El Mahrouss, all rights reserved.
+ NeKernel is licensed under the GPL v3 license.
+
+------------------------------------------- */
+
+#pragma once
+
+#include <CompilerKit/CompilerKit.h>
+
+namespace Kernel {
+namespace Detail {
+ inline constexpr auto kDebugCmdLen = 256U;
+ inline constexpr auto kDebugPort = 51820;
+ inline constexpr auto kDebugMagic = "NE1.0.0;";
+ inline constexpr auto kDebugVersion = 0x0100;
+ inline constexpr auto kDebugDelim = ';';
+ inline constexpr auto kDebugEnd = '\r';
+ typedef UInt64 dk_socket_type;
+} // namespace Detail
+} // namespace Kernel \ No newline at end of file
diff --git a/dev/kernel/KernelKit/UserMgr.h b/dev/kernel/KernelKit/UserMgr.h
index c660025b..912a3c7a 100644
--- a/dev/kernel/KernelKit/UserMgr.h
+++ b/dev/kernel/KernelKit/UserMgr.h
@@ -22,7 +22,7 @@
///! We got the MGMT, STD (%s format) and GUEST users,
///! all are used to make authorized operations.
-#define kSuperUser "NEKERNEL/MGMT/%s"
+#define kMgmtUser "NEKERNEL/MGMT/%s"
#define kGuestUser "NEKERNEL/GUEST/%s"
#define kStdUser "NEKERNEL/STD/%s"
diff --git a/dev/kernel/amd64-desktop.make b/dev/kernel/amd64-desktop.make
index a3040c89..51af61b3 100644
--- a/dev/kernel/amd64-desktop.make
+++ b/dev/kernel/amd64-desktop.make
@@ -5,7 +5,7 @@
CXX = x86_64-w64-mingw32-g++
LD = x86_64-w64-mingw32-ld
-CCFLAGS = -fshort-wchar -c -D__NE_AMD64__ -D__NE_USE_PEF__ -D__NE_VEPM__ -Wall -Wpedantic -Wextra -mno-red-zone -fno-rtti -fno-exceptions -std=c++20 -D__FSKIT_INCLUDES_HEFS__ -D__FSKIT_INCLUDES_EXT2__ -D__NE_SUPPORT_NX__ -O0 -I../vendor -D__NEOSKRNL__ -D__HAVE_NE_APIS__ -D__FREESTANDING__ -D__NE_VIRTUAL_MEMORY_SUPPORT__ -D__NE_AUTO_FORMAT__ -D__NE__ -I./ -I../ -I../boot
+CCFLAGS = -fshort-wchar -c -D__NE_AMD64__ -D__NE_USE_PEF__ -D__NE_VEPM__ -Wall -Wpedantic -Wextra -mno-red-zone -fno-rtti -fno-exceptions -std=c++20 -D__FSKIT_INCLUDES_OPENHEFS__ -D__FSKIT_INCLUDES_EXT2__ -D__NE_SUPPORT_NX__ -O0 -I../vendor -D__NEOSKRNL__ -D__HAVE_NE_APIS__ -D__FREESTANDING__ -D__NE_VIRTUAL_MEMORY_SUPPORT__ -D__NE_AUTO_FORMAT__ -D__NE__ -I./ -I../ -I../boot
ASM = nasm
diff --git a/dev/kernel/src/DriveMgr.cc b/dev/kernel/src/DriveMgr.cc
index 9f107e97..c94d7476 100644
--- a/dev/kernel/src/DriveMgr.cc
+++ b/dev/kernel/src/DriveMgr.cc
@@ -220,12 +220,11 @@ namespace Detail {
/// @brief Fetches the main drive.
/// @return the new drive. (returns kEPMDrive if EPM formatted)
DriveTrait io_construct_main_drive() noexcept {
- DriveTrait trait;
-
constexpr auto kMainDrive = "/media/main/";
- rt_copy_memory((VoidPtr) kMainDrive, trait.fName, rt_string_len(kMainDrive));
+ DriveTrait trait{};
+ rt_copy_memory((VoidPtr) kMainDrive, trait.fName, rt_string_len(kMainDrive));
MUST_PASS(trait.fName[0] != 0);
trait.fVerify = io_drv_unimplemented;
diff --git a/dev/kernel/src/FS/OpenHeFS+FileMgr.cc b/dev/kernel/src/FS/OpenHeFS+FileMgr.cc
index bb87fd67..3ceb2c4f 100644
--- a/dev/kernel/src/FS/OpenHeFS+FileMgr.cc
+++ b/dev/kernel/src/FS/OpenHeFS+FileMgr.cc
@@ -5,7 +5,7 @@
------------------------------------------- */
#ifndef __NE_MINIMAL_OS__
-#ifdef __FSKIT_INCLUDES_HEFS__
+#ifdef __FSKIT_INCLUDES_OPENHEFS__
#include <KernelKit/FileMgr.h>
#include <KernelKit/HeapMgr.h>
@@ -187,5 +187,5 @@ _Output HeFileSystemParser* HeFileSystemMgr::GetParser() noexcept {
}
} // namespace Kernel
-#endif // ifdef __FSKIT_INCLUDES_HEFS__
+#endif // ifdef __FSKIT_INCLUDES_OPENHEFS__
#endif // ifndef __NE_MINIMAL_OS__
diff --git a/dev/kernel/src/FS/OpenHeFS+FileSystemParser.cc b/dev/kernel/src/FS/OpenHeFS+FileSystemParser.cc
index 3746ebc1..f0f5e81a 100644
--- a/dev/kernel/src/FS/OpenHeFS+FileSystemParser.cc
+++ b/dev/kernel/src/FS/OpenHeFS+FileSystemParser.cc
@@ -4,7 +4,7 @@
------------------------------------------- */
-#ifdef __FSKIT_INCLUDES_HEFS__
+#ifdef __FSKIT_INCLUDES_OPENHEFS__
#include <FSKit/OpenHeFS.h>
#include <FirmwareKit/EPM.h>
@@ -1149,13 +1149,15 @@ STATIC DriveTrait kMountPoint;
/// @brief Initialize the OpenHeFS filesystem.
/// @return To check its status, see err_local_get().
-Boolean OpenHeFS::fs_init_hefs(Void) noexcept {
+Boolean OpenHeFS::fs_init_openhefs(Void) noexcept {
kout << "Verifying disk...\r";
kMountPoint = io_construct_main_drive();
- if (kMountPoint.fPacket.fPacketReadOnly == YES)
- ke_panic(RUNTIME_CHECK_FILESYSTEM, "Main disk cannot be mounted (read-only media).");
+ if (kMountPoint.fPacket.fPacketReadOnly == YES) {
+ kout << "Main disk cannot be mounted (read-only media).\r";
+ return NO;
+ }
HeFileSystemParser parser;
@@ -1163,4 +1165,4 @@ Boolean OpenHeFS::fs_init_hefs(Void) noexcept {
}
} // namespace Kernel
-#endif // ifdef __FSKIT_INCLUDES_HEFS__
+#endif // ifdef __FSKIT_INCLUDES_OPENHEFS__
diff --git a/dev/kernel/src/UserMgr.cc b/dev/kernel/src/UserMgr.cc
index 5ee2aa33..fac6a3d0 100644
--- a/dev/kernel/src/UserMgr.cc
+++ b/dev/kernel/src/UserMgr.cc
@@ -89,14 +89,11 @@ Bool User::Save(const UserPublicKey password) noexcept {
Bool User::Login(const UserPublicKey password) noexcept {
if (!password || !*password) return No;
- // now check if the password matches.
- if (this->mUserFNV == Detail::user_fnv_generator(password, this)) {
- kout << "User::Login: Password matches.\r";
- return Yes;
- }
+ auto ret = this->mUserFNV == Detail::user_fnv_generator(password, this);
- kout << "User::Login: Password doesn't match.\r";
- return No;
+ // now check if the password matches.
+ kout << (ret ? "User::Login: Password matches.\r" : "User::Login: Password doesn't match.\r");
+ return ret;
}
Bool User::operator==(const User& lhs) {
diff --git a/dev/libDDK/docs/SPECIFICATION_DDK.md b/dev/libDDK/docs/SPECIFICATION_DDK.md
index d7d333d3..d59b6e77 100644
--- a/dev/libDDK/docs/SPECIFICATION_DDK.md
+++ b/dev/libDDK/docs/SPECIFICATION_DDK.md
@@ -6,7 +6,7 @@
- Programming Language: C/C++
- Build System: Make/NeBuild
-- Purpose: Driver Tool Kit, which you link against ddk.sys
+- Purpose: Driver Tool Kit, which you link against libDDK.dll
===================================