̾??
vr
— VIA
Technologies VT3043 ?? VT86C100A
???????ͥåȥǥХ????ɥ饤??
vr
?ɥ饤?Фϡ?VIA
Technologies ?Ҥ? VT3043 Rhine I ?? VT86C100A Rhine II
?Υե??????ȥ??????ͥåȥ??åפ????ܤ???
PCI
???????ͥåȥ????ɤΥ??ݡ??Ȥ????ޤ???
???Υ??ݡ????ϰϤˤϡ?D-Link DFE530-TX
?䤽??¾?????ΰ²???
?ե??????ȥ??????ͥåȥ????ɤ??ޤޤ??ޤ???
VIA Rhine ???åפϥХ??ޥ???
DMA?????Ѥ???DEC 21x4x "tulip" ???åפ?
?????ǥ??????Υ??եȥ????????ե??????????äƤ??ޤ????礭?ʰ㤤?ϡ?
Rhine
???åפμ????ե??륿???????Ϥ뤫??ñ?????Ȥ??????ȤǤ???tulip
?? ?褦?ˡ????? DMA
??????ͳ???ü????????ե졼???????????????ɤ?????
?????ˡ?Rhine
?ϥ쥸??????ͳ?ǥץ??????ߥ??ޤ????ޤ???????
DMA ?Хåե??????? DMA
?Хåե??Ȥ⡢longword
?Ƕ???Ĵ??????ɬ?פ????뤳?Ȥ?
?㤤?ޤ???Rhine
???åפϡ??????ˤ???ʪ???إǥХ????Ȥ?
MII ?Х????̤???
??³???????褦???߷פ????Ƥ??ޤ????ޤ???10Mbps
?? 100Mbps ??ξ????
???ԡ??ɤ????????š?Ⱦ???ŤΤɤ????Υ⡼?ɤǤ⥵?ݡ??Ȥ????Ƥ??ޤ???
vr
?ɥ饤?Фϼ??Τ褦?ʥ??ǥ????????פݡ??Ȥ??ޤ???
- autoselect
- ???ǥ????????פ䥪?ץ??????μ?ư?????????Ѳ?ǽ?ˤ??ޤ???
?桼???ϡ? /etc/rc.conf
?ե??????˥??ǥ??????ץ????????ä??뤳?Ȥǡ?
??ư???줿?⡼?ɤ???ư?Ƕ???Ū???ѹ??Ǥ??ޤ???
- 10baseT/UTP
- 10Mbps ?????ꤷ?ޤ??? mediaopt ?ϡ?
full-duplex ?ޤ???
half-duplex
?⡼?ɤ????뤿???˻??Ѳ?ǽ?Ǥ???
- 100baseTX
- 100Mbps (?ե????ȥ??????ͥå?)
?????ꤷ?ޤ??? mediaopt ??
full-duplex ?ޤ???
half-duplex
?⡼?ɤ????뤿???˻??Ѳ?ǽ?Ǥ???
vr
?ɥ饤?Фϡ????Υ??ǥ??????ץ??????ݡ??Ȥ??Ƥ??ޤ???
- full-duplex
- full duplex ?????ꤷ?ޤ???
- half-duplex
- half duplex ?????ꤷ?ޤ???
?????ץ??????ݡ??Ȥ??Ƥ????Ȥ??Τߡ?100baseTX
???ǥ????????פϻ??Ѳ?ǽ?Ǥ???
???ΥǥХ????????ꤹ?뤿???ˤ??ä?¿???ξ?????ɬ?פʾ?????
ifconfig(8)
?Ȥ??Ƥ?????????
- vr%d: couldn't map memory
- ??̿Ū?ʽ????????顼?????????ޤ?????
- vr%d: couldn't map interrupt
- ??̿Ū?ʽ????????顼?????????ޤ?????
- vr%d: watchdog timeout
- ?ǥХ??????ͥåȥ???˱??????ʤ??ʤä??????ͥåȥ????
??³ (?????֥?) ?????꤬?????ޤ???
- vr%d: no memory for rx list
- ?ɥ饤?Ф??쥷???Х??????Ѥ? mbuf
?γ??ݤ˼??Ԥ??ޤ?????
- vr%d: no memory for tx list
- ?ѥåɥХåե??????ݡ??ޤ???
mbuf
?????????饹???ˤޤȤ????Ȥ??ˡ?
?ȥ??ߥå????????Ѥ? mbuf
?γ??ݤ˼??Ԥ??ޤ?????
- vr%d: chip is in D3 power state -- setting to D0
- ?ѥ?ޥ͡????????Ȥݡ??Ȥ??륢???ץ??ˤΤߡ????Υ??å????????Фޤ???
???ڥ졼?ƥ??????ƥ??????ˤϥ????åȥ????????˥????ȥ???????
?????ѥ?⡼?ɤˤ??????Τ????ꡢ???åפˤʤˤ??????????ꤹ??????
???ξ??֤???æ?Ф??ʤ????Фʤ??ʤ??ΤǤ?????PCI
BIOS ?????ˤϤ???æ?Ф?
???Ԥ??Ƥ??ޤ????Τ⤢???ޤ????????ȥ??????Ϥ???
D3 ???֤ˤʤ??????????֤?
??ȯ???Ƥ??ޤ??Τǡ??⤷ BIOS
???????λ??????ˤ??Ȥξ??֤??᤻?ʤ??ä??顢
???θ??????????????˼¹ԤǤ??ޤ?????
?ɥ饤?ФϤ??ξ??֤θ??Ф????????ץ???
D0 (?ե??ѥ) ???֤?
????Ȥ??ޤ??????????Ǥϡ??ɥ饤?Ф???????ư??????֤??᤹?????ˤ?
?Խ?ʬ???⤷???ޤ?????
?֡??Ȼ??ˤ??Υ??å???????ɽ?????졢?ɥ饤?Ф????ΥǥХ?????
?ͥåȥ?????ե??????Ȥ?????³?Ǥ??ʤ??????ϡ???????
1 ???????֡???
?????ơ??ǥХ?????Ŭ?ڤ????ꤵ????ɬ?פ??????ޤ???
¾?Υ??ڥ졼?ƥ??????ƥफ?饦???????֡??Ȥ????Ȥ??Τߤˡ????ξ??֤?
???????ޤ??? FreeBSD
?Υ֡??Ȥ??????äƥ????ƥ????åȥ????????硢?????ɤ???????
???ꤷ?Ƥ???ɬ?פ??????ޤ???
vr
?ǥХ????ɥ饤?Ф? FreeBSD
3.0 ?˽??????о줷?ޤ?????
vr
?ɥ饤?Ф?
Bill Paul ⟨wpaul@ctr.columbia.edu⟩
???ޤ?????
vr
?ɥ饤?Фϡ????????ˤϾ??ˡ?????
mbuf ?????????? longword ??????????
?Хåե??إ??ԡ????뤳?Ȥˤ??ꡢRhine
???åפ?˽?????ޤ???
?Хåե??????????????ʤ????硢
???åפ?Ϳ?????줿?Хåե????ɥ쥹???ݤ??Ƥ??ޤ???
?ְ??ä????????ɥ쥹????
DMA?Ϥ??Ƥ??ޤ??ޤ???
?Хåե??Υ??ԡ??ϥ????ƥ???ǽ???㲼?????ޤ??????Բ????Ǥ???
(Pentium II ?Τ褦??)
®???ޥ????Ǥϡ???ǽ?ؤαƶ??Ϥ??äȾ??ʤ??Ǥ??礦??