From 8df934fd614ffa04f5bea091b02c848b1d703049 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Sun, 16 Mar 2025 11:04:10 +0100 Subject: AHCI: FIX: Place det || ipm condition before checking for ATAPI/SATA. AHCI: Finish .drawio design of AHCI driver. Signed-off-by: Amlal El Mahrouss --- dev/Kernel/HALKit/AMD64/Storage/AHCI+Generic.cc | 5 ++++- dev/Kernel/HALKit/AMD64/Storage/PIO+Generic.cc | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'dev') 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; -- cgit v1.2.3