From d62341f615974257eac4125ab68be519efcf0a6e Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Tue, 4 Mar 2025 05:20:58 +0100 Subject: CHORE&FEAT: Kernel/SCI: Lots of Chore and feat, see below. - Add traits for CmdListEntry in GPU's SCI. (GPU.h) - Set standard user directory as /user/ instead of /usr/. (User.cc/User.h) - Replace fSourcePid with fPID. (HardwareThreadScheduler.cc/HardwareThreadScheduler.h) --- dev/Kernel/src/HardwareThreadScheduler.cc | 6 +++--- dev/Kernel/src/IPEFDylibObject.cc | 6 ++++-- dev/Kernel/src/KernelMain.cc | 12 ++++++++++-- dev/Kernel/src/System/SwapDisk.cc | 10 +++++----- dev/Kernel/src/User.cc | 2 +- 5 files changed, 23 insertions(+), 13 deletions(-) (limited to 'dev/Kernel/src') diff --git a/dev/Kernel/src/HardwareThreadScheduler.cc b/dev/Kernel/src/HardwareThreadScheduler.cc index 0ca09ddf..70502d40 100644 --- a/dev/Kernel/src/HardwareThreadScheduler.cc +++ b/dev/Kernel/src/HardwareThreadScheduler.cc @@ -117,13 +117,13 @@ namespace NeOS if (this->IsBusy()) return NO; - this->fStack = frame; - this->fSourcePID = pid; + this->fStack = frame; + this->fPID = pid; this->fStack->BP = reinterpret_cast(image_ptr); this->fStack->SP = reinterpret_cast(stack_ptr); - Bool ret = mp_register_process(fStack, this->fSourcePID); + Bool ret = mp_register_process(fStack, this->fPID); if (ret) this->Busy(YES); diff --git a/dev/Kernel/src/IPEFDylibObject.cc b/dev/Kernel/src/IPEFDylibObject.cc index 6dc20084..4824cca1 100644 --- a/dev/Kernel/src/IPEFDylibObject.cc +++ b/dev/Kernel/src/IPEFDylibObject.cc @@ -18,8 +18,10 @@ Revision History: - 01/02/24: Reworked dll ABI, expect a rtl_init_dylib and - rtl_fini_dylib (amlel) 15/02/24: Breaking changes, changed the name of the + 01/02/24: Reworked dll ABI, expect a rtl_init_dylib and + rtl_fini_dylib (amlel) + + 15/02/24: Breaking changes, changed the name of the routines. (amlel) 07/28/24: Replace rt_library_free with rtl_fini_dylib diff --git a/dev/Kernel/src/KernelMain.cc b/dev/Kernel/src/KernelMain.cc index 88fd51df..53ebbcc0 100644 --- a/dev/Kernel/src/KernelMain.cc +++ b/dev/Kernel/src/KernelMain.cc @@ -24,6 +24,14 @@ #include #include +/* ------------------------------------------- + + Revision History: + + 04/03/25: Add /user/ directory. + + ------------------------------------------- */ + #ifdef __NE_AUTO_FORMAT__ namespace NeOS::Detail { @@ -42,10 +50,10 @@ namespace NeOS::Detail if (mNeFS) { - const SizeT kFolderCount = 13; + const SizeT kFolderCount = 14; const Char* kFolderStr[kFolderCount] = { "/", "/boot/", "/sys/", "/media/", "/etc/", - "/usr/", "/lib/", "/mnt/", "/sbin/", "/n/", "/dev/", "/run/", "/root/"}; + "/usr/", "/lib/", "/mnt/", "/sbin/", "/n/", "/dev/", "/run/", "/root/", "/user/"}; for (SizeT dir_index = 0UL; dir_index < kFolderCount; ++dir_index) { diff --git a/dev/Kernel/src/System/SwapDisk.cc b/dev/Kernel/src/System/SwapDisk.cc index 249b7172..1d2f1da4 100644 --- a/dev/Kernel/src/System/SwapDisk.cc +++ b/dev/Kernel/src/System/SwapDisk.cc @@ -9,7 +9,7 @@ namespace NeOS { - BOOL SwapDisk::Write(const Char* fork_name, const SizeT fork_name_len, SWAP_DISK_HEADER_REF data, const SizeT data_len) + BOOL SwapDisk::Write(const Char* fork_name, const SizeT fork_name_len, SwapDiskHdrRef data, const SizeT data_len) { if (!fork_name || !fork_name_len) return NO; @@ -22,7 +22,7 @@ namespace NeOS FileStream file(kSwapPageFile, "wb"); - auto ret = file.Write(fork_name, data, sizeof(SWAP_DISK_HEADER) + data_len); + auto ret = file.Write(fork_name, data, sizeof(SwapDiskHdr) + data_len); if (ret.Error()) return NO; @@ -30,7 +30,7 @@ namespace NeOS return YES; } - SWAP_DISK_HEADER_REF SwapDisk::Read(const Char* fork_name, const SizeT fork_name_len, const SizeT data_len) + SwapDiskHdrRef SwapDisk::Read(const Char* fork_name, const SizeT fork_name_len, const SizeT data_len) { if (!fork_name || !fork_name_len) return nullptr; @@ -40,8 +40,8 @@ namespace NeOS FileStream file(kSwapPageFile, "rb"); - VoidPtr blob = file.Read(fork_name, sizeof(SWAP_DISK_HEADER) + data_len); + VoidPtr blob = file.Read(fork_name, sizeof(SwapDiskHdr) + data_len); - return (SWAP_DISK_HEADER_REF)blob; + return (SwapDiskHdrRef)blob; } } // namespace NeOS diff --git a/dev/Kernel/src/User.cc b/dev/Kernel/src/User.cc index 33e2afa2..3c23c59e 100644 --- a/dev/Kernel/src/User.cc +++ b/dev/Kernel/src/User.cc @@ -20,7 +20,7 @@ #define kSuperUserType (0xEF) /// @file User.cc -/// @brief User support. +/// @brief Multi-user support. namespace NeOS { -- cgit v1.2.3