日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

60 FreeBSD連載:缺省內(nèi)核配置選項( 三 )


由于只有586以上的芯片才支持SMP,因此這需要在cpu行的設(shè)置中刪除386和486行的設(shè)置,明確指定處理器的類型 。否則就會發(fā)生邏輯沖突 。
controller isa0controller eisa0controller pci0這三行定義了三種控制器的基本支持代碼:ISA、EISA和PCI總線控制器 。
ISA總線類型是個人計算機(jī)的標(biāo)準(zhǔn)配置,很多驅(qū)動程序代碼都基于ISA控制器的代碼,因此系統(tǒng)必須對ISA總線進(jìn)行支持 。EISA總線類型是ISA的擴(kuò)展,使用在一些較老型號的服務(wù)器中,今天已經(jīng)逐漸被PCI總線代替,它是可選的 。PCI選項支持PCI總線設(shè)備的通用代碼,當(dāng)前PCI總線主板是個人計算機(jī)的主流,這個選項也是必須的 。
如果用戶的計算機(jī)不存在EISA總線,可以刪除對EISA選項的支持 。但是,由于后面設(shè)置的一些設(shè)備是EISA總線類型的設(shè)備,依賴這個選項的支持,必須同時也必須刪除所有的EISA總線類型的設(shè)備,否則就存在邏輯錯誤 。配置程序并不會自動刪除那些并不存在的設(shè)備選項,這樣就導(dǎo)致直到編譯時才會發(fā)現(xiàn)EISA總線設(shè)備的驅(qū)動程序發(fā)生編譯錯誤,編譯不能正常完成 。
controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2diskfd0 at fdc0 drive 0diskfd1 at fdc0 drive 1控制器fdc0是支持標(biāo)準(zhǔn)軟盤控制器的基本代碼,一般個人計算機(jī)能支持兩個軟盤驅(qū)動器,fd0和fd1設(shè)備 。通過drive參數(shù)的值可以指定這兩個軟盤的順序 。fdc0使用的資源是個人計算機(jī)缺省設(shè)置,因此不存在系統(tǒng)探測問題 。此外,雖然讓內(nèi)核自動探測軟盤的數(shù)量沒什么壞處,但刪除不必要的選項可以略微加快系統(tǒng)啟動的速度
options"CMD640" # work around CMD640 chip deficIEncycontroller wdc0 at isa? port "IO_WD1" bio irq 14#controller wdc0 at isa? port "IO_WD1" bio irq 14 flags 0x00ff8004diskwd0 at wdc0 drive 0diskwd1 at wdc0 drive 1controller wdc1 at isa? port "IO_WD2" bio irq 15diskwd2 at wdc1 drive 0diskwd3 at wdc1 drive 1optionsATAPI#Enable ATAPI support for IDE busoptionsATAPI_STATIC #Don"t do it as an LKMdeviceacd0#IDE CD-ROMdevicewfd0#IDE Floppy (e.g. LS-120)前面的這些選項是用于支持IDE驅(qū)動器及硬盤的配置,事實上這些設(shè)置不但支持IDE驅(qū)動器,還支持一些較老的ST506或ESDI界面的硬盤設(shè)備,雖然那些硬盤設(shè)備已經(jīng)淘汰,沒有人再使用它們了 。
"CMD640"用于修正使用CMD640控制芯片的系統(tǒng)主板的問題,wdc0是第一個IDE接口控制器,wdc1為第二個IDE控制器,一個個人計算機(jī)系統(tǒng)中只能存在兩個標(biāo)準(zhǔn)IDE控制器,并且一個IDE驅(qū)動器能帶兩個硬盤設(shè)備,因此wdc0上能連接兩個硬盤wd0和wd1,wdc1能連接wd2和wd3 。其中wd0和wd2為主硬盤,wd1和wd3為從硬盤 。當(dāng)然可以通過指定磁盤的參數(shù)at和drive參數(shù)的設(shè)置,改變硬盤號的順序 。
由于IDE經(jīng)過了一個長期的發(fā)展,控制器是由不同的制造廠商制造的,因此在一些細(xì)微的方面也存在有差異,主要是新的控制器能夠支持更強(qiáng)的傳輸模式,當(dāng)然它也支持原有的兼容模式 。為這些細(xì)小的差異沒有必要重寫驅(qū)動程序,只需要更改配置行中的參數(shù)設(shè)置,就能支持某些IDE控制器的高級功能 。
每個控制器都有長32位的flags標(biāo)志位,用于定義IDE硬盤的I/O類型,其中前16位定義drive 1的標(biāo)志,后16位定義drive 0的標(biāo)志 。例如wdc0的標(biāo)志為0x00ff8004,表示定義了wd0的標(biāo)志為0x8004,使用32位I/O每次傳送4個扇區(qū),而wd1設(shè)置為0x00ff,不探測32位傳輸而使用兼容模式 。這個標(biāo)志也可以分割為兩個16位的部分,也在每個磁盤設(shè)備的標(biāo)志中定義 。
IDE控制器中還支持光盤驅(qū)動器,首先需要ATAPI提供IDE界面使用的ATAPI類型光驅(qū)基本代碼,ATAPI_STATIC這一選項使ATAPI代碼直接編譯到內(nèi)核文件中,而不編譯為可加載模塊 。而acd0就為IDE光驅(qū)的驅(qū)動程序 。由于光驅(qū)就是連接在IDE控制器上,因此IDE接口的光驅(qū)還需要相應(yīng)IDE驅(qū)動器的支持,例如光驅(qū)接在第二個IDE控制器上,則必須增加wdc1控制器選項 。如果光驅(qū)上的主/從(master/slave)跳線不正確,就不能正確偵知IDE光驅(qū),很多IDE光驅(qū)出廠設(shè)置位從設(shè)備,在該IDE總線上沒有其他設(shè)備的情況下,應(yīng)該將光驅(qū)跳為主設(shè)備 。

推薦閱讀