阅读:1256回复:2
关于初始化硬件的几点问题?
for(BusNumber=0; BusNumber < 4;BusNumber ++)
{ for(SlotNumber=0;SlotNumber < 32; SlotNumber ++) { BusDataLen=HalGetBusData(.......) if(BusDataLen == 0) /*The specified PCI bus does not exist*/ if(BusDataLen !=2 && pPciCfg->BaseClass==0x3 && (pPciCfg->Command&PCI_ENABLE_MEMORY_SPACE)) { for(BaseAddrIndex=0; BaseAddrIndex < PCI_TYPE0_ADDRESSES; BaseAddrIndex ++) {...... ....... } 问题1: 在上面的代码中for(BusNumber=0; BusNumber < 4;BusNumber ++)和 for(SlotNumber=0;SlotNumber < 32; SlotNumber ++)的循环条件是由什么定的,为什么BusNumber < 4和SlotNumber < 32? 问题2: if(BusDataLen !=2 && pPciCfg->BaseClass==0x3 && (pPciCfg->Command&PCI_ENABLE_MEMORY_SPACE)) 这里面的0x3和Command&PCI_ENABLE_MEMORY_SPACE是由什么定的? |
|
沙发#
发布于:2005-03-02 23:25
for(BusNumber=0; BusNumber < 4;BusNumber ++) 我记得有人问过了。。。 再说一次,, 问题1 PCI的总线号从0――3 对应的每总线的插槽号0――31 这个是系统决定的,,知道就可以了。 问题2: 有你的硬件特性决定,看你想干什么了。。。 |
|
|
板凳#
发布于:2005-03-02 23:27
也就是说,,系统上最多可以安排4族PCI总线,,
每组总线上最多可以有32个PCI插槽,,, 不过一般的没有用这么多的。。 |
|
|