summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/KernelKit
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-05-26 20:29:57 +0200
committerAmlal El Mahrouss <amlal@nekernel.org>2025-05-26 20:29:57 +0200
commitf4babecc6d72aae688ad85fc726e22dbd1f82219 (patch)
tree8dc79036504c2b04337b130842f85bb843e4d85d /dev/kernel/KernelKit
parentdd0b266dbe8a5c5d132640ee944f2232f1ff2c1c (diff)
feat!: Add IFS layer within DriveMgr, and IFS API.
also: - Use ThreadID in AP system. - Refactor kernel according to new IFS layer. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/KernelKit')
-rw-r--r--dev/kernel/KernelKit/CodeMgr.h4
-rw-r--r--dev/kernel/KernelKit/DriveMgr.h16
-rw-r--r--dev/kernel/KernelKit/IFS.h25
3 files changed, 29 insertions, 16 deletions
diff --git a/dev/kernel/KernelKit/CodeMgr.h b/dev/kernel/KernelKit/CodeMgr.h
index f4d46b4b..072ba4d5 100644
--- a/dev/kernel/KernelKit/CodeMgr.h
+++ b/dev/kernel/KernelKit/CodeMgr.h
@@ -23,10 +23,10 @@ namespace Kernel {
typedef void (*rtl_main_kind)(void);
/// @brief C++ Constructor entrypoint.
-typedef void (*rtl_ctor_kind)(void);
+typedef void (*rtl_cxx_ctor_kind)(void);
/// @brief C++ Destructor entrypoint.
-typedef void (*rtl_dtor_kind)(void);
+typedef void (*rtl_cxx_dtor_kind)(void);
/// @brief Executes a new process from a function. Kernel code only.
/// @note This sets up a new stack, anything on the main function that calls the Kernel will not be
diff --git a/dev/kernel/KernelKit/DriveMgr.h b/dev/kernel/KernelKit/DriveMgr.h
index 684e2e5c..4a530deb 100644
--- a/dev/kernel/KernelKit/DriveMgr.h
+++ b/dev/kernel/KernelKit/DriveMgr.h
@@ -23,6 +23,8 @@
#define drv_sector_cnt(SIZE, SECTOR_SZ) (((SIZE) + (SECTOR_SZ)) / (SECTOR_SZ))
+#define kDriveHiddenPrefix '~'
+
namespace Kernel {
enum {
kInvalidDrive = -1,
@@ -159,20 +161,6 @@ namespace Detect {
Void io_drv_input(DriveTrait::DrivePacket pckt);
Void io_drv_output(DriveTrait::DrivePacket pckt);
-
-/// @brief Read from IFS disk.
-/// @param Mnt mounted interface.
-/// @param DrvTrait drive info
-/// @param DrvIndex drive index.
-/// @return
-Int32 fs_ifs_read(MountpointInterface* Mnt, DriveTrait& DrvTrait, Int32 DrvIndex);
-
-/// @brief Write to IFS disk.
-/// @param Mnt mounted interface.
-/// @param DrvTrait drive info
-/// @param DrvIndex drive index.
-/// @return
-Int32 fs_ifs_write(MountpointInterface* Mnt, DriveTrait& DrvTrait, Int32 DrvIndex);
} // namespace Kernel
#endif /* ifndef INC_DRIVE_MANAGER_H */
diff --git a/dev/kernel/KernelKit/IFS.h b/dev/kernel/KernelKit/IFS.h
new file mode 100644
index 00000000..5555764f
--- /dev/null
+++ b/dev/kernel/KernelKit/IFS.h
@@ -0,0 +1,25 @@
+/* -------------------------------------------
+
+ Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+
+------------------------------------------- */
+
+#pragma once
+
+#include <KernelKit/DriveMgr.h>
+
+namespace Kernel {
+/// @brief Read from IFS disk.
+/// @param Mnt mounted interface.
+/// @param DrvTrait drive info
+/// @param DrvIndex drive index.
+/// @return
+Int32 fs_ifs_read(MountpointInterface* Mnt, DriveTrait& DrvTrait, Int32 DrvIndex);
+
+/// @brief Write to IFS disk.
+/// @param Mnt mounted interface.
+/// @param DrvTrait drive info
+/// @param DrvIndex drive index.
+/// @return
+Int32 fs_ifs_write(MountpointInterface* Mnt, DriveTrait& DrvTrait, Int32 DrvIndex);
+} // namespace Kernel \ No newline at end of file