All of lore.kernel.org
 help / color / mirror / Atom feed
* INTR-REMAP error with UDD driver
@ 2019-03-08  1:35 Jeff Webb
  2019-03-08  7:14 ` Jan Kiszka
  0 siblings, 1 reply; 17+ messages in thread
From: Jeff Webb @ 2019-03-08  1:35 UTC (permalink / raw)
  To: xenomai@xenomai.org

I have implemented a simple UDD mini-driver (interrupt handler) and an associated Xenomai userspace test program.  This pair of programs works as intended on one machine.  When I tried running the same programs on another machine, I got this error when the first interrupt occurred:

kernel: [   75.122305] DMAR: DRHD: handling fault status reg 2
kernel: [   75.123175] DMAR: [INTR-REMAP] Request device [f0:1f.0] fault index ee00 [fault reason 37] Blocked a compatibility format interrupt request

I would guess that the [f0:1f.0] in the message is a PCI bus address, but I don't see this via lspci.  The closest match is:

00:1f.0 ISA bridge [0601]: Intel Corporation Q67 Express Chipset LPC Controller [8086:1c4e] (rev 05)

After the first attempt, I see no more of these messages until I reboot, but the UDD driver never receives an interrupt in any case.

I tried moving my PCI card to five different slots, and finally found one where everything work properly on the second machine.  I can at continue to make progress using the working slot, but I would really like to resolve the issue with the other slots.  Does anyone have any idea what to try next?

I am using these sources:

linux-4.14.89.tar
ipipe-core-4.14.89-x86-2.patch
xenomai-3.0.8.tar

I have attached the boot log, config, and cpu information.

Thanks,

-Jeff Webb
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: cpuinfo.txt
URL: <http://xenomai.org/pipermail/xenomai/attachments/20190308/b0ab681a/attachment.txt>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: boot.log
Type: text/x-log
Size: 62797 bytes
Desc: not available
URL: <http://xenomai.org/pipermail/xenomai/attachments/20190308/b0ab681a/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: config-4.14.89-xenomai-3.0.8
Type: application/x-troff-man
Size: 213256 bytes
Desc: not available
URL: <http://xenomai.org/pipermail/xenomai/attachments/20190308/b0ab681a/attachment.man>

^ permalink raw reply	[flat|nested] 17+ messages in thread
* RE: INTR-REMAP error with UDD driver
@ 2019-11-14  5:05 Jeff Webb
  2019-11-14  7:35 ` Per Oberg
  2019-11-14  7:50 ` Jan Kiszka
  0 siblings, 2 replies; 17+ messages in thread
From: Jeff Webb @ 2019-11-14  5:05 UTC (permalink / raw)
  To: xenomai@xenomai.org, pero@wolfram.com

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.

Thanks in advance for any input you can provide,

-Jeff Webb



^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2019-11-26 17:25 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-03-08  1:35 INTR-REMAP error with UDD driver Jeff Webb
2019-03-08  7:14 ` Jan Kiszka
2019-03-08 14:07   ` Jeff Webb
2019-03-08 15:00     ` Jan Kiszka
2019-03-09  0:09       ` Jeff Webb
2019-03-28 17:10     ` Jim Elliott
2019-03-28 19:15       ` Per Oberg
  -- strict thread matches above, loose matches on Subject: below --
2019-11-14  5:05 Jeff Webb
2019-11-14  7:35 ` Per Oberg
2019-11-14  7:50 ` Jan Kiszka
2019-11-14 13:16   ` Jeff Webb
2019-11-14 21:41     ` Jan Kiszka
2019-11-15  0:16       ` Jeff Webb
2019-11-15 13:07         ` Jan Kiszka
2019-11-15 23:06           ` Jeff Webb
2019-11-16 18:51             ` Jan Kiszka
2019-11-26 17:25               ` Jeff Webb

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.