【摘要】:对于PCI桥设备的配置,与普通的PCI设备不同,需要单独考虑。主要原因是在PCI-PCI桥设备的配置空间中有几个字段,需要根据该总线的二级总线上的设备配置情况进行配置,这几个字段如下。这两个字段是该PCI桥设备的二级总线及更下级总线上所有PCI设备内存映射范围的并集,与IO Base和IO Limit含义类似,因此,要配置这两个字段,必须搜索本PCI总线及其下级总线的所有设备。Prefetch Memory Base和Prefetch Memory Limit字段。
对于PCI桥设备的配置,与普通的PCI设备不同,需要单独考虑。主要原因是在PCI-PCI桥设备的配置空间中有几个字段,需要根据该总线的二级总线上的设备配置情况进行配置,这几个字段如下。
(1)IO Base和IO Limit字段这两个字段应该是该PCI-PCI桥设备的二级总线及更下级总线上所有分配的IO端口范围的并集,因此,为了对这两个字段进行配置,需要遍历当前总线上的所有PCI设备,并计算它们的并集。
(2)Memory Base和Memory Limit字段。这两个字段是该PCI桥设备的二级总线及更下级总线上所有PCI设备内存映射范围的并集,与IO Base和IO Limit含义类似,因此,要配置这两个字段,必须搜索本PCI总线及其下级总线的所有设备。
(3)Prefetch Memory Base和Prefetch Memory Limit字段。这两个字段与上述四个字段含义类似,需要采用相同的方式进行配置。(www.xing528.com)
(4)Subordinate字段。这个字段描述了该PCI-PCI桥设备的所有下级总线中总线号最大的总线,因此,对于该字段的配置也需要搜索整个PCI树(以该PCI-PCI桥为根)。
在Hello China当前版本的实现中,对上述几个字段的配置,除了Subordinate字段,都推迟到设备初始化完成之后进行,而对于Subordinate字段,则在扫描总线的时候,就已经做了配置(参考PciScanBus函数的实现)。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。