summaryrefslogtreecommitdiffhomepage
path: root/dev/Kernel/src/DriveMgr.cc
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2025-01-12 13:13:52 +0100
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2025-01-12 13:13:52 +0100
commit561ba6a493f35461e1eef4e3a488b99e13803682 (patch)
treec61b6ea50c227c0e2fff4bbc04b2fb5eb9aad449 /dev/Kernel/src/DriveMgr.cc
parent2f72dc4a5de7836955c7cfda87e7e97a06e37837 (diff)
ADD: Worked on a set of patches in NeFS and DriveMgr, tweaks on
BitMapMgr. Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/Kernel/src/DriveMgr.cc')
-rw-r--r--dev/Kernel/src/DriveMgr.cc26
1 files changed, 10 insertions, 16 deletions
diff --git a/dev/Kernel/src/DriveMgr.cc b/dev/Kernel/src/DriveMgr.cc
index 544c0c26..ab966575 100644
--- a/dev/Kernel/src/DriveMgr.cc
+++ b/dev/Kernel/src/DriveMgr.cc
@@ -32,17 +32,6 @@ namespace Kernel
return;
}
- if (pckt->fPacketDrive->fSectorSz == 0)
- {
-#ifdef __ATA_PIO__
- pckt->fPacketDrive->fSectorSz = kATASectorSize;
-#elif defined(__AHCI__)
- pckt->fPacketDrive->fSectorSz = kAHCISectorSize;
-#else
- pckt->fPacketDrive->fSectorSz = 512;
-#endif
- }
-
if (!StringBuilder::Equals("fs/detect-packet", pckt->fPacketMime) &&
pckt->fPacketDrive->fLbaStart > 0 && pckt->fPacketDrive->fLbaEnd > 0)
{
@@ -53,6 +42,8 @@ namespace Kernel
}
}
+ kcout << pckt->fPacketMime << endl;
+
#ifdef __AHCI__
drv_std_read(pckt->fPacketLba, (Char*)pckt->fPacketContent, pckt->fPacketDrive->fSectorSz, pckt->fPacketSize);
#elif defined(__ATA_PIO__) || defined(__ATA_DMA__)
@@ -70,15 +61,18 @@ namespace Kernel
return;
}
- if (!StringBuilder::Equals("fs/detect-packet", pckt->fPacketMime))
+ if (!StringBuilder::Equals("fs/detect-packet", pckt->fPacketMime) &&
+ pckt->fPacketDrive->fLbaStart > 0 && pckt->fPacketDrive->fLbaEnd > 0)
{
- if (pckt->fPacketLba < pckt->fPacketDrive->fLbaStart)
- return;
-
if (pckt->fPacketLba > pckt->fPacketDrive->fLbaEnd)
+ {
+ pckt->fPacketGood = NO;
return;
+ }
}
+ kcout << pckt->fPacketMime << endl;
+
#ifdef __AHCI__
drv_std_write(pckt->fPacketLba, (Char*)pckt->fPacketContent, pckt->fPacketDrive->fSectorSz, pckt->fPacketSize);
#elif defined(__ATA_PIO__) || defined(__ATA_DMA__)
@@ -197,7 +191,7 @@ namespace Kernel
#elif defined(__AHCI__)
trait.fSectorSz = kAHCISectorSize;
#else
- trait.fSectorSz = 512;
+ trait.fSectorSz = 512;
#endif
trait.fPacket.fPacketLba = kEPMBootBlockLba;
trait.fPacket.fPacketSize = sizeof(EPM_PART_BLOCK);