From 5ba2b615e172d93d1ffb06f611b19a4388ed074e Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Tue, 22 Apr 2025 18:30:00 +0200 Subject: dev, kernel: Milestone towards 0.0.2, see details. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Details: - Added support for 512 process teams (kTeams array). - New SwitchTeam() API in UserProcessScheduler. - Kernel main loop rotates active team every 200ms. - Renamed syscall tables for clarity (kSyscalls → kSysCalls, etc.). - Replaced kKernelMaxSystemCalls with kMaxDispatchCallCount. - Updated call sites to match new naming. - Bumped format version to 0x0101. - Added reserved fields to HEFS_BOOT_NODE for future use. - Changed inode indexing logic to operate on (start, size) pairs. Signed-off-by: Amlal El Mahrouss --- dev/kernel/FSKit/HeFS.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'dev/kernel/FSKit') diff --git a/dev/kernel/FSKit/HeFS.h b/dev/kernel/FSKit/HeFS.h index 65594b99..60f1342a 100644 --- a/dev/kernel/FSKit/HeFS.h +++ b/dev/kernel/FSKit/HeFS.h @@ -17,7 +17,7 @@ /// @file HeFS.h /// @brief HeFS filesystem support. -#define kHeFSVersion (0x0100) +#define kHeFSVersion (0x0101) #define kHeFSMagic " HeFS" #define kHeFSMagicLen (8) @@ -102,6 +102,10 @@ struct PACKED HEFS_BOOT_NODE final Kernel::UInt16 fDiskStatus; /// @brief Status of the disk. (locked, unlocked, error, invalid). Kernel::UInt16 fDiskFlags; /// @brief Flags of the disk. (read-only, read-write, etc). Kernel::UInt16 fVID; /// @brief Virtual Identification Number within an EPM disk. (0xFFFF if not used). + Kernel::UInt64 fReserved; /// @brief Reserved for future use. + Kernel::UInt64 fReserved2; /// @brief Reserved for future use. + Kernel::UInt64 fReserved3; /// @brief Reserved for future use. + Kernel::UInt64 fReserved4; /// @brief Reserved for future use. }; /// @brief Access time type. @@ -160,6 +164,10 @@ struct PACKED ALIGN(8) HEFS_INDEX_NODE_DIRECTORY final Kernel::UInt32 fUID, fGID; /// @brief User ID and Group ID of the file. Kernel::UInt32 fMode; /// @brief File mode. (read, write, execute, etc). + /// @note These slices are organized as: + /// [0] = OFFSET + /// [1] = SIZE + /// @note Thus the += 2 when iterating over them. Kernel::UInt64 fIndexNodeStart[kHeFSBlockCount]; /// @brief Start of the index node. Kernel::UInt64 fIndexNodeEnd[kHeFSBlockCount]; /// @brief End of the index node. -- cgit v1.2.3