Re: [問題] 關於pcie enumeration

看板LinuxDev作者 (C.L.R.S 四大天王)時間13年前 (2011/08/04 14:51), 編輯推噓2(204)
留言6則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《lixion (畜生)》之銘言: : 在pcie enumeration過程中, : 會嘗試用各種可能的bus num和device num組合去讀取device。 : 但是我覺得有一個奇怪的地方在於: : 如果device一開始不知道自己的bus num和device num, : 那pcie fabric怎麼知道要把root complex的某個read request路由給哪個device呢? : (例如剛開機時,在root complex內部要由上游bridge把read request傳給其中一個下游 : bridge,要傳給哪個下游bridge是怎麼決定的?) : 這邊查spec跟上網都找不到甚麼答案,希望有人可以幫小的解答。 : 謝謝囉! : (不知道在這邊發問對不對,但是找不太到其他版適合發問的) 一開始讀bus 0 dev 0 fn 0 讀到bridge 就會config 該bridge 為 0 0 0 , 接下來再用DFS方式讀下游device 或bridge 依你的問題來說, bridge會在DFS的時候被發現, 該bridge 的bus就會被設定number, 接著就是重複search 直到bus傳回0xffff代表沒有device或bridge為止 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 69.105.239.242

08/04 15:19, , 1F
喔喔~~我的問題在於說一開始讀0 0 0的時候,
08/04 15:19, 1F

08/04 15:20, , 2F
root complex的上游bridge怎麼知道是要讀哪個下游bridge呢?
08/04 15:20, 2F

08/04 15:21, , 3F
或是說:下游bridges怎麼知道自已要不要回應這個讀取要求呢?
08/04 15:21, 3F

08/04 15:22, , 4F
因為root complex內部是採multi-drop bus,
08/04 15:22, 4F

08/04 15:23, , 5F
所以應該要有個機制去選擇下游bridge之類的。
08/04 15:23, 5F

01/19 18:12, , 6F
例如bus1 接了個bridge。掃到slot0時就認到了。
01/19 18:12, 6F
文章代碼(AID): #1EEa5ltX (LinuxDev)
討論串 (同標題文章)
文章代碼(AID): #1EEa5ltX (LinuxDev)