EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: MVME3100 FPU Support on RTEMS 4.10.2
From: Till Straumann <[email protected]>
To: Michael Davidsaver <[email protected]>, Matt Rippa <[email protected]>, Talk EPICS Tech <[email protected]>, "[email protected]" <[email protected]>
Date: Wed, 6 Jun 2018 17:51:22 -0700
You could try to build with the APU support - then you get (single-precision only) FP hardware support; it should work with normal context switching since the APU
shares the registers with the integer processor.

HTH
- Till

On 06/06/2018 02:10 PM, Michael Davidsaver wrote:
Hi Matt,

The MVME3100 is based on the MPC8540 processor.  This chip doesn't have an FPU.
Other boards do (eg. mvme270x, mvme6100, or mvme2500) and RTEMS supports this.

I can certainly confirm that lack of an FPU really hurts performance, even
something as (apparently) simple as integer to float.

Michael


On 06/06/2018 02:03 PM, Matt Rippa wrote:
It appears we've compiled our mvme3100 bsp without FPU support.
We're on the mvme3100 running EPICS 3.14.12.7 and RTEMS 4.10.2.

We're attempting to commission our astrometric kernel control system
and we've run into trouble meeting some of our thread deadlines. What
we've found is a transform routine that takes our mvme2700 ~200 us,
takes the mvme3100 ~8 ms.  So not a surprise to see this with only "-msoft-float"?

...
2018-05-31-tcs.log:May 31 11:41:15  E) PORT: tcs_vme, MSG: Welcome to rtems-4.10.2(PowerPC/Generic (*no FPU*)/mvme3100)

Is FPU support possible with RTEMS 4.10.2? If so, what would we need to do?
It looks like there's a multilib on 4.11.2 https://docs.rtems.org/releases/rtems-docs-4.11.2/cpu-supplement/powerpc.html#multilibs(*Eg., see #13* )

Here's our bsp specs:

beatnik:
-specs bsp_specs -qrtems -fasm -c -mcpu=7400 -D__ppc_generic -DUNIX -O2 -g -g -Wall
(mvme2700) mvme-2307:
-specs bsp_specs -qrtems -fasm -c -mcpu=604 -mmultiple -mstring -mstrict-align -meabi -DUNIX -O2 -g -g -Wall
mvme-3100
-specs bsp_specs -qrtems -fasm -c -mcpu=powerpc *-msoft-float* -D__ppc_generic -DUNIX -O2 -g -g -Wall

Thank you!
-Matt



References:
MVME3100 FPU Support on RTEMS 4.10.2 Matt Rippa
Re: MVME3100 FPU Support on RTEMS 4.10.2 Michael Davidsaver

Navigate by Date:
Prev: RE: ADPvcam: can't create IOC because of missing build (bin) folder Mark Rivers
Next: Re: MVME3100 FPU Support on RTEMS 4.10.2 Heinz Junkes
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: MVME3100 FPU Support on RTEMS 4.10.2 Joel Sherrill
Next: Re: MVME3100 FPU Support on RTEMS 4.10.2 Heinz Junkes
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021  2022  2023  2024 
ANJ, 06 Jun 2018 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·