From: Wolfgang Grandegger <wg@domain.hid>
To: niklaus.giger@domain.hid
Cc: xenomai@xenomai.org
Subject: Re: [Xenomai-core] Problem with periodic timer on PPC40x solved
Date: Wed, 27 Sep 2006 12:13:44 +0200 [thread overview]
Message-ID: <451A4ED8.7040708@domain.hid> (raw)
In-Reply-To: <200609262326.04533.niklaus.giger@domain.hid>
Niklaus Giger wrote:
> Am Dienstag, 26. September 2006 22:23 schrieb Wolfgang Grandegger:
>> Niklaus Giger wrote:
>>> Am Dienstag, 26. September 2006 18:28 schrieb Wolfgang Grandegger:
>>>> Philippe Gerum wrote:
>>>>> On Tue, 2006-09-26 at 16:56 +0200, gilles.chanteperdrix wrote:
>>>> OK, but in general, soft-float emulation should be used on systems
>>>> without FPU and this is even more important for real-time. This is a
>>>> tool chain issue. Niklaus, what tool chain are you using?
>>> In my .config I have
>>> MATH_EMULATION=y
>> You seem to need that because your compiler generates code with hard FP
>> instructions. You could check this with:
>>
>> $ ppc-linux-objdump -d prog|egrep ":\s*[e-f]"
> This does not return any match on my system.
Oops, then your compiler seems _not_ to create hard FP instruction,
otherwise you would get:
ppc_82xx-objdump -d latency|egrep ":\s*[e-f]"
latency: file format elf32-powerpc
100036ac: fc 21 f8 28 fsub f1,f1,f31
100036b4: fc 42 f8 28 fsub f2,f2,f31
100036c4: fc 63 f8 28 fsub f3,f3,f31
100036cc: fc 21 f0 24 fdiv f1,f1,f30
100036dc: fc 84 f8 28 fsub f4,f4,f31
...
> But looking at the disassembly of the latency program I have code like:
> 100081bc <_restfpr_28_x>:
> 100081bc: cb 8b ff e0 lfd f28,-32(r11)
> or
> 1000798c <__floatsidf>:
> 1000798c: 7c 08 02 a6 mflr r0
> 10007990: 2f 83 00 00 cmpwi cr7,r3,0
> 10007994: 94 21 ff c0 stwu r1,-64(r1)
> 10007998: 90 01 00 44 stw r0,68(r1)
> 1000799c: 54 60 0f fe rlwinm r0,r3,1,31,31
> 100079a0: 90 01 00 14 stw r0,20(r1)
> 100079a4: 40 9e 00 24 bne- cr7,100079c8 <__floatsidf+0x3c>
That's from soft float emulation.
>>> The toolchain is gcc-3.4.4-glibc-2.3.5/powerpc-405-linux-gnu built using
>>> Dan Kegel crosstool (Version 0.42 if I remember exactly).
>>>
>>> Shall I switch to another one?
Maybe (likely) there is nothing wrong with your tool chain.
>> The ELDK from DENX uses FP soft-emulation for 4xx (http://www.denx.de).
>> Choose v3.1.1 for Linux 2.4 and v4 for Linux 2.6.
>
> I am breathing only PowerPC code on my Mac PowerBook (running Debian) and
> never managed to installed ELDK on it. (And even Detlev as a Debian developer
> couldn't recommend a simple way.)
I remember Detlev's pain and frustration.
> But I assume that I specifying GLIBC_EXTRA_CONFIG="--without-fp" in the
> powerpc-405.dat should be enough to make Dan Kegels crosstool emit Soft-FPU
> emulation.
See above.
> I will try to run the tests at work where I have installed ELDK 4.0, but not
> yet a fully working environment. Therefore it may take some time to report a
> result back.
I'm now a bit puzzled why a FP exception occurs. What happens if you
disable MATH_EMULATION
in your kernel (that's what I normally have). It will try the latency
test on my Walnut-Board with CONFIG_XENO_OPT_DEBUG asap.
Wolfgang.
next prev parent reply other threads:[~2006-09-27 10:13 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-09-26 14:56 [Xenomai-core] Problem with periodic timer on PPC40x solved gilles.chanteperdrix
2006-09-26 16:10 ` Philippe Gerum
2006-09-26 16:28 ` Wolfgang Grandegger
2006-09-26 16:38 ` Philippe Gerum
2006-09-26 16:57 ` Wolfgang Grandegger
2006-09-26 18:56 ` Niklaus Giger
2006-09-26 20:23 ` Wolfgang Grandegger
2006-09-26 21:26 ` Niklaus Giger
2006-09-27 10:13 ` Wolfgang Grandegger [this message]
2006-09-27 18:19 ` Wolfgang Grandegger
2006-09-28 6:02 ` Niklaus Giger
2006-09-28 7:59 ` Wolfgang Grandegger
-- strict thread matches above, loose matches on Subject: below --
2006-09-23 18:13 [Xenomai-core] Problem with periodic timer on PPC40x identified Niklaus Giger
2006-09-23 20:55 ` Wolfgang Grandegger
2006-09-24 20:47 ` [Xenomai-core] Problem with periodic timer on PPC40x solved Niklaus Giger
2006-09-24 21:07 ` Wolfgang Grandegger
2006-09-25 15:57 ` Philippe Gerum
2006-09-25 20:29 ` Niklaus Giger
2006-09-25 20:59 ` Philippe Gerum
2006-09-25 21:15 ` Niklaus Giger
2006-09-26 6:59 ` Philippe Gerum
2006-09-26 14:21 ` Philippe Gerum
2006-09-26 18:39 ` Niklaus Giger
2006-09-26 19:34 ` Niklaus Giger
2006-09-26 19:48 ` Philippe Gerum
2006-09-26 6:47 ` Wolfgang Grandegger
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=451A4ED8.7040708@domain.hid \
--to=wg@domain.hid \
--cc=niklaus.giger@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.