diff options
| author | Amlal El Mahrouss <amlalelmahrouss@icloud.com> | 2024-02-05 10:53:58 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlalelmahrouss@icloud.com> | 2024-02-05 10:53:58 +0100 |
| commit | f8c9b81ff120160af60af6e9d44cba338aceb65a (patch) | |
| tree | cb4683589aab4d50470628f189dc366814fd80ad /Private/Source | |
| parent | e03903b98aa0b4d2dc3ed4637863124f28c4e1fe (diff) | |
Kernel: Improved kernel design and Bootloader runs on real hardware!
Signed-off-by: Amlal El Mahrouss <amlalelmahrouss@icloud.com>
Diffstat (limited to 'Private/Source')
| -rw-r--r-- | Private/Source/DriveManager.cxx | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/Private/Source/DriveManager.cxx b/Private/Source/DriveManager.cxx index 9fbba2ec..bc100a1a 100644 --- a/Private/Source/DriveManager.cxx +++ b/Private/Source/DriveManager.cxx @@ -25,11 +25,15 @@ DriveTraits &DriveSelector::GetMounted() { } bool DriveSelector::Mount(DriveTraits *drive) { - if (drive && drive->fReady() && fDrive == nullptr) { + if (drive && drive->fReady()) { + if (fDrive != nullptr) { + this->Unmount(); + } + fDrive = drive; fDrive->fMount(); - kcout << "Mount drive: " << fDrive->fName << "\n"; + kcout << "[Krnl] mounted: " << fDrive->fName << "\n"; return true; } @@ -40,12 +44,12 @@ bool DriveSelector::Mount(DriveTraits *drive) { DriveTraits *DriveSelector::Unmount() { if (!fDrive) return nullptr; - auto drivePointer = fDrive; + DriveTraits *drivePointer = fDrive; fDrive->fUnmount(); fDrive = nullptr; - kcout << "Unmount drive: " << drivePointer->fName << "\n"; + kcout << "[Krnl] unmounted: " << fDrive->fName << "\n"; return drivePointer; } |
