我对PCI和IRQS有一些疑问。
如何将IRQ分配给连接到PCI总线的设备,它是否在启动时由BIOS分配,或者总线选择它还是总线控制器自动选择它自己负责选择IRQS号码?
当设备连接到PCI总线时,设备是否可以填充PCI控制器配置寄存器中的IRQ字段?
Linux内核可以分配和更改已连接设备的IRQS吗?
USB控制器或SATA控制器之类的设备控制器如何将IRQ分配给控制器,因为它有多个连接到它的设备,以及这样的多个设备如何连接到同一控制器使用IRQS?
Linux如何识别在机器运行时连接到机器的设备以及如何为它们分配IRQ编号以及谁对此负责?
答案 0 :(得分:1)
PCI配置空间由Bios配置,这意味着Bios应该在启动时枚举所有PCI设备。枚举器件时,Bios将IRQ线路连接到IOAPIC输入并设置BAR寄存器,然后,内核可以使用从pci配置空间读取的相应irq号来request_irq()。