Binary Compatibility of various flavors of PPC

Matt Porter porter at cox.net
Tue Oct 15 04:15:47 EST 2002


On Mon, Oct 14, 2002 at 12:13:52PM -0500, Mark Hatle wrote:
>
> Bret Indrelee wrote:
> > 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 at 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/





More information about the Linuxppc-embedded mailing list