Soft Float for PC386

Joel Sherrill joel.sherrill at OARcorp.com
Tue Feb 6 16:16:16 UTC 2001



angelo wrote:
> 
> Has anybody successfully ran paranoia on a PC386, not just the pc386 build, but on
> an actual 386 PC?

An exception 7 is coprocessor not available.  Could you pinpoint the
instruction via an objdump of the executable?

I recall that paranoia on the i386 does generate an FPU exception
with something out of range but that is exception 16.

--joel

> angelo wrote:
> 
> > Successfully built and ran by modifying the following in pc386.cfg
> >
> > ifeq ($(RTEMS_CPU_MODEL),)
> > RTEMS_CPU_MODEL=i386_nofp
> > CPU_CFLAGS =-msoft-float
> > endif
> >
> > I am not sure whether I should add the -mno-fp-ret-in-387 to the CPU_CFLAGS, I
> > have tried both with the same result.
> >
> > The target now runs in the PC, however, when I attempt to run the paranoia.exe
> > ,I get the following error message
> >
> > *** PARANOIA TEST***
> > Exception 7 caught at PC 10743 by thread 13428265
> > processor execution context at time of the fault was
> > EAX = 0     EBX = 134300    ECX = 0    EDX = 0
> > ESI = 13414    EDI = 12D878    EBP = 1342A8    ESP = 134268
> >
> > Error code pushed by processor itself (if not 0) = 0
> > ****************   FAULTY THREAD WILL NOW BE DELETED ********************
> >
> > I then did a PC 586 build (even with an unmodified pc386.cfg) and tried to run
> > paranoia on a Pentium 100 and got this huge message about 4 errors being found.
> > These tests have been done with snapshots rtems-ss-20010109 and
> > rtems-ss-20010126.  Has anyone else tested paranoia.exe on a PC lately and found
> > the same problem?
> >
> > Joel Sherrill wrote:
> >
> > > angelo wrote:
> > > >
> > > > I have successfully run  RTEMS apps on a Pentium using the pc386 build,
> > > > however, when I attempt to run the apps (including the hello world ) on a
> > > > 386 with no co-processor, The console just display an infinite Exception
> > > > which I cannot read.
> > >
> > > Hmmm.. I would be surprised if the lack of an FPU is causing this.  But
> > > stranger things have happened over the years.  What RTEMS version are
> > > you trying?  It might also be worth it to put a "while 1" loop in the
> > > exception handler temporarily so the message won't disappear.
> > >
> > > > I suspect that it may be that soft float is required,
> > > > but I am not sure.  Is there a way of ensuring that I am not trying to use
> > > > the co-processor and am in fact using the soft floating point libraries.
> > >
> > > The answer is simple and not so simple at the same time.  The standard
> > > gcc sources do not have soft-float support turned on for the i386 targets.
> > > The RTEMS gcc patches and RPMs post 4.5.0 do include support for this.
> > >
> > > If you look at the ts_386ex target in recent snapshots, its CPU_CFLAGS
> > > should be the basis for adding a new pc386 variant (like pc[56]86 and
> > > pck6).  Right now all pc386 variants assume an FPU.
> > >
> > > > --
> > > > Angelo Fraietta
> > > >
> > > > PO Box 859
> > > > Hamilton NSW 2303
> > > >
> > > > Home Page
> > > >
> > > > http://users.hunterlink.net.au/~maaaf/
> > > >
> > > > There are those who seek knowledge for the sake of knowledge - that is
> > > > CURIOSITY
> > > > There are those who seek knowledge to be known by others - that is VANITY
> > > > There are those who seek knowledge in order to serve - that is LOVE
> > > >     Bernard of Clairvaux (1090 - 1153)
> > >
> > > --
> > > Joel Sherrill, Ph.D.             Director of Research & Development
> > > joel at OARcorp.com                 On-Line Applications Research
> > > Ask me about RTEMS: a free RTOS  Huntsville AL 35805
> > > Support Available                (256) 722-9985
> >
> > --
> > Angelo Fraietta
> >
> > PO Box 859
> > Hamilton NSW 2303
> >
> > Home Page
> >
> > http://users.hunterlink.net.au/~maaaf/
> >
> > There are those who seek knowledge for the sake of knowledge - that is CURIOSITY
> >
> > There are those who seek knowledge to be known by others - that is VANITY
> > There are those who seek knowledge in order to serve - that is LOVE
> >     Bernard of Clairvaux (1090 - 1153)
> 
> --
> Angelo Fraietta
> 
> PO Box 859
> Hamilton NSW 2303
> 
> Home Page
> 
> http://users.hunterlink.net.au/~maaaf/
> 
> There are those who seek knowledge for the sake of knowledge - that is CURIOSITY
> There are those who seek knowledge to be known by others - that is VANITY
> There are those who seek knowledge in order to serve - that is LOVE
>     Bernard of Clairvaux (1090 - 1153)

-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel at OARcorp.com                 On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
Support Available                (256) 722-9985



More information about the users mailing list