diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-05-26 20:29:57 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-05-26 20:29:57 +0200 |
| commit | f4babecc6d72aae688ad85fc726e22dbd1f82219 (patch) | |
| tree | 8dc79036504c2b04337b130842f85bb843e4d85d /dev/kernel/src/DriveMgr+IO.cc | |
| parent | dd0b266dbe8a5c5d132640ee944f2232f1ff2c1c (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.cc | 89 |
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 |
