summaryrefslogtreecommitdiffhomepage
path: root/dev/Kernel/HALKit/AMD64
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2025-03-16 11:04:10 +0100
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2025-03-16 11:04:10 +0100
commit8df934fd614ffa04f5bea091b02c848b1d703049 (patch)
tree8789a443b71a9aceaec2eb2da8716870487ee716 /dev/Kernel/HALKit/AMD64
parent959369a5b4ec5010952fb9336c001425653747ef (diff)
AHCI: FIX: Place det || ipm condition before checking for ATAPI/SATA.
AHCI: Finish .drawio design of AHCI driver. Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/Kernel/HALKit/AMD64')
-rw-r--r--dev/Kernel/HALKit/AMD64/Storage/AHCI+Generic.cc5
-rw-r--r--dev/Kernel/HALKit/AMD64/Storage/PIO+Generic.cc4
2 files changed, 7 insertions, 2 deletions
diff --git a/dev/Kernel/HALKit/AMD64/Storage/AHCI+Generic.cc b/dev/Kernel/HALKit/AMD64/Storage/AHCI+Generic.cc
index 0400970e..9f03754c 100644
--- a/dev/Kernel/HALKit/AMD64/Storage/AHCI+Generic.cc
+++ b/dev/Kernel/HALKit/AMD64/Storage/AHCI+Generic.cc
@@ -257,7 +257,10 @@ STATIC Bool drv_std_init_ahci(UInt16& pi, BOOL atapi)
UInt8 ipm = (mem_ahci->Ports[ahci_index].Ssts >> 8) & 0x0F;
UInt8 det = mem_ahci->Ports[ahci_index].Ssts & 0x0F;
- if (mem_ahci->Ports[ahci_index].Sig == kSATASignature && det == kSATAPresent && ipm == kSATAIPMActive)
+ if (det != kSATAPresent || ipm != kSATAIPMActive)
+ continue;
+
+ if (mem_ahci->Ports[ahci_index].Sig == kSATASignature)
{
kout << "Detect: /dev/sat" << number(ahci_index) << kendl;
diff --git a/dev/Kernel/HALKit/AMD64/Storage/PIO+Generic.cc b/dev/Kernel/HALKit/AMD64/Storage/PIO+Generic.cc
index 62791aee..8e6197c9 100644
--- a/dev/Kernel/HALKit/AMD64/Storage/PIO+Generic.cc
+++ b/dev/Kernel/HALKit/AMD64/Storage/PIO+Generic.cc
@@ -23,7 +23,7 @@
using namespace NeOS;
using namespace NeOS::HAL;
-/// bugs: 0
+/// BUGS: 0
#define kATADataLen 512
@@ -107,6 +107,8 @@ ATAInit_Retry:
kCurrentDiskModel[40] = '\0';
+ kout << "Detect: /dev/ata0" << kendl;
+
kout << "Drive Model: " << kCurrentDiskModel << kendl;
return true;