From: Dan Kegel <dank@kegel.com>
To: Juergen Oberhofer <e9826367@student.tuwien.ac.at>
Cc: Jaap-Jan Boor <jjboor@aimsys.nl>, linuxppc-embedded@lists.linuxppc.org
Subject: Re: mpc / linux kernel - user space
Date: Thu, 27 Nov 2003 11:28:39 -0800 [thread overview]
Message-ID: <3FC65067.4060900@kegel.com> (raw)
In-Reply-To: <Pine.GHP.4.58.0311271903490.4360@stud3.tuwien.ac.at>
Juergen Oberhofer wrote:
>>>My problem is that the module / the interrupt handling function should
>>>execute a procedure defined in the application program. How can I pass
>>>a pointer (which points to that function) from the appl.program to the
>>>module, such that the handler can execute this function every x
>>>milliseconds? I thought to create a procedure in the module that
>>>accepts
>>>a function pointer as argument. But how can I achieve, that this module
>>>procedure is visible to the application program?
>>> ...
>> That's normally not something you do and I don't know if it's possible.
>> Application code normally communicates with your driver code using
>> system
>> calls (read/write). So either your appl procedure must be part
>> of your module, or you must signal e.g. a user thread the timer
>> interrupt happened, so the thread can execute that code.
>
> Thank you! You mean that the application should install a signal handler
> and the module sends on every interrupt a signal to the application process.
Although you could do it that way, it might be better to use
a unix domain or a netlink socket, and have the kernel module
send a message which the user program reads via the 'read' system call.
For what it's worth, netlink sockets turn out to be pretty
easy to use. See http://www.cs.auc.dk/~fleury/netkeeper/
for one example. Most of the complexity in programs that use
netlink are because they're trying to communicate routing
information. If you just want to send your own messages,
create the netlink socket with type NETLINK_USERSOCK and
don't worry about the fancy stuff.
- Dan
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
next prev parent reply other threads:[~2003-11-27 19:28 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-11-27 16:07 mpc / linux kernel - user space Juergen Oberhofer
2003-11-27 17:38 ` Jaap-Jan Boor
2003-11-27 18:08 ` Juergen Oberhofer
2003-11-27 19:28 ` Dan Kegel [this message]
2003-11-28 4:30 ` How to change /proc to the writable directory John Zhou
2003-11-28 8:12 ` Wolfgang Denk
2003-11-28 9:16 ` mpc / linux kernel - user space Jaap-Jan Boor
2003-11-28 15:42 ` Dan Malek
2003-12-01 8:18 ` Jaap-Jan Boor
2003-12-01 12:51 ` Peripherals Memory Mapping Kevin A. Sapp
2003-12-14 15:28 ` Paul Miller
2003-12-01 13:47 ` mpc / linux kernel - user space Juergen Oberhofer
2003-11-28 5:34 ` Sampath Kumar
2003-11-28 8:14 ` Wolfgang Denk
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3FC65067.4060900@kegel.com \
--to=dank@kegel.com \
--cc=e9826367@student.tuwien.ac.at \
--cc=jjboor@aimsys.nl \
--cc=linuxppc-embedded@lists.linuxppc.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).