2014-11-21 26 views
1

我對PCI和IRQS有一些疑問。IRQS如何獲得分配

如何將IRQ分配給連接到PCI總線的設備,在啓動時是由BIOS分配的,還是總線選擇它,或總線控制器自行選擇它自己負責選擇IRQS數字?

當設備連接到PCI總線時,設備是否可以填充PCI控制器配置寄存器中的IRQ字段?

Linux內核可以分配和更改連接設備的IRQS嗎?

怎麼樣設備控制器如USB控制器或SATA控制器我們如何可以分配一個IRQ控制器,因爲它有多個設備連接到它,以及如何多個設備連接到同一個控制器使用IRQS ?

Linux如何識別在機器運行時連接到機器的設備以及它們如何分配IRQ編號以及誰負責這些設備?

回答

1

PCI配置空間由Bios配置,這意味着Bios應該在引導時枚舉所有PCI設備。枚舉設備時,Bios會將IRQ行路由到IOAPIC輸入並設置BAR寄存器,然後,內核可以使用從pci配置空間讀取的相應irq編號來request_irq()。

+0

只需添加。 IRQ編號和BAR值是不穩定的......即它們可以隨着每個插入時間而改變。 +1 – RootPhoenix 2015-01-20 18:30:09