???????SCSI?????????????PCI?豸????????????????????????е?λ????????????

?1 scis host??device????????????е?λ??

?????????????????????PCI?????????scsi host adapter?????pci???????????pci????????????????????????pci device??PDO???????????????????pci device???????????????????linux???У?????pci bus?????????????????????????з??????????????????????????scsi host??marwell???豸??????????????marwell????scsi host driver??????????á?????scsi host???????pci??????????scsi host driver????probe????????probe??????scsi host driver??????????????pci-driver????Linux???????????????????????·??????scsi host?????probe?????л?????scsi host??????ж????????????????scsi_host_alloc???????????scsi host?????????scsi middle level???????scsi_scan_host???????scsi host adapter???????????scsi?????

???????scsi host adapter??????ж??channel?????channel??????scsi????????scsi????????й???????????е?SATA??SAS??P2P???????????????????????????????????scsi middle level??????????????????????scsi host?????????channel???????????????channel??????spec?????scsi bus??????????16??scsi target??????scsi??????????????target?????scsi target???????????????????????LUN????????????豸??????????????LUN????0??

????Scsi host????????????????????α???????????

For (channel = 0; channel
/* ????????????????????е??豸??????? */

For (id=0; id
/* ?????????е????ID????豸??????? */
...
For (lun=1; lun
/* ?????ID????豸?????LUN??????? */
...
}
}
}

??????????????????????????????п?????????·????????scsi device??????????host_id : channel_id : target_id : lun_id

???????У?host_id?????????????????PCI????????????????????????????host_id????????????????????????????????scsi host(PCI device)??????host_id????????仯?????????????