diff --git a/src/add-ons/kernel/busses/scsi/ahci/Jamfile b/src/add-ons/kernel/busses/scsi/ahci/Jamfile index 2022679bf8..809a96e0c3 100644 --- a/src/add-ons/kernel/busses/scsi/ahci/Jamfile +++ b/src/add-ons/kernel/busses/scsi/ahci/Jamfile @@ -2,6 +2,8 @@ SubDir HAIKU_TOP src add-ons kernel busses scsi ahci ; UsePrivateHeaders drivers ; UsePrivateKernelHeaders ; +UseHeaders + [ FDirName $(HAIKU_TOP) src add-ons kernel bus_managers ata ] : true ; KernelAddon ahci : ahci.c @@ -10,4 +12,4 @@ KernelAddon ahci : ahci_sim.cpp sata_request.cpp util.c - ; +; diff --git a/src/add-ons/kernel/busses/scsi/ahci/ahci_port.cpp b/src/add-ons/kernel/busses/scsi/ahci/ahci_port.cpp index 945785ba94..b030b10c8a 100644 --- a/src/add-ons/kernel/busses/scsi/ahci/ahci_port.cpp +++ b/src/add-ons/kernel/busses/scsi/ahci/ahci_port.cpp @@ -13,9 +13,10 @@ #include #include +#include + #include "ahci_controller.h" #include "ahci_tracing.h" -#include "ata_cmds.h" #include "sata_request.h" #include "scsi_cmds.h" #include "util.h" @@ -547,7 +548,7 @@ AHCIPort::ScsiInquiry(scsi_ccb *request) scsi_cmd_inquiry *cmd = (scsi_cmd_inquiry *)request->cdb; scsi_res_inquiry scsiData; - ata_res_identify_device ataData; + ata_device_infoblock ataData; ASSERT(sizeof(ataData) == 512); @@ -604,10 +605,10 @@ AHCIPort::ScsiInquiry(scsi_ccb *request) sizeof(scsiData.product_rev)); if (!fIsATAPI) { - bool lba = (ataData.words[49] & (1 << 9)) != 0; - bool lba48 = (ataData.words[83] & (1 << 10)) != 0; - uint32 sectors = *(uint32*)&ataData.words[60]; - uint64 sectors48 = *(uint64*)&ataData.words[100]; + bool lba = ataData.dma_supported != 0; + bool lba48 = ataData.lba48_supported != 0; + uint32 sectors = ataData.lba_sector_count; + uint64 sectors48 = ataData.lba48_sector_count; fUse48BitCommands = lba && lba48; fSectorSize = 512; fSectorCount = !(lba || sectors) ? 0 : lba48 ? sectors48 : sectors; diff --git a/src/add-ons/kernel/busses/scsi/ahci/ata_cmds.h b/src/add-ons/kernel/busses/scsi/ahci/ata_cmds.h deleted file mode 100644 index ce0239a4e5..0000000000 --- a/src/add-ons/kernel/busses/scsi/ahci/ata_cmds.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef _ATA_CMDS_H -#define _ATA_CMDS_H - -#include - -struct ata_res_identify_device -{ - union { - uint16 words[256]; - struct { - uint16 data1[10]; - char serial_number[20]; - uint16 data2[3]; - char firmware_revision[8]; - char model_number[40]; - }; - }; -}; - -#endif