All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@domain.hid>
To: Jonathan Haws <Jonathan.Haws@domain.hid>
Cc: "xenomai@xenomai.org" <xenomai@xenomai.org>
Subject: Re: [Xenomai-help] Sharing Semaphores in Kernel and User Space
Date: Thu, 05 Nov 2009 09:51:53 +0100	[thread overview]
Message-ID: <4AF29229.2090205@domain.hid> (raw)
In-Reply-To: <BB99A6BA28709744BF22A68E6D7EB51F033103081D@midas.usurf.usu.edu>

[-- Attachment #1: Type: text/plain, Size: 1531 bytes --]

Jonathan Haws wrote:
>>> I am writing a driver that needs to wake up a user space thread on
>> a
>>> hardware interrupt.  I am reading about the Xenomai APIs
>> semaphores
>>> and want to know if I create a semaphore in my kernel module with
>> a
>>> given name using rt_sem_create, can I call rt_sem_bind in user
>> space
>>> to bind to that same semaphore?
>>>
>>> I am sure hoping the answer is yes!
>> The answer is yes, but...
>> this programming model is deprecated. You should be implementing a
>> driver using the RTDM API, as you would do with Linux.
> 
> The driver is a really dumb driver - all it really does is setup pointers to the PCI BARs and installs the interrupt.  I provide an mmap routine to map the BARs to user space so I can control the device from there.
> 
> Would this still be necessary to use the RTDM API?  I guess to install the interrupt, but there really is not anything else the driver does.

Abstraction is the primary job of a driver. Pushing things to user space
quickly blurs the boundaries and ends up in tricky to maintain blob on
the long term.

> 
> I was also reading the RTDM API and am confused about the rtdm_iomap_to_user() function - is that to be called from my user space application and it will then call the mmap routine that I have in place for my driver?

It's part of the function set that a driver can use, not an application.
This function will do all the work required to let some I/O memory show
up in the user space's memory range.

Jan


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 257 bytes --]

  reply	other threads:[~2009-11-05  8:51 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-04 23:19 [Xenomai-help] Sharing Semaphores in Kernel and User Space Jonathan Haws
2009-11-04 23:24 ` Gilles Chanteperdrix
2009-11-04 23:34   ` Jonathan Haws
2009-11-05  8:51     ` Jan Kiszka [this message]
2009-11-05 15:16       ` Jonathan Haws
2009-11-05 16:42         ` Gilles Chanteperdrix
2009-11-06  8:33         ` Jan Kiszka

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=4AF29229.2090205@domain.hid \
    --to=jan.kiszka@domain.hid \
    --cc=Jonathan.Haws@domain.hid \
    --cc=xenomai@xenomai.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 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.