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
commita916879574b1ee0a0895bc05c240882c4711dc19 (patch)
tree3a4fa12615b83d460bc7e76c6d5ebf0fa9243644
parente7a8ce19cfe645842bd05e5bb15512a673715341 (diff)
downloadupstream-a916879574b1ee0a0895bc05c240882c4711dc19.tar.gz
upstream-a916879574b1ee0a0895bc05c240882c4711dc19.tar.bz2
upstream-a916879574b1ee0a0895bc05c240882c4711dc19.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 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@25018 3c298f89-4303-0410-b956-a3cf2f4a3e73
-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