diff options
Diffstat (limited to 'src')
21 files changed, 49 insertions, 53 deletions
diff --git a/src/boot/src/New+Delete.cpp b/src/boot/src/New+Delete.cpp index 70ab1dcd..f3f3d753 100644 --- a/src/boot/src/New+Delete.cpp +++ b/src/boot/src/New+Delete.cpp @@ -37,7 +37,7 @@ void* operator new[](size_t sz) { /// @brief Deletes the object. /// @param buf the object. -void operator delete(void* buf) { +void operator delete(void* buf) noexcept { if (!buf) return; BS->FreePool(buf); @@ -45,7 +45,7 @@ void operator delete(void* buf) { /// @brief Deletes the object. /// @param buf the object. -void operator delete[](void* buf) { +void operator delete[](void* buf) noexcept { if (!buf) return; BS->FreePool(buf); @@ -54,7 +54,7 @@ void operator delete[](void* buf) { /// @brief Deletes the object (array specific). /// @param buf the object. /// @param size it's size. -void operator delete(void* buf, size_t size) { +void operator delete(void* buf, size_t size) noexcept { if (!buf) return; SetMem(buf, 0, size); @@ -64,7 +64,7 @@ void operator delete(void* buf, size_t size) { /// @brief Deletes the object (array specific). /// @param buf the object. /// @param size it's size. -void operator delete[](void* buf, size_t size) { +void operator delete[](void* buf, size_t size) noexcept { if (!buf) return; SetMem(buf, 0, size); diff --git a/src/kernel/FSKit/OpenHeFS.h b/src/kernel/FSKit/OpenHeFS.h index a642c299..1e3c3921 100644 --- a/src/kernel/FSKit/OpenHeFS.h +++ b/src/kernel/FSKit/OpenHeFS.h @@ -8,7 +8,7 @@ #include <CompilerKit/CompilerKit.h> #include <KernelKit/DriveMgr.h> -#include <KernelKit/UserMgr+User.h> +#include <KernelKit/User.h> #include <NeKit/Config.h> #include <NeKit/Crc32.h> #include <NeKit/KString.h> diff --git a/src/kernel/HALKit/AMD64/HalCoreInterruptHandler.cpp b/src/kernel/HALKit/AMD64/HalCoreInterruptHandler.cpp index 92fb064c..118dd98c 100644 --- a/src/kernel/HALKit/AMD64/HalCoreInterruptHandler.cpp +++ b/src/kernel/HALKit/AMD64/HalCoreInterruptHandler.cpp @@ -5,7 +5,7 @@ #include <ArchKit/ArchKit.h> #include <KernelKit/ProcessScheduler.h> -#include <KernelKit/UserMgr+User.h> +#include <KernelKit/User.h> #include <NeKit/Atom.h> #include <NeKit/KString.h> #include <SignalKit/Signals.h> diff --git a/src/kernel/HALKit/ARM64/HalCoreInterruptHandler.cpp b/src/kernel/HALKit/ARM64/HalCoreInterruptHandler.cpp index 39f12705..1e3adadf 100644 --- a/src/kernel/HALKit/ARM64/HalCoreInterruptHandler.cpp +++ b/src/kernel/HALKit/ARM64/HalCoreInterruptHandler.cpp @@ -5,7 +5,7 @@ #include <ArchKit/ArchKit.h> #include <KernelKit/ProcessScheduler.h> -#include <KernelKit/UserMgr+User.h> +#include <KernelKit/User.h> #include <NeKit/KString.h> #include <SignalKit/Signals.h> diff --git a/src/kernel/KernelKit/BinaryMutex.h b/src/kernel/KernelKit/BinaryMutex.h index d97ab854..2388c50a 100644 --- a/src/kernel/KernelKit/BinaryMutex.h +++ b/src/kernel/KernelKit/BinaryMutex.h @@ -7,8 +7,8 @@ #define KERNELKIT_BINARYMUTEX_H #include <CompilerKit/CompilerKit.h> -#include <KernelKit/Timer.h> #include <KernelKit/CoreProcessScheduler.h> +#include <KernelKit/Timer.h> #include <NeKit/Config.h> namespace Kernel { @@ -38,7 +38,7 @@ class BinaryMutex final { NE_COPY_DEFAULT(BinaryMutex) private: - LockedPtr fLockingProcess{nullptr}; + LockedPtr fLockingProcess{nullptr}; AffinityKind fOwnerOriginalAffinity{AffinityKind::kInvalid}; // for priority inheritance }; } // namespace Kernel diff --git a/src/kernel/KernelKit/CoreProcessScheduler.h b/src/kernel/KernelKit/CoreProcessScheduler.h index 2f105036..5d6dc9b3 100644 --- a/src/kernel/KernelKit/CoreProcessScheduler.h +++ b/src/kernel/KernelKit/CoreProcessScheduler.h @@ -146,7 +146,7 @@ enum struct ProcessStatusKind : Int32 { /***********************************************************************************/ enum struct AffinityKind : Int32 { kInvalid = 0, - kUltraHigh = 100, + kUltraHigh = 100, kVeryHigh = 150, kHigh = 200, kStandard = 1000, diff --git a/src/kernel/KernelKit/DriveMgr.h b/src/kernel/KernelKit/DriveMgr.h index 76ee5dcf..8b095f05 100644 --- a/src/kernel/KernelKit/DriveMgr.h +++ b/src/kernel/KernelKit/DriveMgr.h @@ -3,8 +3,8 @@ // Licensed under the Apache License, Version 2.0 (see LICENSE file) // Official repository: https://github.com/ne-foss-org/nekernel -#ifndef INC_DRIVE_MANAGER_H -#define INC_DRIVE_MANAGER_H +#ifndef KERNELKIT_DRIVEMGR_H +#define KERNELKIT_DRIVEMGR_H /// @file DriveMgr.h /// @brief NeKernel's drive manager. @@ -166,4 +166,4 @@ Void io_drv_input(DriveTrait::DrivePacket pckt); Void io_drv_output(DriveTrait::DrivePacket pckt); } // namespace Kernel -#endif /* ifndef INC_DRIVE_MANAGER_H */ +#endif /* ifndef KERNELKIT_DRIVEMGR_H */ diff --git a/src/kernel/KernelKit/FileMgr.h b/src/kernel/KernelKit/FileMgr.h index 87644e68..06af3c2d 100644 --- a/src/kernel/KernelKit/FileMgr.h +++ b/src/kernel/KernelKit/FileMgr.h @@ -3,14 +3,14 @@ // Licensed under the Apache License, Version 2.0 (see LICENSE file) // Official repository: https://github.com/ne-foss-org/nekernel -#ifndef INC_FILEMGR_H -#define INC_FILEMGR_H +#ifndef KERNELKIT_FILEMGR_H +#define KERNELKIT_FILEMGR_H /// @file FileMgr.h /// @brief File Manager Subsystem. /// @author Amlal El Mahrouss (amlal@nekernel.org) -//! Include filesystems that NeKernel supports. +//! Include filesystems that the hybrid kernel supports. #include <FSKit/Ext2+IFS.h> #include <FSKit/NeFS.h> #include <FSKit/OpenHeFS.h> @@ -352,7 +352,7 @@ class FileStream final { /// @brief Leak MIME. /// @return The MIME. - Char* MIME() { return const_cast<Char*>(fMime); } + Char* MIME() { return fMime; } enum { kFileMgrRestrictRead = 100, @@ -364,14 +364,15 @@ class FileStream final { }; private: - NodePtr fFile{nullptr}; - Int32 fFileRestrict{kFileMgrRestrictReadBinary}; - const Char* fMime{kFileMimeGeneric}; + NodePtr fFile{nullptr}; + Int32 fFileRestrict{kFileMgrRestrictReadBinary}; + Char* fMime{const_cast<Char*>(kFileMimeGeneric)}; }; using FileStreamASCII = FileStream<Char>; using FileStreamUTF8 = FileStream<Utf8Char>; -using FileStreamUTF16 = FileStream<WideChar>; +using FileStreamUTF16 = FileStream<Utf16Char>; +using FileStreamWide = FileStream<WideChar>; typedef UInt64 CursorType; @@ -423,9 +424,9 @@ inline FileStream<Encoding, Class>::FileStream(const Encoding* path, const Encod /// @brief destructor of the file stream. template <typename Encoding, typename Class> inline FileStream<Encoding, Class>::~FileStream() { - mm_free_ptr(fFile); + if (fFile) mm_free_ptr(fFile); fFile = nullptr; } } // namespace Kernel -#endif // ifndef INC_FILEMGR_H +#endif // ifndef KERNELKIT_FILEMGR_H diff --git a/src/kernel/KernelKit/HardwareThreadScheduler.h b/src/kernel/KernelKit/HardwareThreadScheduler.h index a9183cd2..43a906d6 100644 --- a/src/kernel/KernelKit/HardwareThreadScheduler.h +++ b/src/kernel/KernelKit/HardwareThreadScheduler.h @@ -12,6 +12,7 @@ /// @note Last Rev Sun 28 Jul CET 2024 /// @note Last Rev Thu, Aug 1, 2024 9:07:38 AM +/// @note Last Rev Sun, March 22, 2026 5:16 PM #if defined(__nekernel_max_cores) /// \note This can be edited at compile-time to specify how many cores can be used by NeKernel. diff --git a/src/kernel/KernelKit/UserMgr+User.h b/src/kernel/KernelKit/User.h index bae51180..bae51180 100644 --- a/src/kernel/KernelKit/UserMgr+User.h +++ b/src/kernel/KernelKit/User.h diff --git a/src/kernel/KernelKit/UserMgr.h b/src/kernel/KernelKit/UserMgr.h index 16ca79b6..7fc2b635 100644 --- a/src/kernel/KernelKit/UserMgr.h +++ b/src/kernel/KernelKit/UserMgr.h @@ -6,6 +6,6 @@ #ifndef KERNELKIT_USERMGR_H #define KERNELKIT_USERMGR_H -#include <KernelKit/UserMgr+User.h> +#include <KernelKit/User.h> #endif
\ No newline at end of file diff --git a/src/kernel/KernelKit/UserProcessScheduler.h b/src/kernel/KernelKit/UserProcessScheduler.h index 8c7a4afa..1318c7f6 100644 --- a/src/kernel/KernelKit/UserProcessScheduler.h +++ b/src/kernel/KernelKit/UserProcessScheduler.h @@ -13,7 +13,7 @@ #include <ArchKit/ArchKit.h> #include <KernelKit/CoreProcessScheduler.h> #include <KernelKit/LockDelegate.h> -#include <KernelKit/UserMgr+User.h> +#include <KernelKit/User.h> #include <NeKit/MutableArray.h> //////////////////////////////////////////////////// diff --git a/src/kernel/NeKit/New.h b/src/kernel/NeKit/New.h index 648f4a20..9b601534 100644 --- a/src/kernel/NeKit/New.h +++ b/src/kernel/NeKit/New.h @@ -14,8 +14,8 @@ typedef __SIZE_TYPE__ size_t; void* operator new(size_t); void* operator new[](size_t); -void operator delete(void*); -void operator delete(void*, unsigned long); -void operator delete[](void*); +void operator delete(void*) noexcept; +void operator delete(void*, unsigned long) noexcept; +void operator delete[](void*) noexcept; #endif diff --git a/src/kernel/src/BinaryMutex.cpp b/src/kernel/src/BinaryMutex.cpp index a83f031a..eb559f98 100644 --- a/src/kernel/src/BinaryMutex.cpp +++ b/src/kernel/src/BinaryMutex.cpp @@ -9,13 +9,12 @@ namespace Kernel { Bool BinaryMutex::Unlock() { - if (!fLockingProcess) - return No; + if (!fLockingProcess) return No; // restore original priority if we boosted the owner if (fOwnerOriginalAffinity != AffinityKind::kInvalid) { fLockingProcess->Affinity = fOwnerOriginalAffinity; - fOwnerOriginalAffinity = AffinityKind::kInvalid; + fOwnerOriginalAffinity = AffinityKind::kInvalid; } fLockingProcess = nullptr; @@ -33,13 +32,13 @@ Bool BinaryMutex::Lock(BinaryMutex::LockedPtr process) { if (this->IsLocked() && fLockingProcess) { // boost owner to waiter's priority if waiter is higher priority (lower value = higher priority) if (process->Affinity < fLockingProcess->Affinity) { - fOwnerOriginalAffinity = fLockingProcess->Affinity; + fOwnerOriginalAffinity = fLockingProcess->Affinity; fLockingProcess->Affinity = process->Affinity; } return No; // lock not acquired, but owner boosted } - this->fLockingProcess = process; + this->fLockingProcess = process; fOwnerOriginalAffinity = AffinityKind::kInvalid; return Yes; @@ -61,8 +60,7 @@ Bool BinaryMutex::LockAndWait(BinaryMutex::LockedPtr process, ITimer* timer) { if (timer == nullptr || !process) return No; // try to acquire lock immediately - if (this->Lock(process)) - return Yes; + if (this->Lock(process)) return Yes; // wait and retry timer->Wait(); diff --git a/src/kernel/src/FS/NeFS+FileSystemParser.cpp b/src/kernel/src/FS/NeFS+FileSystemParser.cpp index 42fb36a8..36b63ec7 100644 --- a/src/kernel/src/FS/NeFS+FileSystemParser.cpp +++ b/src/kernel/src/FS/NeFS+FileSystemParser.cpp @@ -12,7 +12,7 @@ #include <KernelKit/IFS.h> #include <KernelKit/KPC.h> #include <KernelKit/ProcessScheduler.h> -#include <KernelKit/UserMgr+User.h> +#include <KernelKit/User.h> #include <NeKit/Crc32.h> #include <NeKit/KString.h> #include <NeKit/KernelPanic.h> diff --git a/src/kernel/src/FS/OpenHeFS+FileMgr.cpp b/src/kernel/src/FS/OpenHeFS+FileMgr.cpp index a0a649eb..773ed5da 100644 --- a/src/kernel/src/FS/OpenHeFS+FileMgr.cpp +++ b/src/kernel/src/FS/OpenHeFS+FileMgr.cpp @@ -221,10 +221,6 @@ _Output VoidPtr HeFileSystemMgr::Read(_Input NodePtr node, _Input Int32 flags, _ Void HeFileSystemMgr::Write(_Input const Char* name, _Input NodePtr node, _Input VoidPtr data, _Input Int32 flags, _Input SizeT size) { NE_UNUSED(node); - // NE_UNUSED(flags); - // NE_UNUSED(size); - // NE_UNUSED(name); - // NE_UNUSED(data); if (!flags) return; if (!size) return; @@ -260,6 +256,7 @@ _Output VoidPtr HeFileSystemMgr::Read(_Input const Char* name, _Input NodePtr no _Output Bool HeFileSystemMgr::Seek(NodePtr node, SizeT off) { if (this->Tell(node) == kFileMgrNPos) return false; + kout << "The Method is not implemented in the Hybrid kernel.\r"; return off > 0; } @@ -269,7 +266,7 @@ _Output Bool HeFileSystemMgr::Seek(NodePtr node, SizeT off) { _Output SizeT HeFileSystemMgr::Tell(NodePtr node) { if (!node) return kFileMgrNPos; SizeT pos = 0ULL; - + kout << "The Method is not implemented in the Hybrid kernel.\r"; return pos; } diff --git a/src/kernel/src/FS/OpenHeFS+FileSystemParser.cpp b/src/kernel/src/FS/OpenHeFS+FileSystemParser.cpp index b923d13f..6f980730 100644 --- a/src/kernel/src/FS/OpenHeFS+FileSystemParser.cpp +++ b/src/kernel/src/FS/OpenHeFS+FileSystemParser.cpp @@ -10,7 +10,7 @@ #include <FirmwareKit/GPT.h> #include <KernelKit/KPC.h> #include <KernelKit/ProcessScheduler.h> -#include <KernelKit/UserMgr+User.h> +#include <KernelKit/User.h> #include <NeKit/Crc32.h> #include <NeKit/KString.h> #include <NeKit/KernelPanic.h> diff --git a/src/kernel/src/New+Delete.cpp b/src/kernel/src/New+Delete.cpp index 9ec34c6f..6e4dd79a 100644 --- a/src/kernel/src/New+Delete.cpp +++ b/src/kernel/src/New+Delete.cpp @@ -18,19 +18,19 @@ void* operator new(size_t sz) { return Kernel::mm_alloc_ptr(sz, true, false); } -void operator delete[](void* ptr) { +void operator delete[](void* ptr) noexcept { if (ptr == nullptr) return; Kernel::mm_free_ptr(ptr); } -void operator delete(void* ptr) { +void operator delete(void* ptr) noexcept { if (ptr == nullptr) return; Kernel::mm_free_ptr(ptr); } -void operator delete(void* ptr, size_t sz) { +void operator delete(void* ptr, size_t sz) noexcept { if (ptr == nullptr) return; NE_UNUSED(sz); @@ -38,7 +38,7 @@ void operator delete(void* ptr, size_t sz) { Kernel::mm_free_ptr(ptr); } -void operator delete[](void* ptr, size_t sz) { +void operator delete[](void* ptr, size_t sz) noexcept { if (ptr == nullptr) return; NE_UNUSED(sz); diff --git a/src/kernel/src/PageMgr.cpp b/src/kernel/src/PageMgr.cpp index f0a8b346..0ed16767 100644 --- a/src/kernel/src/PageMgr.cpp +++ b/src/kernel/src/PageMgr.cpp @@ -13,7 +13,7 @@ #endif // ifdef __NE_AMD64__ || defined(__NE_ARM64__) namespace Kernel { - + PTEWrapper::PTEWrapper(Boolean Rw, Boolean User, Boolean ExecDisable, UIntPtr VirtAddr) : fRw(Rw), fUser(User), diff --git a/src/kernel/src/User.cpp b/src/kernel/src/User.cpp index 2e626b03..3f5bb66a 100644 --- a/src/kernel/src/User.cpp +++ b/src/kernel/src/User.cpp @@ -7,12 +7,12 @@ #include <KernelKit/HeapMgr.h> #include <KernelKit/KPC.h> #include <KernelKit/ThreadLocalStorage.h> -#include <KernelKit/UserMgr+User.h> +#include <KernelKit/User.h> #include <NeKit/KString.h> #include <NeKit/KernelPanic.h> #include <NeKit/Utils.h> -/// @file UserMgr+User.cpp +/// @file User.cpp /// @brief Multi-user support. namespace Kernel { diff --git a/src/kernel/src/UserProcessScheduler.cpp b/src/kernel/src/UserProcessScheduler.cpp index a4b328ac..a8ef1799 100644 --- a/src/kernel/src/UserProcessScheduler.cpp +++ b/src/kernel/src/UserProcessScheduler.cpp @@ -477,7 +477,7 @@ Bool UserProcessScheduler::HasMP() { SizeT UserProcessScheduler::Run() { STATIC SizeT process_index{}; //! we store this guy to tell the scheduler how many - //! things we have scheduled. + //! things we have scheduled. UserProcessTeam& team = mTeam; SizeT limit = team.AsArray().Capacity(); @@ -506,8 +506,7 @@ SizeT UserProcessScheduler::Run() { if (process.STime > 0) { // the longer it slept, the bigger the boost (capped at kVeryHigh level) ProcessTime boost = process.STime / 10; - if (boost > (Int32)AffinityKind::kHigh) - boost = (Int32)AffinityKind::kHigh; + if (boost > (Int32) AffinityKind::kHigh) boost = (Int32) AffinityKind::kHigh; process.PTime += boost; process.STime = 0; // reset sleep counter after boost } @@ -527,7 +526,7 @@ SizeT UserProcessScheduler::Run() { process.PTime -= process.RTime; process.RTime = 0UL; } else if (AffinityKind::kUltraHigh != process.Affinity) { - process.PTime += (Int32)AffinityKind::kUltraHigh; + process.PTime += (Int32) AffinityKind::kUltraHigh; } } } else { |
