summaryrefslogtreecommitdiffhomepage
path: root/Private/Source
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlalelmahrouss@icloud.com>2024-02-05 10:53:58 +0100
committerAmlal El Mahrouss <amlalelmahrouss@icloud.com>2024-02-05 10:53:58 +0100
commitf8c9b81ff120160af60af6e9d44cba338aceb65a (patch)
treecb4683589aab4d50470628f189dc366814fd80ad /Private/Source
parente03903b98aa0b4d2dc3ed4637863124f28c4e1fe (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.cxx12
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;
}