|
|
发表于 2009-7-8 09:06:27
|
显示全部楼层
to dangdangtop:$ n$ e h" F8 ^3 w& e K
PCI SCAN阶段通过组合BUS+DEV+FUN可以访问PCI bus上的所有device,然后根据这些device configuration space中的Header Type可以辨别该device是不是P2P bridge,然后就可以配置P2P bridge。! |1 w9 a/ @ z
如果你想在BIOS PCI SCAN之前访问该P2P bridge下面的device那么你就要先分配primary/secondary/subordinate bus number然后就可以访问P2P bridge下面的device了。) h1 M6 D2 p+ m+ d8 h* B* o
a1 e( p, v% ^0 v& q( L3 ebini的意思应该是在没有配置P2P bridge之前想访问就要先配置这些信息。+ `. A" I' @) x5 J* |: H5 y2 ^
" [% f3 Y5 \- [3 M; n
REFF:[我所知道的BIOS->PCISCAN]" x0 ]: k$ g a) y6 h) \- C
[Practice] - `7 c; h) Z' @; Y
假設有一個 P2P bridge ,下面有一PCI device;現在必須要去 accessPCI device's Device ID/Vendor ID(that is, PCI config read). 9 r4 P% ?# d& l$ s
' _$ `& I8 C5 N. i- e7 X7 L
但是,問題是:做這事的"點"要在 PCI_SCAN之"前"....那要如何做到呢 ^_^ ?2 r' ^' B! M& d& }
-----------------
2 b5 H5 w5 t2 r+ A* z5 ~Ans:假如要在很早前(Ex. PCI SCAN之前)去 access P2P bridge後面的 device,照理是做不到的,因為: P2P bridge沒有被正確的 configed...
. z0 p: R+ u) z! l& P0 I" Y6 V' a5 r" ~" Z
在此例中,P2P bridge的 primary/secondary/subordinate bus要被 set,後面的device才能被 accessed到 !
8 F3 x; Z2 \& j+ [) k/ Q X \5 c9 w3 E2 r) \0 O3 X5 `" s5 l
所以,假如要在 PCI SCAN前就 access,則BIOS必須手動去 set 此 3 bytes;然後,PCI config access才能被 forward to 其後的 PCI devices... |
|