Subject: Re: please pull powerpc.git 'merge' branch

From: Arnd Bergmann <[email-masked]>
Date: Sun, 30 Apr 2006 13:42:01 +0200

On Sunday 30 April 2006 06:20, Olof Johansson wrote:

> We already have SMT, ICACHE_SNOOP and ALTIVEC feature bits, so it probably
> makes sense to stay in the ARCH_2_05 direction. Unfortunately it might
> be tricky to rename the old defines now due to userland exposure.
> 
> I guess Cell breaks all this logic though. Which PPC base version does
> it implement?

The Cell Broadband Engine Architecture in theory is 2.03 and also mandates
some of the extensions that are optional in there.
The relevant sections in the specs are:

| 4.1.1 Optional Features in PowerPC Architecture, Book I (Required for
|       CBEA) 
| The following facilities and instructions are considered optional in
| the PowerPC Architecture, but are required for the PPE by the CBEA
| user mode environment. 
|  • Floating reciprocal estimate single A-form (fres)
|  • Floating reciprocal square-root estimate A-form (frsqte)
|  • Vector/SIMD multimedia extension
| Note: The optional PowerPC floating-point instructions that are
| mandatory in the CBEA are needed for the application space targeted
| by the CBEA. 
|
| 4.1.3 Optional Features in PowerPC Architecture, Book II (Required
|       for CBEA) 
| The following facilities and instructions are considered optional
| in the PowerPC Architecture, but are required in the CBEA.
|  • Data cache block touch X-form (dcbt)
|    This is an optional version of dcbt that permits a program to
|    provide a hint that a sequence of data cache blocks is likely
|    to be needed soon. 
|  Book II describes these facilities and instructions.

I believe the actual implementation is missing one of the mandatory
features of 2.03 that was not in 2.02 though.

	Arnd <><