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.