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
This commit is contained in:
		
							
								
								
									
										3
									
								
								rules.mk
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								rules.mk
									
									
									
									
									
								
							@@ -69,6 +69,9 @@ endif
 | 
				
			|||||||
ifneq ($(findstring -march=armv5te,$(TARGET_OPTIMIZATION)),)
 | 
					ifneq ($(findstring -march=armv5te,$(TARGET_OPTIMIZATION)),)
 | 
				
			||||||
  ARCH_SUFFIX:=_v5te
 | 
					  ARCH_SUFFIX:=_v5te
 | 
				
			||||||
endif
 | 
					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)
 | 
					DL_DIR:=$(if $(call qstrip,$(CONFIG_DOWNLOAD_FOLDER)),$(call qstrip,$(CONFIG_DOWNLOAD_FOLDER)),$(TOPDIR)/dl)
 | 
				
			||||||
BIN_DIR:=$(TOPDIR)/bin/$(BOARD)
 | 
					BIN_DIR:=$(TOPDIR)/bin/$(BOARD)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -168,6 +168,7 @@ sub target_config_features(@) {
 | 
				
			|||||||
		/cpiogz/ and $ret .= "\tselect USES_CPIOGZ\n";
 | 
							/cpiogz/ and $ret .= "\tselect USES_CPIOGZ\n";
 | 
				
			||||||
		/ubifs/ and $ret .= "\tselect USES_UBIFS\n";
 | 
							/ubifs/ and $ret .= "\tselect USES_UBIFS\n";
 | 
				
			||||||
		/fpu/ and $ret .= "\tselect HAS_FPU\n";
 | 
							/fpu/ and $ret .= "\tselect HAS_FPU\n";
 | 
				
			||||||
 | 
							/spe_fpu/ and $ret .= "\tselect HAS_SPE_FPU\n";
 | 
				
			||||||
		/ramdisk/ and $ret .= "\tselect USES_INITRAMFS\n";
 | 
							/ramdisk/ and $ret .= "\tselect USES_INITRAMFS\n";
 | 
				
			||||||
		/powerpc64/ and $ret .= "\tselect powerpc64\n";
 | 
							/powerpc64/ and $ret .= "\tselect powerpc64\n";
 | 
				
			||||||
		/nommu/ and $ret .= "\tselect NOMMU\n";
 | 
							/nommu/ and $ret .= "\tselect NOMMU\n";
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,6 +2,11 @@ source "tmp/.config-target.in"
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# Kernel/Hardware features
 | 
					# Kernel/Hardware features
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config HAS_SPE_FPU
 | 
				
			||||||
 | 
						depends powerpc
 | 
				
			||||||
 | 
						select HAS_FPU
 | 
				
			||||||
 | 
						bool
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config HAS_FPU
 | 
					config HAS_FPU
 | 
				
			||||||
	bool
 | 
						bool
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,7 +10,7 @@ ARCH:=powerpc
 | 
				
			|||||||
BOARD:=mpc85xx
 | 
					BOARD:=mpc85xx
 | 
				
			||||||
BOARDNAME:=Freescale MPC85xx
 | 
					BOARDNAME:=Freescale MPC85xx
 | 
				
			||||||
CFLAGS:=-Os -pipe -funit-at-a-time -mcpu=8540
 | 
					CFLAGS:=-Os -pipe -funit-at-a-time -mcpu=8540
 | 
				
			||||||
FEATURES:=fpu ramdisk broken
 | 
					FEATURES:=spe_fpu ramdisk broken
 | 
				
			||||||
MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
 | 
					MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
LINUX_VERSION:=2.6.36.2
 | 
					LINUX_VERSION:=2.6.36.2
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user