* Use the ATAInfoblock.h header file instead of redoing it somehow.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36412 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -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
|
||||
;
|
||||
;
|
||||
|
||||
@@ -13,9 +13,10 @@
|
||||
#include <ByteOrder.h>
|
||||
#include <KernelExport.h>
|
||||
|
||||
#include <ATAInfoblock.h>
|
||||
|
||||
#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;
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
#ifndef _ATA_CMDS_H
|
||||
#define _ATA_CMDS_H
|
||||
|
||||
#include <SupportDefs.h>
|
||||
|
||||
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
|
||||
Reference in New Issue
Block a user