Question regarding Interrupt "delivery" to user mode process

Caruso, Nick ncaruso at irobot.com
Sat Mar 26 03:58:14 EST 2005


Note that "delivery" is in quotes - I don't mean to actually deliver an
interrupt, but rather to wake the process when the interrupt occurs.

This is a broad question, but I'm hoping someone out there with real
experience in this area can comment on a design idea we're kicking
around.
If there's a better mailing list for asking this type of question,
please tell me!

We are building a device with an MPC5200 processor which needs to detect
incoming pulses at a 13 mSec rate.  We've got this incoming pulse wired
to an IRQ on the MPC5200 and we now need a method for detecting these
interrupts in a user mode process.

The design we're contemplating is a small character device driver in the
kernel that will allow a user mode process to perform a blocking read on
a file descriptor, and return from the read call whenever an interrupt
occurs.  

We're not concerned (for the moment) with missing interrupts - we think
we can service them fast enough (we just need to record a
chronometer-type timestamp for some other incoming (serial) data).

Does this sound like a workable approach?  Does anyone know of a better
way?  My implementation plan is to derive something from the 3rd edition
Linux Device Drivers book "scull-pipe" device driver.

Any comments or suggestions would be greatly appreciated.

    thanks and best regards,
       Nick Caruso



More information about the Linuxppc-embedded mailing list