sdstrategy ターゲットドライバ(sd) |
sd_start_cmds |
biowait() ←セマフォを獲得する |
sema_p() |
scsi_init_pkt SCSA |
scsi_transport |
sata_scsi_start SATAフレームワーク |
sata_txlt_write |
(sata_txlt_read) |
(sata_txlt_inquiry) |
(sata_txlt_test_unit_ready) |
sata_hba_start |
ahci_tran_start HBAドライバ(ahci) |
ahci_deliver_satapkt |
↓コマンド書き込み |
デバイス処理 |
↓デバイス割り込み |
ahci_intr |
ahci_check_ctl_handle |
ahci_intr_set_device_bits |
ahci_flush_doneq |
(*satapkt->satapkt_comp)(satapkt) |
sata_txlt_rw_completion ←コマンド別のコールバック関数 |
scsi_hba_pkt_comp |
(*pkt->pkt_comp)(pkt) -> sdintr |
sd_return_command |
biodone() |
sema_v() |
ディスクIOの関数スタック(sata)
2012/09/06
ATAはオワコンなので、SATAも見てみる。SATAのターゲットドライバはsdである。SATAのIOはSCSIコマンドとして発行される。
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿