Discussion:
MVME5500 Linux API for VME Interrupts
(too old to reply)
m***@draper.com
2005-01-31 16:19:33 UTC
Permalink
Hello,

At the application(user-level), is there a way of connecting a
user-defined C-function to a VME hardware interrupt under Linux?
Using a MVME5500 running Timesys Linux. I think that under VxWorks,
there was a API call intConnect(irq,fucntion pointer) that could called
from an application. Does Linux provide similar mechanism?

Looked at linux driver (vmeUniverse) source code files universe.c and
vme.c. The driver includes VME interrupt handler function that is
registered with kernel when driver is loaded and called for VME
interrupts. This driver handler function contains a EXPORT_SYMBOL
function pointer variable g_univVMEIntrHand which is called if
non-null.This function pointer is inialized to NULL.
Thought this function pointer could be referenced by user-level
application and if so could assign it address of my isr routine
Unable to compile my application when referencing this variable.
Any suggestions would be greatly appreciated!

Thanks!
Mike
hank_le
2005-11-22 16:59:03 UTC
Permalink
I think you need to use the fasync method in the driver to generate signals
to a userspace app. (search for linux asynchronous notification and you
should get some useful links -- otherwise buy "linux device drivers" 3rd
ed, by Corbert, Rubini, and Kroah-Hartman).

I've got a recent version of Gabriel Paubert's VME driver for 2.6 kernels,
which has a nice architecture to it. What version of the kernel are you
using?

Loading...