Enabling Message-Signaled Interrupts in the Registry

To receive message-signaled interrupts (MSIs), a driver's INF file must enable MSIs in the registry during installation. Use the Interrupt Management\MessageSignaledInterruptProperties subkey of the device's hardware key to enable MSI support.

The MSISupported entry of Interrupt Management\MessageSignaledInterruptProperties is a REG_DWORD value that determines whether the device supports MSIs. Set MSISupported to 1 to enable MSI support.

You can also use the registry to specify the maximum number of MSIs to allocate for their device. The MessageNumberLimit entry of Interrupt Management\MessageSignaledInterruptProperties is a REG_DWORD value that specifies the maximum number of MSIs to allocate. For PCI 2.2, MessageNumberLimit must be 1, 2, 4, 8, or 16. For PCI 3.0, MessageNumberLimit can be any number up to 2,048.

Use an INF AddReg Directive in your driver's INF file to set registry keys under the device's hardware key. For more information, see INF DDInstall.HW Section.

The following code example shows how to set the MSISupported entry under Interrupt Management\MessageSignaledInterruptProperties for the device. Note that you must first create the Interrupt Management and Interrupt Management\MessageSignaledInterruptProperties keys before you can set the MSISupported entry.


[mydevice.HW]
AddReg = mydevice_addreg

[mydevice_addreg]
HKR,Interrupt Management,,0x00000010
HKR,Interrupt Management\MessageSignaledInterruptProperties,,0x00000010
HKR,Interrupt Management\MessageSignaledInterruptProperties,MSISupported,0x00010001,1

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft