|
发表于 2009-7-8 09:06:27
|
显示全部楼层
to dangdangtop:
" N( w6 I& ]& YPCI SCAN阶段通过组合BUS+DEV+FUN可以访问PCI bus上的所有device,然后根据这些device configuration space中的Header Type可以辨别该device是不是P2P bridge,然后就可以配置P2P bridge。( F1 l4 _! j- n
如果你想在BIOS PCI SCAN之前访问该P2P bridge下面的device那么你就要先分配primary/secondary/subordinate bus number然后就可以访问P2P bridge下面的device了。 v- y* J2 P$ x: |& N" g' c
4 {4 q: i4 D8 B1 `
bini的意思应该是在没有配置P2P bridge之前想访问就要先配置这些信息。
( \( @! w! @' u3 x) M6 {2 N l9 R) b8 x# X* x5 A; Q5 q
REFF:[我所知道的BIOS->PCISCAN]
. @7 q. \* F6 `% e, w7 T[Practice]
5 ]1 k; X& }" O" q! Y$ g, E假設有一個 P2P bridge ,下面有一PCI device;現在必須要去 accessPCI device's Device ID/Vendor ID(that is, PCI config read). : [2 J7 d5 D/ a& {7 |1 S! \" P
/ J! w9 C" `1 k2 t% b2 O' y$ r& @但是,問題是:做這事的"點"要在 PCI_SCAN之"前"....那要如何做到呢 ^_^ ?! b8 @2 X! u! ?: K5 h5 f
-----------------
: S3 e) Q7 t Z1 t" nAns:假如要在很早前(Ex. PCI SCAN之前)去 access P2P bridge後面的 device,照理是做不到的,因為: P2P bridge沒有被正確的 configed...1 d7 n6 q2 r% z. r, L1 i# x, R( o+ g
0 T/ G' Y$ i% K0 r: o2 N, B在此例中,P2P bridge的 primary/secondary/subordinate bus要被 set,後面的device才能被 accessed到 !5 F( ?6 K6 o3 ]! i8 f5 M
( ~4 A" E* R2 i; ^: q4 i! Z* l所以,假如要在 PCI SCAN前就 access,則BIOS必須手動去 set 此 3 bytes;然後,PCI config access才能被 forward to 其後的 PCI devices... |
|