diff options
Diffstat (limited to 'dev/kernel/src')
| -rw-r--r-- | dev/kernel/src/FS/NeFS+FileSystemParser.cc | 1 | ||||
| -rw-r--r-- | dev/kernel/src/IFS.cc (renamed from dev/kernel/src/DriveMgr+IO.cc) | 16 | ||||
| -rw-r--r-- | dev/kernel/src/UserProcessScheduler.cc | 1 |
3 files changed, 10 insertions, 8 deletions
diff --git a/dev/kernel/src/FS/NeFS+FileSystemParser.cc b/dev/kernel/src/FS/NeFS+FileSystemParser.cc index 97b2ff36..dd0a1d9a 100644 --- a/dev/kernel/src/FS/NeFS+FileSystemParser.cc +++ b/dev/kernel/src/FS/NeFS+FileSystemParser.cc @@ -10,6 +10,7 @@ #include <FirmwareKit/EPM.h> #include <KernelKit/DriveMgr.h> +#include <KernelKit/IFS.h> #include <KernelKit/KPC.h> #include <KernelKit/ProcessScheduler.h> #include <KernelKit/UserMgr.h> diff --git a/dev/kernel/src/DriveMgr+IO.cc b/dev/kernel/src/IFS.cc index 9137c91e..ba2ec8c0 100644 --- a/dev/kernel/src/DriveMgr+IO.cc +++ b/dev/kernel/src/IFS.cc @@ -9,9 +9,9 @@ /************************************************************* * - * File: DriveMgr+IO.cc + * File: IFS.cc * Purpose: Filesystem to mountpoint interface. - * Date: 3/26/24 + * Date: 05/26/2025 * * Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved. * @@ -23,13 +23,13 @@ #define fsi_ifs_read(DRV, TRAITS, MP) (MP->DRV()).fInput(TRAITS) namespace Kernel { -/// @brief Read from newfs disk. +/// @brief Read from fs 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; + if (!Mnt) return kErrorDisk; DrvTrait.fPacket.fPacketGood = false; @@ -52,16 +52,16 @@ Int32 fs_ifs_read(MountpointInterface* Mnt, DriveTrait& DrvTrait, Int32 DrvIndex } } - return DrvTrait.fPacket.fPacketGood; + return DrvTrait.fPacket.fPacketGood ? kErrorSuccess : kErrorDisk; } -/// @brief Write to newfs disk. +/// @brief Write to fs 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; + if (!Mnt) return kErrorDisk; DrvTrait.fPacket.fPacketGood = false; @@ -84,6 +84,6 @@ Int32 fs_ifs_write(MountpointInterface* Mnt, DriveTrait& DrvTrait, Int32 DrvInde } } - return DrvTrait.fPacket.fPacketGood; + return DrvTrait.fPacket.fPacketGood ? kErrorSuccess : kErrorDisk; } } // namespace Kernel
\ No newline at end of file diff --git a/dev/kernel/src/UserProcessScheduler.cc b/dev/kernel/src/UserProcessScheduler.cc index f900f984..4bbd085a 100644 --- a/dev/kernel/src/UserProcessScheduler.cc +++ b/dev/kernel/src/UserProcessScheduler.cc @@ -126,6 +126,7 @@ ErrorOr<VoidPtr> USER_PROCESS::New(SizeT sz, SizeT pad_amount) { #ifdef __NE_VIRTUAL_MEMORY_SUPPORT__ auto vm_register = kKernelVM; + hal_write_cr3(this->VMRegister); auto ptr = mm_alloc_ptr(sz, Yes, Yes, pad_amount); |
