1

我对 PCI 和 IRQS 有一些疑问。

IRQ 是如何分配给连接到 PCI 总线的设备的,它是在引导时由 BIOS 分配的,还是总线选择它或总线控制器自动选择它,谁负责选择 IRQS 编号?

当设备连接到 PCI 总线时,设备可以填充 PCI 控制器配置寄存器中的 IRQ 字段吗?

Linux 内核可以分配和更改连接设备的 IRQS 吗?

像 USB 控制器或 SATA 控制器这样的设备控制器怎么样?我们如何将 IRQ 分配给控制器,因为它连接了多个设备,以及连接到同一个控制器的多个设备如何使用 IRQS?

Linux 如何识别在机器运行时连接到机器的设备,以及如何为它们分配 IRQ 编号以及谁负责?

4

1 回答 1

1

PCI 配置空间由 Bios 配置,这意味着 Bios 应该在引导时枚举所有 PCI 设备。枚举设备时,Bios 将一条 IRQ 线路由到 IOAPIC 输入并设置 BAR 寄存器,然后,内核可以使用从 pci 配置空间读取的适当 irq 号来 request_irq()。

于 2014-11-25T21:38:25.080 回答