summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/src/DriveMgr+IO.cc
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/src/DriveMgr+IO.cc
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/src/DriveMgr+IO.cc')
-rw-r--r--dev/kernel/src/DriveMgr+IO.cc89
1 files changed, 0 insertions, 89 deletions
diff --git a/dev/kernel/src/DriveMgr+IO.cc b/dev/kernel/src/DriveMgr+IO.cc
deleted file mode 100644
index 9137c91e..00000000
--- a/dev/kernel/src/DriveMgr+IO.cc
+++ /dev/null
@@ -1,89 +0,0 @@
-/* -------------------------------------------
-
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
-
-------------------------------------------- */
-
-#include <KernelKit/DriveMgr.h>
-#include <KernelKit/FileMgr.h>
-
-/*************************************************************
- *
- * File: DriveMgr+IO.cc
- * Purpose: Filesystem to mountpoint interface.
- * Date: 3/26/24
- *
- * Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
- *
- *************************************************************/
-
-/// Useful macros regarding the IFS.
-
-#define fsi_ifs_write(DRV, TRAITS, MP) (MP->DRV()).fOutput(TRAITS)
-#define fsi_ifs_read(DRV, TRAITS, MP) (MP->DRV()).fInput(TRAITS)
-
-namespace Kernel {
-/// @brief Read from newfs disk.
-/// @param Mnt mounted interface.
-/// @param DrvTrait drive info
-/// @param DrvIndex drive index.
-/// @return
-Int32 fs_ifs_read(MountpointInterface* Mnt, DriveTrait& DrvTrait, Int32 DrvIndex) {
- if (!Mnt) return 1;
-
- DrvTrait.fPacket.fPacketGood = false;
-
- switch (DrvIndex) {
- case MountpointInterface::kDriveIndexA: {
- fsi_ifs_read(A, DrvTrait.fPacket, Mnt);
- break;
- }
- case MountpointInterface::kDriveIndexB: {
- fsi_ifs_read(B, DrvTrait.fPacket, Mnt);
- break;
- }
- case MountpointInterface::kDriveIndexC: {
- fsi_ifs_read(C, DrvTrait.fPacket, Mnt);
- break;
- }
- case MountpointInterface::kDriveIndexD: {
- fsi_ifs_read(D, DrvTrait.fPacket, Mnt);
- break;
- }
- }
-
- return DrvTrait.fPacket.fPacketGood;
-}
-
-/// @brief Write to newfs disk.
-/// @param Mnt mounted interface.
-/// @param DrvTrait drive info
-/// @param DrvIndex drive index.
-/// @return
-Int32 fs_ifs_write(MountpointInterface* Mnt, DriveTrait& DrvTrait, Int32 DrvIndex) {
- if (!Mnt) return 1;
-
- DrvTrait.fPacket.fPacketGood = false;
-
- switch (DrvIndex) {
- case MountpointInterface::kDriveIndexA: {
- fsi_ifs_write(A, DrvTrait.fPacket, Mnt);
- break;
- }
- case MountpointInterface::kDriveIndexB: {
- fsi_ifs_write(B, DrvTrait.fPacket, Mnt);
- break;
- }
- case MountpointInterface::kDriveIndexC: {
- fsi_ifs_write(C, DrvTrait.fPacket, Mnt);
- break;
- }
- case MountpointInterface::kDriveIndexD: {
- fsi_ifs_write(D, DrvTrait.fPacket, Mnt);
- break;
- }
- }
-
- return DrvTrait.fPacket.fPacketGood;
-}
-} // namespace Kernel \ No newline at end of file