|
|
发表于 2009-7-8 09:06:27
|
显示全部楼层
to dangdangtop:0 d2 G- V0 B+ a8 `7 H. S. |
PCI SCAN阶段通过组合BUS+DEV+FUN可以访问PCI bus上的所有device,然后根据这些device configuration space中的Header Type可以辨别该device是不是P2P bridge,然后就可以配置P2P bridge。
& I* Z- Y6 G5 P3 T如果你想在BIOS PCI SCAN之前访问该P2P bridge下面的device那么你就要先分配primary/secondary/subordinate bus number然后就可以访问P2P bridge下面的device了。% Y5 @; M. U2 Z8 q8 e
+ M1 K3 k# Y5 e! \3 ~0 |
bini的意思应该是在没有配置P2P bridge之前想访问就要先配置这些信息。
1 R; l, e; t v! h' U1 ]5 c+ F+ K0 z% X! w9 C
REFF:[我所知道的BIOS->PCISCAN]
3 {% M; {# l5 e- ^+ J0 X6 \[Practice]
* w N3 w+ N! {% t假設有一個 P2P bridge ,下面有一PCI device;現在必須要去 accessPCI device's Device ID/Vendor ID(that is, PCI config read). 4 {! {! l" c, C8 T6 s( W
5 E9 U! t( j- V$ h但是,問題是:做這事的"點"要在 PCI_SCAN之"前"....那要如何做到呢 ^_^ ?/ a# d5 H: T9 F0 ^1 k4 E
-----------------
S2 P9 }7 ]" bAns:假如要在很早前(Ex. PCI SCAN之前)去 access P2P bridge後面的 device,照理是做不到的,因為: P2P bridge沒有被正確的 configed...
f# P) W& N: S8 U0 g7 p% \* n- _* A) O; N" Y( h2 W% t3 B6 C3 h
在此例中,P2P bridge的 primary/secondary/subordinate bus要被 set,後面的device才能被 accessed到 !6 Q7 W* b9 @* k) |0 y1 O: _4 S
+ b" x& V- R$ V v! y6 C; S0 w; ^9 S. j
所以,假如要在 PCI SCAN前就 access,則BIOS必須手動去 set 此 3 bytes;然後,PCI config access才能被 forward to 其後的 PCI devices... |
|