All of lore.kernel.org
 help / color / mirror / Atom feed
From: Philippe Gerum <rpm@xenomai.org>
To: Cedric Herreman <glocker50@domain.hid>
Cc: xenomai-help <xenomai@xenomai.org>
Subject: Re: [Xenomai-help] 2.6 kernel module with math functions
Date: Fri, 25 Nov 2005 10:39:29 +0100	[thread overview]
Message-ID: <4386DBD1.90605@domain.hid> (raw)
In-Reply-To: <20051125093348.40193.qmail@domain.hid>

Cedric Herreman wrote:
> OK,
> 
> I made an extra math module, copying some of the source code from newlib 
> for the functions i needed. It works.
> 
> Another question : if i create an application (in stead of kernel 
> module) that starts a real time thread. Can i then use math functions 
> inside the real time running part ?
> 
> In the latency example, the sqrt function is used for displaying the 
> results of the latency test.  This is outside the real time task. Is it 
> possible to use this call in the real time function ? Or any other 
> library function (that is not performing system calls) ?
>

Yes. RT threads in user-space have their own FPU context managed by Xenomai.

> Cedric.
> 
> */Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>/* wrote:
> 
>     Cedric Herreman wrote:
>      > Hello,
>      >
>      > I am porting a 2.4 RTAI kernel module to Xenomai 2.0 kernel 2.6.
>     I used some basic math functions in the original module. This is
>     posing problems for me now.
>      >
>      > In the module source i include . I add -I/usr/include to the
>     compiler flags and also "-ffast-math -mhard-float".
>      >
>      > If i compile this, i get warnings about double definitions of
>     "__attribute_pure__" and "__attribute_used__".
>      >
>      > If i insert the kernel module, i get an error message :
>      > "Xenomai: Invalid use of FPU in Xenomai context at " + probably
>     the address of the instruction where the math function is called.
>      >
>      > Can anyone give me a hint ? Thanks.
> 
>     You can only use floating point operations from real-time threads
>     contexts, not from module initialization and finalization routines, and
>     you have to signal Xenomai, when creating kernel space real-time
>     threads, that the thread will be allowed to use FPU. For the RTAI skin,
>     this is what the rt_task_init function 6th argument is for.
> 
>     There is currently no math library module in Xenomai. So, the answer is
>     that you have to avoid math functions, or make a xeno_math module, the
>     way it is done in RTAI, i.e. using a math library such as the one made
>     by Sun and used by FreeBSD, or one among the various libcs available.
>     We once discussed this with Philippe, and a good candidate seemed to be
>     newlib at that time:
> 
>     http://sourceware.org/newlib/
> 
>     Looking at newlib sources, it seems that some of its contents come from
>     the Sun library too.
> 
>     -- 
> 
> 
>     Gilles Chanteperdrix.
> 
> 
> ------------------------------------------------------------------------
> Yahoo! Music Unlimited - Access over 1 million songs. Try it free. 
> <http://pa.yahoo.com/*http://us.rd.yahoo.com/evt=36035/*http://music.yahoo.com/unlimited/> 
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Xenomai-help mailing list
> Xenomai-help@domain.hid
> https://mail.gna.org/listinfo/xenomai-help


-- 

Philippe.


  reply	other threads:[~2005-11-25  9:39 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-11-18  9:07 [Xenomai-help] 2.6 kernel module with math functions Cedric Herreman
2005-11-18 13:19 ` Gilles Chanteperdrix
2005-11-25  9:33   ` Cedric Herreman
2005-11-25  9:39     ` Philippe Gerum [this message]
2005-11-27 17:18       ` Gilles Chanteperdrix

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=4386DBD1.90605@domain.hid \
    --to=rpm@xenomai.org \
    --cc=glocker50@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.