
For PCI 3.0, a device can support up to 2,048 different messages. Unlike for PCI 2.2, the device does not modify the value. Each different message has its own unique address. Therefore, for PCI 2.2, devices can support up to 16 messages.įor PCI 3.0, a message consists of an address and an opaque 32-bit value. To send multiple messages, the device can use the lower 4 bits of the message value to distinguish messages. Each device is assigned a single address. The device sends a message but does not receive any hardware acknowledgment that the interrupt was received.įor PCI 2.2, a message consists of an address and a partially opaque 16-bit value. Unlike line-based interrupts, message-signaled interrupts have edge semantics. For such a device, the operating system will automatically use MSI-X.Īn interrupt message is a particular value that a device writes to a particular address to trigger an interrupt. A single device can support both MSI and MSI-X. Windows Vista and later versions of Windows support MSI and MSI-X. PCI 3.0 defines an extended form of MSI, called MSI-X, that enables greater programmability.

Instead of using a dedicated pin to trigger interrupts, devices that use MSIs trigger an interrupt by writing a value to a particular memory address.

Message-signaled interrupts (MSIs) were introduced in the PCI 2.2 specification as an alternative to line-based interrupts.
