diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2025-03-16 11:04:10 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2025-03-16 11:04:10 +0100 |
| commit | 8df934fd614ffa04f5bea091b02c848b1d703049 (patch) | |
| tree | 8789a443b71a9aceaec2eb2da8716870487ee716 /dev/Kernel | |
| parent | 959369a5b4ec5010952fb9336c001425653747ef (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')
| -rw-r--r-- | dev/Kernel/HALKit/AMD64/Storage/AHCI+Generic.cc | 5 | ||||
| -rw-r--r-- | dev/Kernel/HALKit/AMD64/Storage/PIO+Generic.cc | 4 |
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; |
