Raphael,

I believe we have consensus on the port architecture name of "powerpcspe".
Is there any chance we can get the attached patch merged soon?  I'd like to
move forward with getting an unofficial debian-ports.org repository created
and they won't do that until a patch has been merged to upstream dpkg GIT.

The patch is also included inline below for easy review (although given the
email client I have to use that version is probably whitespace-damaged).

Cheers,
Kyle Moffett

-- 
Kyle Moffett
eXMeritus Software
Integrated Intelligence
The Boeing Company

(703) 764-0925
kyle.d.moff...@boeing.com

#### WHITESPACE-DAMAGED PATCH BELOW, SEE ATTACHMENT FOR CORRECT COPY ####
From: Kyle Moffett <kyle.d.moff...@boeing.com>
Date: Thu, 29 Apr 2010 21:47:25 -0400
Subject: [PATCH] powerpcspe: New unofficial Debian port

The 'powerpcspe' architecture is a binary-incompatible variant of
PowerPC/POWER designed and supported by FreeScale and IBM.  It is also
known under the trade names "e500"/"MPC8500" and "e200"/"MPC5xx".

Additional information can be found at:
  http://en.wikipedia.org/wiki/PowerPC_e500
  http://en.wikipedia.org/wiki/PowerPC_e200

In particular, the 'powerpcspe' architecture lacks the classic FPU with
dedicated FPRs found on most other PowerPC systems.  It is replaced with
a set of "SPE" instructions which perform floating-point operations on
the integer registers.

In an unfortunate choice of architecture design, the instructions used
for the "SPE" operations overlap with those for the AltiVec unit on most
other modern PowerPC cores.

The "e500v2"-series chips have 64-bit GPRs, where the high 32-bits are
accessible only via the special "SPE" instructions, allowing them to make
efficient use of the "double" datatype.

The relative rare "e500v1"-series chips have only 32-bit GPRs, and
require software traps and emulation to support native "double".

The "e200z3" and "e200z6" chips have no support for floating point at
all, but with software traps and emulation are binary-compatible with
the "e500"-series chips.

The Debian port to this architecture specifically chooses to optimize
for the higher-end chips (e500v2), as most of the others are targeted at
automotive applications or no longer in production.

The specific GNU triplet for this arch is "powerpc-linux-gnuspe".  Like
the ARM EABI port (arm-linux-gnueabi) the naming seems unfortunate here;
an architecture triplet such as "powerpcspe-linux-gnu" would have been
far more appropriate.  As a result, we end up adding an extra "ostable"
entry instead of one in "cputable".

At this time the 'powerpcspe' architecture port is still very much an
unofficial port.  While we hope that will change in the future, it is
entirely possible that the embedded niche of the processor will make
such an official Debian port problematic.

Signed-off-by: Kyle Moffett <kyle.d.moff...@boeing.com>
---
 ostable      |    1 +
 triplettable |    1 +
 2 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/ostable b/ostable
index 2ef2cdd..17b7581 100644
--- a/ostable
+++ b/ostable
@@ -17,6 +17,7 @@
 uclibceabi-linux    linux-uclibceabi    linux[^-]*-uclibceabi
 uclibc-linux        linux-uclibc        linux[^-]*-uclibc
 gnueabi-linux       linux-gnueabi       linux[^-]*-gnueabi
+gnuspe-linux        linux-gnuspe        linux[^-]*-gnuspe
 gnulp-linux         linux-gnulp         linux[^-]*-gnulp
 gnu-linux           linux-gnu           linux[^-]*(-gnu.*)?
 gnu-kfreebsd        kfreebsd-gnu        kfreebsd[^-]*(-gnu.*)?
diff --git a/triplettable b/triplettable
index 1a2c666..5b297c8 100644
--- a/triplettable
+++ b/triplettable
@@ -5,6 +5,7 @@
 # <Debian triplet>      <Debian arch>
 uclibceabi-linux-arm    uclibc-linux-armel
 uclibc-linux-<cpu>      uclibc-linux-<cpu>
+gnuspe-linux-powerpc    powerpcspe
 gnueabi-linux-arm       armel
 gnulp-linux-i386        lpia
 gnu-linux-<cpu>         <cpu>
-- 
1.7.0


Attachment: 0001-powerpcspe-New-unofficial-Debian-port.patch
Description: 0001-powerpcspe-New-unofficial-Debian-port.patch

Reply via email to