All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
To: Jan-Erik Lange <jan0385@domain.hid>
Cc: xenomai@xenomai.org
Subject: Re: [Xenomai-core] FW:  Question about context switching
Date: Thu, 12 Jan 2012 20:42:18 +0100	[thread overview]
Message-ID: <4F0F379A.5030604@domain.hid> (raw)
In-Reply-To: <BLU166-W26172D3A52D00FCD9AA3C8C49F0@domain.hid>

On 01/12/2012 02:36 PM, Jan-Erik Lange wrote:
> 
> 
> 
> 
> 
> 
>> Date: Wed, 11 Jan 2012 20:03:25 +0100 From:
>> gilles.chanteperdrix@xenomai.org To: jan0385@domain.hid CC:
>> xenomai@xenomai.org Subject: Re: [Xenomai-core] Question about
>> context switching
>> 
>> On 01/11/2012 07:12 PM, Jan-Erik Lange wrote:
>>> 
>>> Hello,
>>> 
>>> I have a question about the context switching:
>>> 
>>> Unless that there a rtdm_copy_to_user() available in the rtdm
>>> API. Would cause the function copy_to_user() in an xenomai kernel
>>> based rt task a switch into the secondary domain? Because
>>> copy_to_user() not actually a syscall right?
>> 
>> Absolutely no function in kernel-space causes an automatic switch
>> to secondary mode. As Philippe answered to the very first mail you
>> posted to this list, the only events which cause a switch to
>> secondary mode are:
>> 
>> - invoking a regular linux syscall - receiving a linux signal (e.g.
>> kill(2) and GDB) - causing a CPU trap (e.g. invalid memory access),
>> hitting a breakpoint (e.g. GDB)
>> 
>> All these events only happen for threads in user-space.
> 
> Sorry I'm new in Xenomai.
> 
> But is it generaly possible that the xenomai kernel-space task can
> interact with a common Linux task over this way? I mean is it
> possible to get data with the standard copy_to_user()-function from
> the Xenomai kernel-space into the Linux user space? Aren't the adress
> spaces strictly seperated and you have to need the rt-pipe service to
> interact between the xenomai kernel space and the linux userspace?

drivers should use rtdm_copy_to_user. As most linux kernel services,
copy_to_user/copy_from_user may not be safe to be used in primary mode
(depending on the architecture). A xenomai kernel-space task has no
user-space mapping, so it has no reason to use these services.

Whether the address space are strictly separated depend on the
architecture and implementation of linux on that archietcture. On some
architectures (think uclinux for instance), the user-space/kernel-space
division is simply the division between the addresses below 0xC0000000
and the adresses above.

-- 
					    Gilles.


      reply	other threads:[~2012-01-12 19:42 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-11 18:12 [Xenomai-core] Question about context switching Jan-Erik Lange
2012-01-11 19:03 ` Gilles Chanteperdrix
     [not found]   ` <BLU166-W11229BDE02887632739145C49E0@domain.hid>
2012-01-12 13:36     ` [Xenomai-core] FW: " Jan-Erik Lange
2012-01-12 19:42       ` Gilles Chanteperdrix [this message]

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=4F0F379A.5030604@domain.hid \
    --to=gilles.chanteperdrix@xenomai.org \
    --cc=jan0385@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.