From: "Hartvig Ekner" <email@example.com>
To: "user alias" <firstname.lastname@example.org>
> > From: "Kevin D. Kissell" <email@example.com>
> > To: <firstname.lastname@example.org>, <email@example.com>
> > Subject: Linux and the Sony Playstation 2
> > Date: Tue, 18 Jun 2002 15:59:57 +0200
> > The Sony PS2 Linux kit has been shipping for nearly
> > a month now, and I'm frankly astonished at how little
> > I've seen on this mailing list about it. For better or
> > for worse, this changes everything for MIPS/Linux.
> > The number of MIPS/Linux users worldwide has
> > just gone up by at least an order of magnitude,
> > and they are on a platform running a 2.2.1-derived
> > kernel and using gcc 2.95.2.
> > It's a perfectly usable platform out of the box, but
> > Carsten has thrown "crashme" at it, and it goes down
> > relatively quickly. People trying to port kaffe and
> > other programs that do double-precision float are
> > blocked because there's no double precision on the
> > R5900, and the Sony kernel lacks the Algorithmics
> > emulator.
> The few simple double-precision programs (ala hello world) I ran worked,
> and the compiler substitutes integer code (softfloat) for any double
> precision operation. What are the things known not to work?
You didn't disassemble the code. The Sony gcc distribution
is hard-wired to generate soft-float code, even if you
specify -mhard-float on the command line.
Since most embedded/multimedia FP is single precision,
one could imagine why Sony and Toshiba could have
decided to leave out floating doubles. The real problem
is the accursed C stipulation that all FP arguments be
promoted to doubles. Having every damned passed
argument converted by the kernel would be a bit of
a hit, but I would expect that, in any (single precision)
floating point computation intensive application, that
would be more than made up for by the time gained
in executing the loops native. And, as always, we
have the correctness issue. We need to get the PS2
to 2.4.x (and 2.5) fairly quickly, and we want to
be able to have interoperability of MIPS32 binaries
across PS2 and non-PS2 platforms, including those
who habitually use their FPUs. I've started hacking
the current (2.4.18+) MIPS/Algorithmics emulator
code into the Sony 2.2.1 kernel as a stopgap, but
it's a little tricky to test, given that the Sony tools
go out of their way to stop me generating any
real FP instructions.