Thread (6 messages) flat view 6 messages, 6 authors, 2002-10-14

Re: Binary Compatibility of various flavors of PPC

From: Matt Porter <hidden>
Date: 2002-10-14 18:15:47

On Mon, Oct 14, 2002 at 12:13:52PM -0500, Mark Hatle wrote:
Bret Indrelee wrote:
quoted
We are trying to wade our way through the various processor choices and
options available for PPC on Linux.

One of our requirements is to be able to run the same binary image across
a range of systems. The image can not change just because the processor
does.

We are currently looking at the 405GPX, 8250, 8245, and PowerQUIC III.
(I am ONLY speaking of userspace! .. each system will require a custom kernel)

The 7xx (as well as 74xx if you avoid altivec) and 82xx are all compatable in
userspace.  Those CPU families floating point units, the same cache line size
and other commonalities.

The 405 does not have an FPU.. If you enable the in kernel floating point
emulator it will then be capable of running the same binaries as above.. but do
to performance, personal preferance and other reasons I do not recommend running
a non FPU machine with FPU emulation unless you need to.
Working 40x libraries have some errata fixups in them IIRC, so running
a complete classic PPC binary chain would have the possibility of
exhibiting problems.
(Since we're on the topic) the PowerPC 403, and 8xx lines are binary compatable
with each other.  Similar to the 405 they lack an FPU, but they also use only
half the cacheline size of the above CPUs.  This (potentially) makes the libc
incompatable, and many optimizations may not work as intended.

There is still a question on wether or not the Book E stuff will be user space
compatable with the current 7xx style binaries.  I wouldn't hold my breath.. :P
Oh good, another chance to point out that Book E isn't a unifying standard.
The current IBM Book E implementation (PPC440) is binary compatible
with PPC405.  Since 40x was a bastard hybrid of classic and Book E
PPC, the 440 looks like a superset as far as userspace instructions.
The Mot Book E implementation (e500) could be binary compatible
with classic PPCs (perhaps Kumar will speak up on the direction here)
except that it doesn't handle FP in a green book manner...well it's
a more versatile SIMD implementation anyway.   One public mention of
some pertinent e500 characteristics is here:
http://gcc.gnu.org/ml/gcc/2002-07/msg01060.html

In theory, one could use kernel FP emulation on e500 when not using
SIMD instructions and run classic PPC binaries.  In practice, this may
not be wise.
If I was building a range of systems that required varying PowerPC CPUs with a
common userspace I would stick to the 82xx/7xx/74xx families today.
I'd have to agree with that.  Classic PPC core implementations currently
offer the broadest selection of userspace binary compatible processors.

Regards,
--
Matt Porter
porter@cox.net
This is Linux Country. On a quiet night, you can hear Windows reboot.

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help