diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2026-03-08 20:07:31 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-08 20:07:31 +0100 |
| commit | b9993cec648b6b3f49cc97e022ab365f4e41c5da (patch) | |
| tree | 2897f115d4c8ca59db397e19801883ece3f8c466 /src/kernel | |
| parent | 5201ce2c1f1bc69c86223a9bc46e661a565b2739 (diff) | |
| parent | 60dd6dc956cbc9db70b5c2ad2996ca5a2b863e61 (diff) | |
Merge pull request #134 from ne-foss-org/kernel-level-tweaks
[CHORE] Kernel modules updates.
Diffstat (limited to 'src/kernel')
| -rw-r--r-- | src/kernel/KernelKit/DriveMgr.h | 15 | ||||
| -rw-r--r-- | src/kernel/NetworkKit/IP.h | 4 | ||||
| -rw-r--r-- | src/kernel/SignalKit/Signals.h | 8 | ||||
| -rw-r--r-- | src/kernel/src/DriveMgr.cpp | 23 | ||||
| -rw-r--r-- | src/kernel/src/Swap/DiskSwap.cpp | 2 | ||||
| -rw-r--r-- | src/kernel/src/User.cpp (renamed from src/kernel/src/UserMgr+User.cpp) | 4 | ||||
| -rw-r--r-- | src/kernel/src/UserMgr.cpp | 21 |
7 files changed, 36 insertions, 41 deletions
diff --git a/src/kernel/KernelKit/DriveMgr.h b/src/kernel/KernelKit/DriveMgr.h index f4ca294e..5abb7518 100644 --- a/src/kernel/KernelKit/DriveMgr.h +++ b/src/kernel/KernelKit/DriveMgr.h @@ -1,4 +1,4 @@ -// Copyright 2024-2025, Amlal El Mahrouss (amlal@nekernel.org) +// Copyright 2024-2026, Amlal El Mahrouss (amlal@nekernel.org) // Licensed under the Apache License, Version 2.0 (see LICENSE file) // Official repository: https://github.com/ne-foss-org/nekernel @@ -6,7 +6,7 @@ #define INC_DRIVE_MANAGER_H /// @file DriveMgr.h -/// @brief Drive Manager. +/// @brief NeKernel's drive manager. /// @author Amlal El Mahrouss (amlal@nekernel.org) #include <CompilerKit/CompilerKit.h> @@ -111,7 +111,7 @@ class IMountpoint final { kDriveIndexInvalid, }; - DriveTraitPtr GetAddressOf(const Int32& index) { + DriveTraitPtr GetAddressOf(const UInt32& index) { err_local_get() = kErrorSuccess; switch (index) { @@ -125,7 +125,7 @@ class IMountpoint final { return &mD; default: { err_local_get() = kErrorNoSuchDisk; - kout << "No such disc letter.\n"; + kout << "No such disc letter.\r"; break; } @@ -155,12 +155,7 @@ DriveTrait io_construct_blank_drive(Void); /// @brief Fetches the main drive. /// @param trait the new drive as a trait. Void io_construct_main_drive(DriveTrait& trait); - -/// @brief Fetches the main drive. -/// @return the new drive as a trait. -/// @deprecated use io_construct_main_drive(DriveTrait& trait) instead. -DriveTrait io_construct_main_drive(Void); - + namespace Detect { Void io_detect_drive(DriveTrait& trait); } diff --git a/src/kernel/NetworkKit/IP.h b/src/kernel/NetworkKit/IP.h index ceab7a24..3377ae3f 100644 --- a/src/kernel/NetworkKit/IP.h +++ b/src/kernel/NetworkKit/IP.h @@ -1,4 +1,4 @@ -// Copyright 2024-2025, Amlal El Mahrouss (amlal@nekernel.org) +// Copyright 2024-2026, Amlal El Mahrouss (amlal@nekernel.org) // Licensed under the Apache License, Version 2.0 (see LICENSE file) // Official repository: https://github.com/ne-foss-org/nekernel @@ -11,6 +11,7 @@ #include <NeKit/Ref.h> namespace Kernel { + class RawIPAddress6; class RawIPAddress; class IPFactory; @@ -74,6 +75,7 @@ class IPFactory final { static ErrorOr<KBasicString<UInt8>> ToKString(Ref<RawIPAddress>& ipv4); static bool IpCheckVersion4(const Char* ip); }; + } // namespace Kernel #endif diff --git a/src/kernel/SignalKit/Signals.h b/src/kernel/SignalKit/Signals.h index 2070e19e..bf3f8cd8 100644 --- a/src/kernel/SignalKit/Signals.h +++ b/src/kernel/SignalKit/Signals.h @@ -1,4 +1,4 @@ -// Copyright 2024-2025, Amlal El Mahrouss (amlal@nekernel.org) +// Copyright 2024-2026, Amlal El Mahrouss (amlal@nekernel.org) // Licensed under the Apache License, Version 2.0 (see LICENSE file) // Official repository: https://github.com/ne-foss-org/nekernel @@ -25,7 +25,7 @@ namespace Kernel { -typedef SizeT rt_signal_kind; +using rt_signal_kind = SizeT; /// @brief Standard signal seed for general purpose usage. inline constexpr auto kUserSignalSeed = 0x0895034fUL; @@ -42,12 +42,12 @@ inline rt_signal_kind sig_generate_unique() { /// @brief Checks if the signal matches the seed (user_seed or kernel_seed) template <SizeT Seed> -inline BOOL sig_matches_seed(rt_signal_kind sig) { +inline BOOL sig_matches_seed(const rt_signal_kind& sig) { return (sig & 0xFF000000) == (Seed & 0xFF000000); } /// @brief Validate signal from **sig** and whtether the signal is greater than SIGDTCH. -inline BOOL sig_validate_unique(rt_signal_kind sig) { +inline BOOL sig_validate_unique(const rt_signal_kind& sig) { return sig > SIGBAD && sig > SIGDTCH; } diff --git a/src/kernel/src/DriveMgr.cpp b/src/kernel/src/DriveMgr.cpp index 1ab81def..0247fba8 100644 --- a/src/kernel/src/DriveMgr.cpp +++ b/src/kernel/src/DriveMgr.cpp @@ -201,7 +201,7 @@ namespace Probe { trait.fPacket.fPacketReadOnly = YES; trait.fKind = kMassStorageDrive | kUnformattedDrive | kReadOnlyDrive; - trait.fSectorSz = 512; + trait.fSectorSz = 0x200; trait.fLbaEnd = drv_std_get_sector_count() - 1; trait.fLbaStart = 0x400; } @@ -215,27 +215,6 @@ namespace Probe { } } // namespace Probe -/// @brief Fetches the main drive. -/// @return the new drive. (returns kEPMDrive if EPM formatted) -DriveTrait io_construct_main_drive() { - constexpr auto kMainDrive = "/media/main/"; - - DriveTrait trait; - - rt_copy_memory((VoidPtr) kMainDrive, trait.fName, rt_string_len(kMainDrive)); - MUST_PASS(trait.fName[0] != 0); - - trait.fVerify = io_drv_unimplemented; - trait.fOutput = io_drv_output; - trait.fInput = io_drv_input; - trait.fInit = io_drv_init; - trait.fProtocol = io_drv_kind; - - Probe::io_detect_drive(trait); - - return trait; -} - /// @brief Replacement for io_construct_main_drive that works with IMountpoint. /// @return the new drive. (returns kEPMDrive if EPM formatted) Void io_construct_main_drive(DriveTrait& trait) { diff --git a/src/kernel/src/Swap/DiskSwap.cpp b/src/kernel/src/Swap/DiskSwap.cpp index cef7aa94..a22305ec 100644 --- a/src/kernel/src/Swap/DiskSwap.cpp +++ b/src/kernel/src/Swap/DiskSwap.cpp @@ -17,7 +17,6 @@ Int64 IDiskSwap::Write(SwapDiskHdrPtr data) { if (!data || data->fMagic != kSwapDiskHeaderMagic) return 0UL; FileStream file(kSwapPageFilePath, kRestrictWRB); - Ref<Int64> ret = file.Write(data->fOffset, data, sizeof(SwapDiskHdr) + data->fBlobSz); return ret.Leak(); @@ -32,7 +31,6 @@ SwapDiskHdrPtr IDiskSwap::Read(const UIntPtr offset, SizeT data_len) { if (data_len == 0UL) return nullptr; FileStream file(kSwapPageFilePath, kRestrictRB); - ErrorOrAny blob = file.Read(offset, sizeof(SwapDiskHdr) + data_len); if (blob.HasError() || diff --git a/src/kernel/src/UserMgr+User.cpp b/src/kernel/src/User.cpp index 0102beea..66d22d24 100644 --- a/src/kernel/src/UserMgr+User.cpp +++ b/src/kernel/src/User.cpp @@ -1,6 +1,6 @@ // Copyright 2024-2026, Amlal El Mahrouss (amlal@nekernel.org) // Licensed under the Apache License, Version 2.0 (see LICENSE file) -// Official repository: https://github.com/ne-foss-org/nekernel +// Official repository: https://github.com/ne-foss-org/kernel #include <KernelKit/FileMgr.h> #include <KernelKit/HeapMgr.h> @@ -11,7 +11,7 @@ #include <NeKit/KernelPanic.h> #include <NeKit/Utils.h> -/// @file UserMgr.cc +/// @file UserMgr+User.cpp /// @brief Multi-user support. namespace Kernel { diff --git a/src/kernel/src/UserMgr.cpp b/src/kernel/src/UserMgr.cpp new file mode 100644 index 00000000..c1b5140e --- /dev/null +++ b/src/kernel/src/UserMgr.cpp @@ -0,0 +1,21 @@ +// Copyright 2024-2026, Amlal El Mahrouss (amlal@nekernel.org) +// Licensed under the Apache License, Version 2.0 (see LICENSE file) +// Official repository: https://github.com/ne-foss-org/kernel + +#include <KernelKit/FileMgr.h> +#include <KernelKit/HeapMgr.h> +#include <KernelKit/KPC.h> +#include <KernelKit/ThreadLocalStorage.h> +#include <KernelKit/UserMgr+User.h> +#include <NeKit/KString.h> +#include <NeKit/KernelPanic.h> +#include <NeKit/Utils.h> + +/// @file UserMgr+User.cpp +/// @brief Multi-user support. + +namespace Kernel { + + + +} |
