- 论坛徽章:
- 0
|
PCI设备的IRQ是由BIOS分配的。如果是板载的PCI设备,那么BIOS就知道相关的信息比较容易分配。
问题是如果是一个外置的设备(网卡等)怎么分配呢?
我们以一个板上有4个SLOT为例,在PIC模式下,有一个PCI IRQ ROUTER是和PIC连在一起,而SLOT是和ROUTER连在一起的,如果一块网卡插到了SLOT1里面,并且该网卡的INTA#PIN脚有效,假设该SLOT得INTA#是连接在ROUTER的LINKA上面,而LINKA最终是和IRQ9连接的,这样我们就知道了BIOS分配给该网卡的IRQ为9.问题是我们是知道该网卡插在SLOT1上面,那么BIOS是怎么知道SLOT1上面有网卡插在上面,假设如果有多个SLOT都插了不同的网卡,那么BIOS又是如何区分这些网卡?
我个人的理解是:应该能从硬件的电路上知道哪个SLOT上有设备插上去。然后BIOS也知道该SLOT的BDF(BIOS能知道吗?),然后就可以通过该BDF来获得相应的网卡的信息(如PIN),同时BIOS也知道该BDF的INTA#,INTB#,INTC#,INTD#连接到ROUTER的哪个link上面,这样就可以获得IRQ了?
不知道我的理解有没有问题,希望知道的人来给指点下 |
|