summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2008-08-12 09:56:19 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2008-08-12 09:56:19 (GMT)
commit05781a223c7219817e1d394655c3a4c3beae2541 (patch)
treed5df9425c966bc1bf8794ddc836d9eb0e902efd0 /arch
parentebeba61f44502d92582128361e1a57fb24e85d49 (diff)
Add SPE extensions support for PowerPC (after a work by Thomas JOURDAN).
Add a PowerPC sample that supports SPE extensions. /trunk/arch/powerpc/functions | 13 13 0 0 + /trunk/arch/powerpc/config.in | 8 8 0 0 + /trunk/patches/gcc/4.3.1/340-make-mno-spe-work-as-expected.patch | 90 90 0 0 ++++ /trunk/samples/powerpc-unknown-linux-gnuspe/crosstool.config | 309 309 0 0 ++++++++++++++ 4 files changed, 420 insertions(+)
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/config.in8
-rw-r--r--arch/powerpc/functions13
2 files changed, 21 insertions, 0 deletions
diff --git a/arch/powerpc/config.in b/arch/powerpc/config.in
index ad51f86..dc871a0 100644
--- a/arch/powerpc/config.in
+++ b/arch/powerpc/config.in
@@ -7,3 +7,11 @@ config ARCH_powerpc
help
The PowerPC architecture, as defined by:
http://www.ibm.com/developerworks/eserver/articles/archguide.html
+
+config ARCH_POWERPC_SPE
+ bool
+ prompt "Enable SPE support (EXPERIMENTAL)"
+ depends on EXPERIMENTAL
+ default n
+ help
+ Add support for the Signal Processing Engine.
diff --git a/arch/powerpc/functions b/arch/powerpc/functions
index 9ad0304..94ad11c 100644
--- a/arch/powerpc/functions
+++ b/arch/powerpc/functions
@@ -6,4 +6,17 @@ CT_DoArchValues () {
# The kernel ARCH:
CT_KERNEL_ARCH=powerpc
+
+ # Add spe in the tuplet if needed
+ case "${CT_LIBC},${CT_ARCH_POWERPC_SPE}" in
+ glibc,|eglibc,) CT_TARGET_SYS=gnu;;
+ glibc,y|eglibc,y) CT_TARGET_SYS=gnuspe;;
+ esac
+
+ # Add extra flags for SPE if needed
+ if [ "${CT_ARCH_POWERPC_SPE}" = "y" ]; then
+ CT_ARCH_TARGET_CFLAGS="-mabi=spe -mspe"
+ CT_ARCH_CC_CORE_EXTRA_CONFIG="--enable-e500_double"
+ CT_ARCH_CC_EXTRA_CONFIG="--enable-e500_double"
+ fi
}