SCSI
, CAM
—
CAM SCSI ???֥????ƥ?
controller scbus0
controller scbus1 at
ahc0
controller scbus3 at ahc1 bus 0
controller scbus2 at ahc1 bus 1
device cd0
device ch0
device da0
device pass0
device pt0
device sa0
device ch1 at scbus0 target 4 unit 0
options CAMDEBUG
options "CAM_DEBUG_BUS=-1"
options "CAM_DEBUG_TARGET=-1"
options "CAM_DEBUG_LUN=-1"
options "CAM_DEBUG_FLAGS=CAM_DEBUG_INFO|CAM_DEBUG_CDB"
options "CAM_MAX_HIGHPOWER=4"
options SCSI_NO_SENSE_STRINGS
options SCSI_NO_OP_STRINGS
options SCSI_DELAY=8000
CAM SCSI ???֥????ƥ??ϡ? ?Ƽ??? SCSI
?ǥХ????????椹???ɥ饤?Ф䡢?ۥ??ȥ????ץ??ɥ饤?Ф???ͳ???ưۤʤ?
SCSI
?ۥ??ȥ????ץ??????Ѥ????ɥ饤?Ф????????뤿???Ρ?
?Ѽ??ǥ⥸?塼?벽???줿?????ƥ??????ޤ???
?????ƥब SCSI
?Х????ץ????֤???ȯ???????ǥХ?????Ŭ?ڤʥɥ饤?Ф˥????å????ޤ???
pass(4)
?ɥ饤?Ф??????ͥ????Ȥ߹??ޤ??Ƥ????С????٤Ƥ?
SCSI ?ǥХ??????????å??????ޤ???
CAM SCSI
???֥????ƥ??Ѥ˰???Ū?ʥ????ͥ????ꥪ?ץ????????Ĥ??????ޤ?:
CAMDEBUG
- ???Υ??ץ??????ϡ?CAM
?ǥХå??Ѥ? printf
?????ɤ?ͭ???ˤ??ޤ???
?ºݤˤϡ????Υ??ץ??????????ǤϥǥХå??????Ͻ??Ϥ????ޤ?????
???Ϥ??뤿???ˤ??ɲ????꤬ɬ?פǤ????ܺ٤ϲ????Ȥ??Ʋ???????
CAM_MAX_HIGHPOWER=4
- Ʊ?????ѤǤ??? "high power"
???ޥ??ɤκ??????????ꤷ?ޤ??? "high
power" ???ޥ??ɤȤϡ?
¾?Υ??ޥ??ɤ????٤ơ??¹Ԥ????Τˤ???¿???????Ϥ?ɬ?פȤ??륳?ޥ??ɤǤ???
???ΰ????? SCSI START UNIT ???ޥ??ɤǤ?
(???ߤΤȤ??? "high power"
???????????Ƥ???ͣ???Υ??ޥ??ɤǤ?)??
SCSI
?ǥ?????????ư?????ˤϡ??̾??Υǥ??????????????٤?
???ʤ??礭?????Ϥ????ޤ???
???Υ??ץ??????ǡ??????ԥ塼?????Ÿ??????٤??????
"high power"
???ޥ??ɤ?Ʊ???ˤ????Ĥޤ?ȯ?ԤǤ??뤫???????Ǥ??ޤ???
SCSI_NO_SENSE_STRINGS
- SCSI Additional Sense Code ?? Additional Sense Code Qualifier
???ȤˤĤ??Ƥ?
????ʸ?٤ƽ???ޤ???
????ʸ?????????礭?ʥƥ????ȥǡ????١????ʤΤǡ?
??????С??????ͥ??Υ????????︺?Ǥ??ޤ???
???Υ??ץ??????ϡ????Ȥ??ƥ֡??ȥե??åԤ䡢
¾?Υǥ????????֤??뤤?ϥ????????֤????????Ķ???ɬ?פȤʤ??ޤ???
¾?δĶ??Ǥ⡢
¿???ξ????Ϥ??Υ??ץ???????ͭ???ˤ??٤??Ǥ???
SCSI
?Υ??顼???å??????β?????®???뤳?Ȥˤʤ뤫???Ǥ???
?????ͥ???̵?Ѥ???ĥ ("kernel bloat")
?????뤳?ȤФ?????Ǯ?椷?ʤ??ǡ?
???ʤ??Υ????ͥ??˲???ʸ???Ĥ??ʤ??褦?ˤ??ޤ??礦!
SCSI_NO_OP_STRINGS
- SCSI opcode
?β???ʸ?٤?̵???ˤ??ޤ???
???Υ??ץ??????ϡ????Ҥ??? sense
ʸ?????Ⱦ?????Ʊ?͡????Ȥ???
?????ͥ륵?????????פʥ֡??ȥե??åԤΤ褦?ʴĶ???????Ω???ޤ???
?̾??λ??ѴĶ??Ǥ??Υ??ץ???????ͭ???ˤ??뤳?ȤϿ侩?????ޤ?????
SCSI
?ξ㳲?ΥǥХå????٤餻?뤫???Ǥ???
SCSI_DELAY=8000
- SCSI ?ΥХ??????ꤹ???ޤǤ??ٱ?
("bus settle delay") ?Ǥ??? CAM ?ξ??硢
?ߥ???
ñ?̤ǻ??ꤷ?ޤ??? ?????? SCSI
?ؤǻȤ????Ƥ?????ñ?̤ǤϤ????ޤ?????
?????ͥ??ϥ֡??Ȼ??˥Х??ꥻ?åȤ???
SCSI
?Х??????ꡢ?ƥǥХ?????ž???ͥ??????????????䤽??¾????????
?ǥե????Ȥξ??֤˼?ʬ???Ȥǥꥻ?åȤ????褦???Τ??ޤ???
?ۤȤ??ɤ? SCSI
?ǥХ????ϡ??Х??ꥻ?åȤ????????????Τˡ????????٤λ??֤?ɬ?פȤ??ޤ???
?Ƕ??Υǥ??????? 100ms
???٤?û???????֤???ɬ?פȤ??ޤ???
?Ť????٤??ǥХ????Ϥ??ä?Ĺ?????֤?ɬ?פȤ??뤫?⤷???ޤ?????
SCSI_DELAY
?????ꤷ?ʤ????С??ǥե????ȤǤ?
2 ?äˤʤ??ޤ???
SCSI_DELAY
?κǾ??ͤ?
"100"?????ʤ??? 100ms ?Ǥ???
ͣ???ü??ʥ??????? SCSI_DELAY
??
0 ?????ꤷ???????ǡ?"?Ǥ???????????????"
????̣???ޤ??? ???ξ??硢
SCSI_DELAY
?? 100ms
?˥ꥻ?åȤ????ޤ???
???٤ƤΥǥХ????????? SCSI
?Х??ϥ֡??Ȼ??γ????Ƥݡ??Ȥ??Ƥ????Τǡ?
???̤??ֹ??ΥǥХ????????ӥ????ȥ??????????ꤹ??ɬ?פϤ????ޤ???;
device da0
??Ǥ?դ??ֹ??Υǥ??????ɥ饤?Ф??Ф??ƽ?ʬ?ʵ??ҤǤ???
?ǥХ????ϡ??????ΥǥХ??????˥åȤȤ???ǧ????????
wired («????????) ????
???μ???ͭ????̤???ѥ??˥åȤȤ???ǧ????????
counted (?????夲??????)
?Τɤ??餫?Ǥ???
?????ͥ????Υɥ饤?Ф??ǥХ?????«?????ʤ??褦?????ꤹ???ˤϡ?
device ch0
?Τ褦???????ԤҤ??ơ????????ɥ饤?Ф??Ȥ߹????Dz???????
???˥åȤ?«???????ˤϡ?
device ch1 at scbus0 target 4 unit 0
?Τ褦???????ԤҤ??ơ? ??????
1 ?? SCSI ?Х? 0 ???? SCSI ID 4??SCSI ???????˥å? 0 ??
???????˳??????Ƥޤ??? ?? SCSI
?Х??????ꤷ???????ȥ???????«???????ˤϡ?
controller scbus0 at ahc0
?Τ褦???????ԤҤ??ޤ???
?????ϡ?SCSI ?Х? 0 ?? ahc
?ɥ饤?Ф??Ѥ????ǽ??Υ??˥åȤ˳??????Ƥޤ???
ʣ???ΥХ??ݡ??Ȥ??륳???ȥ??????ξ??硢
?????ΥХ??? controller scbus3 at ahc1 bus
1
?η????ǻ????Ǥ??ޤ??? ?????ϡ?SCSI
?Х? 1 ?? ahc1 ?ǥХ??????? 2
???ܤ˥ץ????֤??줿?Х???
???????Ƥޤ???
wired ?ǥХ????? counted
?ǥХ????????ߤ??Ƥ??????硢
???ΥǥХ????????פˤĤ??Ƥκǽ?????
wired ???˥åȤ????????Ϥ??ޤ???
???ʤ?????wired ?ǥ????? device da1
???????ȡ??ǽ????? wired ?ǥ??????? da2
?Ȥ???ǧ???????뤳?Ȥˤʤ??ޤ???
???Υ????ƥ??Ǥϡ??????????μ????ΰۤʤ륢???ץ???
???̤ΥǥХ????ɥ饤?Ф????Ѥ??뤳?Ȥ???ǽ?Ǥ???
?????ץ??Ͼ????ؤ????????????ơ?
SCSI
?Х??ȥ????ƥ??δ֤Τ??٤Ƥ?
IO ???¹Ԥ??ޤ???
ž???κ??祵?????ϥ????ץ??ˤ??äƻ??ۤ????ޤ???
?ۤȤ??ɤΥ????ץ??????٤??????? 64KB
??ž???Ǥ??ޤ?????
¿???Υ????ץ??Ϥ??ä????̤?ž???Ǥ??뤫?⤷???ޤ?????
?????Ĥ??Υ????ץ??ϡ?
???????åȥ⡼??
?ݡ??Ȥ??Ƥ??ޤ???
???Υ⡼?ɤǤϡ?
?????ƥ????ҤȤĤΥǥХ????Ȥ???????뤳?Ȥ???ǽ?Ȥʤꡢ
?̤Υ????ƥबȯ?Ԥ????????˱????????褦?ˤʤ??ޤ???
???????åȥ⡼?ɤϡ??????Ĥ??Υ????ץ??ǥ??ݡ??Ȥ????Ƥ??ޤ?????
???ΥС????????? CAM SCSI
???֥????ƥ??ǤϤޤ??????ǤϤ????ޤ?????
¾?? SCSI
?ǥХ????Υ????ȥ??Ȥ??Ʋ???????
?????ͥ뤬 options CAMDEBUG
?դ??ǥ????ѥ??뤵???Ƥ??????硢 XPT_DEBUG
CCB ???Ѥ????С?
Ǥ?դλ??ꤷ???ǥХ????˴ؤ??ơ????ޤ??ޤ??̤Υȥ졼????????
??????ǽ?ˤʤ??ޤ???
?ȥ졼???????Ƥ??ʤ??ǥХ????ϥȥ졼???????????????ޤ?????
???ߤ? 4
?ĤΥǥХå??ե饰???ˤǤ??ޤ?:
CAM_DEBUG_INFO
- ?????????ǥХ??? (??)
?ˤĤ??ư???Ū?ʾ????? printf
???Ϥ???ǽ?ˤʤ??ޤ???
CAM_DEBUG_TRACE
- ?ؿ????٥??ǤΥ??ޥ??ɥե????Υȥ졼??????ǽ?ˤʤ??ޤ???
???ʤ??????ؿ????????Ƚи??ǥ????ͥ???
printf ???Ϥ?ȯ?????ޤ???
CAM_DEBUG_SUBTRACE
- ?ؿ??????ǤΥǥХå????Ϥ???ǽ?ˤʤ??ޤ???
CAM_DEBUG_CDB
- ?????ΥǥХ??? (??)
?????????줿???٤Ƥ? SCSI
???ޥ??ɤ??ͥ뤬?????????褦?ˤʤ??ޤ???
???????Υե饰?Τ??????ä?
CAM_DEBUG_TRACE
??
CAM_DEBUG_SUBTRACE
?????????̤Υ????ͥ??? printf
???Ϥ?ȯ?????ޤ??Τǡ?
???ޤ?ͭ?פǤϤ????ޤ?????
CAM_DEBUG_INFO
?Υ??٥??ǥ??????Ϥ????????Τ?¿???Ϥ????ޤ????Τǡ?
?????⤽???ۤ?ͭ?פǤϤ????ޤ?????
?Ǥ?ͭ?פʥǥХå??ե饰??
CAM_DEBUG_CDB
?ե饰?Ǥ???
?ʲ??Υ????ͥ륪?ץ??????????Ѥ??ơ?
?????ͥ??????ե????뤫???ǥХå???ͭ???ˤǤ??ޤ?:
CAMDEBUG
- CAM ?ΥǥХå???ͭ???ˤ??ޤ???
???Υ??ץ??????ʤ??Ǥϡ??桼???????ɤ???
camcontrol(8)
????ͳ???ƥǥХå???ͭ???ˤ??뤳?Ȥ??Ǥ??ޤ?????
CAM_DEBUG_FLAGS
- ???˽Ҥ٤??褦?ʳƼ??ΥǥХå??ե饰????
?????ͥ??????ե??????????ꤹ?뤳?Ȥ???ǽ?ˤʤ??ޤ???
?ե饰???????¤??????С?
ʣ???ΥǥХå????٥??Ǥ? printf
???Ϥ뤳?Ȥ??Ǥ??ޤ???
CAM_DEBUG_BUS
- ?ǥХå????оݤȤ????Х??????ꤷ?ޤ???
???٤ƤΥХ????ǥХå??????ˤϡ??????ͤ?
-1 ?????ꤷ?ޤ???
CAM_DEBUG_TARGET
- ?ǥХå????оݤȤ??륿?????åȤ????ꤷ?ޤ???
???٤ƤΥ??????åȤ??ǥХå??????ˤϡ??????ͤ?
-1 ?????ꤷ?ޤ???
CAM_DEBUG_LUN
- ?ǥХå????оݤȤ??????????˥å??ֹ??????ꤷ?ޤ???
???٤Ƥ????????˥å??ֹ????ǥХå??????ˤϡ??????ͤ?
-1 ?????ꤷ?ޤ???
?????Х??????????åȡ??⤷???????????˥å??ֹ??????ꤹ???????ˤϡ?
???Ҥ??? 3
?ĤΥХ?/???????å?/???????˥å??ֹ??Υ??ץ???????
???٤ƻ??ꤹ?뤳?Ȥ?ɬ?ܤȤʤ??ޤ???
?磻???ɥ????ɤ????Ѥ????С?
?ۤȤ??ɤε????ˤĤ??ƥǥХå???ͭ???ˤ??뤳?Ȥ??Ǥ??ޤ???
CAMDEBUG
???ץ????????????ե??????˴ޤ??Ƥ????С?
camcontrol(8)
?桼?ƥ????ƥ??????Ѥ??ơ???ư???? printf
?ǥХå???ͭ???ˤ??뤳?Ȥ??Ǥ??ޤ???
?ܺ٤?
camcontrol(8)
?Ȥ??Ʋ???????
aha(4),
ahb(4),
ahc(4),
bt(4),
cd(4),
ch(4),
da(4),
pass(4),
pt(4),
sa(4),
xpt(4),
camcontrol(8)
CAM SCSI ???֥????ƥ??? FreeBSD 3.0
?ǽ??????о줷?ޤ?????
CAM SCSI ???֥????ƥ??? Justin Gibbs ?? Kenneth Merry
?ˤ??äƽ??ޤ?????