summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/src/Storage
diff options
context:
space:
mode:
Diffstat (limited to 'dev/kernel/src/Storage')
-rw-r--r--dev/kernel/src/Storage/AHCIDeviceInterface.cc21
-rw-r--r--dev/kernel/src/Storage/ATADeviceInterface.cc33
2 files changed, 44 insertions, 10 deletions
diff --git a/dev/kernel/src/Storage/AHCIDeviceInterface.cc b/dev/kernel/src/Storage/AHCIDeviceInterface.cc
index 9419dc4e..1798e9a9 100644
--- a/dev/kernel/src/Storage/AHCIDeviceInterface.cc
+++ b/dev/kernel/src/Storage/AHCIDeviceInterface.cc
@@ -36,16 +36,16 @@ const Char* AHCIDeviceInterface::Name() const
}
/// @brief Output operator.
-/// @param Data the disk mountpoint.
+/// @param mnt the disk mountpoint.
/// @return the class itself after operation.
-AHCIDeviceInterface& AHCIDeviceInterface::operator<<(MountpointInterface* Data)
+AHCIDeviceInterface& AHCIDeviceInterface::operator<<(MountpointInterface* mnt)
{
- if (!Data)
+ if (!mnt)
return *this;
for (SizeT driveCount = 0; driveCount < kDriveMaxCount; ++driveCount)
{
- auto interface = Data->GetAddressOf(driveCount);
+ auto interface = mnt->GetAddressOf(driveCount);
if ((interface) && rt_string_cmp((interface)->fProtocol(), "AHCI", rt_string_len("AHCI")) == 0)
{
@@ -59,20 +59,20 @@ AHCIDeviceInterface& AHCIDeviceInterface::operator<<(MountpointInterface* Data)
}
return (AHCIDeviceInterface&)IDeviceObject<MountpointInterface*>::operator<<(
- Data);
+ mnt);
}
/// @brief Input operator.
-/// @param Data the disk mountpoint.
+/// @param mnt the disk mountpoint.
/// @return the class itself after operation.
-AHCIDeviceInterface& AHCIDeviceInterface::operator>>(MountpointInterface* Data)
+AHCIDeviceInterface& AHCIDeviceInterface::operator>>(MountpointInterface* mnt)
{
- if (!Data)
+ if (!mnt)
return *this;
for (SizeT driveCount = 0; driveCount < kDriveMaxCount; ++driveCount)
{
- auto interface = Data->GetAddressOf(driveCount);
+ auto interface = mnt->GetAddressOf(driveCount);
// really check if it's ATA.
if ((interface) && rt_string_cmp((interface)->fProtocol(), "AHCI", rt_string_len("AHCI")) == 0)
@@ -87,7 +87,7 @@ AHCIDeviceInterface& AHCIDeviceInterface::operator>>(MountpointInterface* Data)
}
return (AHCIDeviceInterface&)IDeviceObject<MountpointInterface*>::operator>>(
- Data);
+ mnt);
}
const UInt16& AHCIDeviceInterface::GetPortsImplemented()
@@ -109,4 +109,5 @@ const UInt32& AHCIDeviceInterface::GetIndex()
Void AHCIDeviceInterface::SetIndex(const UInt32& drv)
{
MUST_PASS(MountpointInterface::kDriveIndexInvalid != drv);
+ this->fDriveIndex = drv;
} \ No newline at end of file
diff --git a/dev/kernel/src/Storage/ATADeviceInterface.cc b/dev/kernel/src/Storage/ATADeviceInterface.cc
index 118a6d0a..2e7022a7 100644
--- a/dev/kernel/src/Storage/ATADeviceInterface.cc
+++ b/dev/kernel/src/Storage/ATADeviceInterface.cc
@@ -89,3 +89,36 @@ ATADeviceInterface& ATADeviceInterface::operator>>(MountpointInterface* Data)
return (ATADeviceInterface&)IDeviceObject<MountpointInterface*>::operator>>(
Data);
}
+
+const UInt32& ATADeviceInterface::GetIndex()
+{
+ return this->fDriveIndex;
+}
+
+Void ATADeviceInterface::SetIndex(const UInt32& drv)
+{
+ MUST_PASS(MountpointInterface::kDriveIndexInvalid != drv);
+ this->fDriveIndex = drv;
+}
+
+const UInt16& ATADeviceInterface::GetIO()
+{
+ return this->fIO;
+}
+
+Void ATADeviceInterface::SetIO(const UInt16& drv)
+{
+ MUST_PASS(0xFFFF != drv);
+ this->fIO = drv;
+}
+
+const UInt16& ATADeviceInterface::GetMaster()
+{
+ return this->fIO;
+}
+
+Void ATADeviceInterface::SetMaster(const UInt16& drv)
+{
+ MUST_PASS(0xFFFF != drv);
+ this->fMaster = drv;
+} \ No newline at end of file