Check out my first novel, midnight's simulacra!
MSI: Difference between revisions
From dankwiki
(Created page with "Message-signaled interrupts were introduced in PCI 2.2, and are present in all versions of PCIe. Rather than a distinct physical hardware line for interrupt delivery, MSIs are in-band. This cuts down on interconnect complexity, allows for multiple distinct interrupts per device (up to 32, though Windows supports only 16), and eliminates a performance hit previously necessary for DMA coherency. MSI-X, introduced in PCIe 3.0, allows up to 2048 interrupt numbers per device...") |
No edit summary |
||
Line 3: | Line 3: | ||
MSI-X, introduced in PCIe 3.0, allows up to 2048 interrupt numbers per device. | MSI-X, introduced in PCIe 3.0, allows up to 2048 interrupt numbers per device. | ||
MSI requires per-package LAPICs to be present and enabled, but eliminates the need for per-bus I/O APICs. Intel's current LAPIC implementation, the x2APIC, can address 32-bit processor IDs and is set up using [[MSR|MSRs]]. | MSI requires per-package [[APIC|LAPICs]] to be present and enabled, but eliminates the need for per-bus I/O APICs. Intel's current LAPIC implementation, the x2APIC, can address 32-bit processor IDs and is set up using [[MSR|MSRs]]. |
Latest revision as of 03:41, 19 February 2023
Message-signaled interrupts were introduced in PCI 2.2, and are present in all versions of PCIe. Rather than a distinct physical hardware line for interrupt delivery, MSIs are in-band. This cuts down on interconnect complexity, allows for multiple distinct interrupts per device (up to 32, though Windows supports only 16), and eliminates a performance hit previously necessary for DMA coherency.
MSI-X, introduced in PCIe 3.0, allows up to 2048 interrupt numbers per device.
MSI requires per-package LAPICs to be present and enabled, but eliminates the need for per-bus I/O APICs. Intel's current LAPIC implementation, the x2APIC, can address 32-bit processor IDs and is set up using MSRs.