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

Linux 核心--7.PCI設(shè)備( 六 )



使當前全局PCI I/O和內(nèi)存的基址在4K , 邊界在1M上對齊 。

對于當前總線上的每個設(shè)備(按照PCI I/O內(nèi)存需要的升序排列)
在PCI I/O和PCI內(nèi)存中為其分配空間

為全局PCI I/O和內(nèi)存基址同時加上一個適當值

授予設(shè)備對PCI I/O和PCI內(nèi)存的使用權(quán)



為對于當前總線下方的所有總線循環(huán)分配空間 。注意這將改變?nèi)諴CI I/O和內(nèi)存基址 。

使當前全局PCI I/O和內(nèi)存的基址和邊界分別在4K和1M對齊 , 以便確定當前PCI-PCI橋接器所需的PCI I/O和PCI內(nèi)存基址及大小 。

對此PCI-PCI橋接器編程 , 將其PCI I/O和PCI內(nèi)存基址及界限連接到總線上 。

打開PCI-PCI橋接器上的PCI I/O和PCI內(nèi)存訪問橋接功能 。這時在此橋接器主干PCI總線上位于此橋接器PCI I/O和PCI內(nèi)存地址窗口中的任何PCI I/O或者PCI內(nèi)存地址將被橋接到二級PCI總線上 。
以圖6.1中的PCI系統(tǒng)為例 , PCI補丁代碼將以如下方式設(shè)置系統(tǒng):


對齊PCI基址
PCI I/O基址為0x4000而PCI內(nèi)存基址為0x100000 。這樣允許PCI-ISA橋接器將此地址以下的地址轉(zhuǎn)換成ISA地址循環(huán) 。
視頻設(shè)備
我們按照它的請求從當前PCI內(nèi)存基址開始分配0x200000字節(jié)給它 , 這樣可以在邊界上對齊 。PCI內(nèi)存基址被移到0x400000同時PCI I/O基址保持在0x4000 。
PCI-PCI 橋接器
現(xiàn)在我們將穿過PCI-PCI橋接器來分配PCI內(nèi)存 , 注意此時我們無需對齊這些基址 , 因為它們已經(jīng)自然對齊 。
以太網(wǎng)設(shè)備
它需要0xB0字節(jié)的PCI I/O和PCI內(nèi)存空間 。這些空間從PCI I/O地址0x4000和PCI內(nèi)存地址 0x400000處開始 。PCI內(nèi)存基址被移動到0x4000B0同時PCI I/O基址移動到0x40B0 。
SCSI 設(shè)備
它需要0x1000字節(jié)PCI內(nèi)存 , 所以它將在自然對齊后從從0x401000處開始分配空間 。PCI I/O基址仍然在0x40B0而PCI內(nèi)存基址被移動到0x402000 。
PCI-PCI 橋接器的PCI I/O和內(nèi)存窗口
現(xiàn)在我們重新回到橋接器并將其PCI I/O窗口設(shè)置成0x4000和0x40B0之間, 同時其PCI內(nèi)存窗口被設(shè)置到0x400000和0x402000之間 。這樣此PCI-PCI橋接器將忽略對視頻設(shè)備的PCI內(nèi)存訪問但傳遞對以太網(wǎng)設(shè)備或者SCSI設(shè)備的訪問 。

推薦閱讀