|
发表于 2009-7-8 09:06:27
|
显示全部楼层
to dangdangtop:/ N5 T4 h" y$ D k4 y5 ~" {
PCI SCAN阶段通过组合BUS+DEV+FUN可以访问PCI bus上的所有device,然后根据这些device configuration space中的Header Type可以辨别该device是不是P2P bridge,然后就可以配置P2P bridge。
0 k3 Y9 c! S- U7 m如果你想在BIOS PCI SCAN之前访问该P2P bridge下面的device那么你就要先分配primary/secondary/subordinate bus number然后就可以访问P2P bridge下面的device了。) [+ m& Q _0 d
3 Z3 `" {$ g0 v M8 _" u2 M* S
bini的意思应该是在没有配置P2P bridge之前想访问就要先配置这些信息。6 { W* `* K+ r% O" h
% s( C3 c7 b0 I1 K2 t
REFF:[我所知道的BIOS->PCISCAN]
+ o" q! k) a. e, v" A4 E. r4 g) J[Practice] 8 B9 s' d, D5 n. r
假設有一個 P2P bridge ,下面有一PCI device;現在必須要去 accessPCI device's Device ID/Vendor ID(that is, PCI config read).
+ `6 ~+ ]% k l- o$ d
& L: Z3 d# b' O/ l2 D7 @& \' a但是,問題是:做這事的"點"要在 PCI_SCAN之"前"....那要如何做到呢 ^_^ ?$ u( [( ]1 f8 p8 I
-----------------& d2 ]& [0 X. R/ j. z: \ C7 E, @, p$ X
Ans:假如要在很早前(Ex. PCI SCAN之前)去 access P2P bridge後面的 device,照理是做不到的,因為: P2P bridge沒有被正確的 configed...
7 V7 r* Q! V/ |3 b/ {) J
1 G: S' F/ g. N9 Z在此例中,P2P bridge的 primary/secondary/subordinate bus要被 set,後面的device才能被 accessed到 !
* p) E) f- f: I+ e3 z. {& c/ i
$ a _" P# s, F7 W* R: w所以,假如要在 PCI SCAN前就 access,則BIOS必須手動去 set 此 3 bytes;然後,PCI config access才能被 forward to 其後的 PCI devices... |
|