Configuring Interrupts and Resources
wRTOS supports three types of device interrupts:
- Line-based interrupt
- Message Signaled Interrupt (MSI)
- Message Signaled Interrupt - Extended (MSI-X)
When a device uses line-based interrupts, it must acquire an exclusive interrupt request resource (IRQ). An wRTOS controlled device cannot share an IRQ with a Windows device. The wRTOS plug-and-play driver requests IRQs and I/O port resources for wRTOS devices from the Windows plug and play manager. As an administrator, within the Windows Device Manager, you can specify which IRQ resource you would like to request for each device. You can choose to disable allocation of I/O ports, use line-based interrupts (IRQs), request assignment of a specific IRQ, and share the requested IRQ with other wRTOS devices through the wRTOS Properties page for a selected wRTOS PCI/PCIe device.
MSI/MSI-X capable devices (referred to hereafter as "MSI-capable devices") may or may not need an IRQ. It depends on whether the associated RTSS application is using line-based interrupts.
If your RTSS application(s) will attach to an MSI-capable device using message-based interrupts, no IRQ is required. If your application(s) will attach to an MSI-capable device using line-based interrupts, the device must have an IRQ.
Message-based interrupts are always available for MSI-capable devices and require no configuration. If you choose to also configure line-based interrupts for an MSI-capable device, it will be possible for some RTSS applications to attach to the device via line-based interrupts while others use message-based. You can choose to configure line-based interrupts through the wRTOS Properties page for a selected wRTOS PCI/PCIe device.
Finally, when converting a device to wRTOS, if the wRTOS PnP driver determines that a device is MSI-capable, the default behavior is to not acquire an IRQ to save line-based resources for other devices. You can override the default behavior using wRTOS Properties page on the device properties dialog.
Related topics:
- Converting a Windows device to wRTOS
- NIC driver function overview
- Using RAW sockets
- TCP/IP overview
- TCP/IP components
- Diagnosing configuration problems
- Tips, tricks and configurations hints
- wRTOS Virtual Network Adapter
- TCP/IP samples