aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2011-01-16 01:25:06 +0000
committerFelix Fietkau <nbd@openwrt.org>2011-01-16 01:25:06 +0000
commit8740549c573adf52c1b73f720e1ca52d15f90979 (patch)
tree0dae1a4b29dfadc27530ea39292dac07ff89bff8
parent9299345c7f5305cd29dedc3b30c74658370a6875 (diff)
downloadupstream-8740549c573adf52c1b73f720e1ca52d15f90979.tar.gz
upstream-8740549c573adf52c1b73f720e1ca52d15f90979.tar.bz2
upstream-8740549c573adf52c1b73f720e1ca52d15f90979.zip
mpc85xx: add a new 'spe_fpu' feature flag for the FPU used on freescale powerpc cpus The SPE FPU is ABI-incompatible with the regular powerpc FPU, this needs to be reflected in the toolchain target name. Fixes floating point crashes in user space
SVN-Revision: 25018
-rw-r--r--rules.mk3
-rwxr-xr-xscripts/metadata.pl1
-rw-r--r--target/Config.in5
-rw-r--r--target/linux/mpc85xx/Makefile2
4 files changed, 10 insertions, 1 deletions
diff --git a/rules.mk b/rules.mk
index 09b4f5447a..2e66bea4cf 100644
--- a/rules.mk
+++ b/rules.mk
@@ -69,6 +69,9 @@ endif
ifneq ($(findstring -march=armv5te,$(TARGET_OPTIMIZATION)),)
ARCH_SUFFIX:=_v5te
endif
+ifdef CONFIG_HAS_SPE_FPU
+ TARGET_SUFFIX:=$(TARGET_SUFFIX)spe
+endif
DL_DIR:=$(if $(call qstrip,$(CONFIG_DOWNLOAD_FOLDER)),$(call qstrip,$(CONFIG_DOWNLOAD_FOLDER)),$(TOPDIR)/dl)
BIN_DIR:=$(TOPDIR)/bin/$(BOARD)
diff --git a/scripts/metadata.pl b/scripts/metadata.pl
index 37c0a51ee7..9f06299aad 100755
--- a/scripts/metadata.pl
+++ b/scripts/metadata.pl
@@ -168,6 +168,7 @@ sub target_config_features(@) {
/cpiogz/ and $ret .= "\tselect USES_CPIOGZ\n";
/ubifs/ and $ret .= "\tselect USES_UBIFS\n";
/fpu/ and $ret .= "\tselect HAS_FPU\n";
+ /spe_fpu/ and $ret .= "\tselect HAS_SPE_FPU\n";
/ramdisk/ and $ret .= "\tselect USES_INITRAMFS\n";
/powerpc64/ and $ret .= "\tselect powerpc64\n";
/nommu/ and $ret .= "\tselect NOMMU\n";
diff --git a/target/Config.in b/target/Config.in
index 226624564a..9e0263e4c2 100644
--- a/target/Config.in
+++ b/target/Config.in
@@ -2,6 +2,11 @@ source "tmp/.config-target.in"
# Kernel/Hardware features
+config HAS_SPE_FPU
+ depends powerpc
+ select HAS_FPU
+ bool
+
config HAS_FPU
bool
diff --git a/target/linux/mpc85xx/Makefile b/target/linux/mpc85xx/Makefile
index a441acf238..5488adc591 100644
--- a/target/linux/mpc85xx/Makefile
+++ b/target/linux/mpc85xx/Makefile
@@ -10,7 +10,7 @@ ARCH:=powerpc
BOARD:=mpc85xx
BOARDNAME:=Freescale MPC85xx
CFLAGS:=-Os -pipe -funit-at-a-time -mcpu=8540
-FEATURES:=fpu ramdisk broken
+FEATURES:=spe_fpu ramdisk broken
MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
LINUX_VERSION:=2.6.36.2