apic(高级可编程中断控制器)中的矢量编号是谁以及如何生成的?

时间:2017-10-04 18:07:39

标签: x86 64-bit interrupt apic

Apic用于为处理器提供中断。那么io设备如何使用它来产生中断,谁生成矢量号以选择合适的中断处理程序以及如何区分io设备?

1 个答案:

答案 0 :(得分:2)

当前系统中的I / O设备以两种方式之一生成中断:中断消息或PCI中断。 PCI中断向I / O APIC发送信号,将其转换为中断消息。无论哪种方式,中断作为中断消息进入APIC。向量编号是消息的一部分。 OS将中断消息编程到I / O APIC或I / O设备中断消息表中。

APIC不区分I / O设备。中断消息告诉它向量号和消息应该传递到哪个处理器,但不是消息来自哪个设备。

您可以在软件开发人员手册的APIC章节中看到中断消息格式。

涉及IOMMU,中断重映射和发布中断的复杂性要高得多,我不打算进入这里。