diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-11-16 20:07:16 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-11-16 20:07:16 +0100 |
| commit | 7e94770e21f520580caf9994b6b88416a6ac9511 (patch) | |
| tree | 34207120a09765c63a8a6ed717b1bd19412ff8fb | |
| parent | 97fcfccebf502911371ce28a6b7f8be66c491cfd (diff) | |
fix: kernel: filesystem tweaks.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
| -rw-r--r-- | compile_flags.txt | 2 | ||||
| -rw-r--r-- | dev/boot/amd64-desktop.make | 2 | ||||
| -rw-r--r-- | dev/kernel/FSKit/OpenHeFS.h | 2 | ||||
| -rw-r--r-- | dev/kernel/HALKit/AMD64/HalKernelMain.cc | 4 | ||||
| -rw-r--r-- | dev/kernel/KernelKit/DebugOutput.h | 2 | ||||
| -rw-r--r-- | dev/kernel/KernelKit/FileMgr.h | 4 | ||||
| -rw-r--r-- | dev/kernel/KernelKit/PE32CodeMgr.h | 2 | ||||
| -rw-r--r-- | dev/kernel/KernelKit/PEFCodeMgr.h | 2 | ||||
| -rw-r--r-- | dev/kernel/KernelKit/TraceSrv.h | 22 | ||||
| -rw-r--r-- | dev/kernel/KernelKit/UserMgr.h | 2 | ||||
| -rw-r--r-- | dev/kernel/amd64-desktop.make | 2 | ||||
| -rw-r--r-- | dev/kernel/src/DriveMgr.cc | 5 | ||||
| -rw-r--r-- | dev/kernel/src/FS/OpenHeFS+FileMgr.cc | 4 | ||||
| -rw-r--r-- | dev/kernel/src/FS/OpenHeFS+FileSystemParser.cc | 12 | ||||
| -rw-r--r-- | dev/kernel/src/UserMgr.cc | 11 | ||||
| -rw-r--r-- | dev/libDDK/docs/SPECIFICATION_DDK.md | 2 |
16 files changed, 50 insertions, 30 deletions
diff --git a/compile_flags.txt b/compile_flags.txt index c83e43d3..426c43f7 100644 --- a/compile_flags.txt +++ b/compile_flags.txt @@ -30,7 +30,7 @@ -Wall -Wpedantic -Wextra --D__FSKIT_INCLUDES_HEFS__ +-D__FSKIT_INCLUDES_OPENHEFS__ -D__FSKIT_INCLUDES_NEFS__ -D__FSKIT_INCLUDES_EXT2__ -D__NE_VIRTUAL_MEMORY_SUPPORT__ 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 =================================== |
