‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Thursday, November 14, 2019 1:50 AM, Jan Kiszka <[email protected]> wrote: > On 14.11.19 06:05, Jeff Webb via Xenomai wrote: > > I would like to revive this thread from several months ago: > > https://xenomai.org/pipermail/xenomai/2019-March/040498.html > > The issue is that on some hardware (a specific rack-mount PC with a PICMG > > daughtercard on a backplane containing PCI and PCIe slots) I get an > > INTR-REMAP error when trying to receive legacy (not MSI) interrupts from a > > custom FPGA-based PCI card using a UDD driver. The card did work properly > > in one out of the five PCI slots on that machine, but UDD interrupts did > > not work in the other four slots. > > Please review the original thread for more details about the specific error. > > Here are a few more tidbits I have gathered: > > > > - The UDD driver / userspace code works fine on the other hardware > > > > - The UDD driver / userspace code works fine in one PCI slot out of five > > on this hardware. > > > > - With another backplane model, but same processor card, the problem > > occurs in all four of the PCI slots. > > > > - An almost identical pure-linux UIO version of the driver / userspace > > code works in all the cases I tested, even when the UDD version fails, and > > even with the same xenomai-patched kernel used for UDD testing. > > > > > > In one of the previous posts in this thread a few months ago, Per Öberg > > mentioned experiencing something similar. Based on the information that was > > shared, I tried my code with linux version 4.9.38, but it still failed. > > This prompted me to try other linux / ipipe / xenomai combinations. These > > are my findings: > > Interrupts work: > > xenomai-2.6.5 ipipe-core-3.18.20-x86-7.patch (2016-07-05) > > xenomai-3.0.9+ ipipe-core-3.18.20-x86-7.patch (2016-07-05) > > xenomai-3.0.9+ ipipe-core-4.1.18-x86-9.patch (2017-05-25) > > INTR-REMAP error: > > xenomai-3.0.9+ ipipe-core-4.4.43-x86-6.patch (2017-02-25) > > xenomai-3.0.9+ ipipe-core-4.4.43-x86-7.patch (2017-05-25) > > xenomai-3.0.9+ ipipe-core-4.4.43-x86-8.patch (2017-06-14) > > xenomai-3.1-rc3 ipipe-core-4.4.196-cip38-x86-19.patch (2019-11-04) > > xenomai-3.0.9+ ipipe-core-4.9.38-x86-4.patch (2017-10-03) > > xenomai-3.0.9 ipipe-core-4.14.132-x86-6.patch (2019-07-03) > > The Xenomai 2.6.5 version of course does not use UDD, but uses the old > > pthread_intr_* userspace functions. > > Hopefully this additional information can shed a little light on the matter. > > This sounds like some RT interrupt enabling issue related to the IOAPIC > in the x86 I-pipe patch. Please also test 4.19.
Ok, I will do this. > Are you using UDD_IRQ_CUSTOM or do you leave the interrupt registration > to the UDD core? I just tell UDD the IRQ number and let it register the interrupt. > And please share your kernel config. I attached one to my original post earlier this year -- you should be able to download it from the link in the mailing list archive. Let me know if you need something different. I started with the standard Ubuntu desktop kernel config and tweaked options from there, so there is a lot of stuff enabled, obviously. > BTW, interrupt remapping issues can be worked around by disabling the > interrupt remapping feature (e.g. "intremap=off"). But that does not > solve the unterlying issue, of course. I can't remember if I tried this or not. I will give it a go. Obviously, it would be good to get this fixed in the patch, though. Thank you (and Per Öberg) for your help. -Jeff
