August 27th, 2013 by
By Emmanuel Faure
EMEA Field Applications Engineer
Many customers face challenges finding a free interrupt request (IRQ) line to dedicate to a device that has to be managed in real-time under RTX.
Managing devices under RTX, requires use of interrupt lines in an exclusive way (no sharing with Windows).
To do so RTX supports two interrupt mechanisms: line-based interrupts and message-signaled interrupts (MSI)
Using the line-based mechanism requires you to free an IRQ to dedicate to the RTX device, whereas MSI eliminates this constraint.
Indeed, two trends make more and more difficult to free an IRQ on a system.
- the increasing number of devices on the machines that uses all the IRQ lines and
- the way that Windows interacts with the hardware on its most recent versions: ACPI is setup by default and the IRQs with no devices affected on them are taken by Windows via the ACPI at startup. As a consequence the IRQs are not free and can’t be dedicated to a RTX device.
Using an MSI-capable device drastically simplifies the interrupt configuration (it even eliminates it):
“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.”, as explained in the Windows development center http://msdn.microsoft.com/en-us/library/windows/hardware/ff548079(v=vs.85).aspx
However for devices that are not MSI-capable, there are several workarounds.
The first one is to check the BIOS. In most BIOSs, there is an option to reserve an IRQ or to disable PnP routing.
Another option is to disable ACPI. It can be done from most of BIOSs or by changing the HAL type from the Windows device manager.
The last solution consists in manually installing a device in the Windows device manager (for example, creating a COM port) and affecting an exclusive IRQ to this Windows device, followed by a restart.
This removes the ACPI management on the IRQ.
Then you can disable this device in the Windows device manager to free the IRQ that can now be affected to the RTX-dedicated device.
To avoid these workarounds and skip the step of interrupt level configuration, choose devices that are MSI-capable.