diff options
| -rw-r--r-- | Rules.mak | 20 | ||||
| -rw-r--r-- | extra/Configs/Config.arm | 55 | 
2 files changed, 59 insertions, 16 deletions
@@ -130,10 +130,21 @@ endif  ifeq ($(strip $(TARGET_ARCH)),arm)  	OPTIMIZATION+=-fstrict-aliasing +	CPU_LDFLAGS-$(ARCH_LITTLE_ENDIAN):="-EL" +	CPU_LDFLAGS-$(ARCH_BIG_ENDIAN):="-EB" +	CPU_CFLAGS-$(ARCH_LITTLE_ENDIAN):="-mlittle-endian" +	CPU_CFLAGS-$(ARCH_BIG_ENDIAN):="-mbig-endian"  	CPU_CFLAGS-$(CONFIG_GENERIC_ARM):= -	CPU_CFLAGS-$(CONFIG_ARM7TDMI):="-march=arm7tdmi" -	CPU_CFLAGS-$(CONFIG_STRONGARM):="-march=strongarm" -	CPU_CFLAGS-$(CONFIG_XSCALE):="-march=xscale" +	CPU_CFLAGS-$(CONFIG_ARM610):=-mtune=arm610 -march=armv3 +	CPU_CFLAGS-$(CONFIG_ARM710):=-mtune=arm710 -march=armv3 +	CPU_CFLAGS-$(CONFIG_ARM720T):=-mtune=arm7tdmi -march=armv4  +	CPU_CFLAGS-$(CONFIG_ARM920T):=-mtune=arm9tdmi -march=armv4 +	CPU_CFLAGS-$(CONFIG_ARM922T):=-mtune=arm9tdmi -march=armv4 +	CPU_CFLAGS-$(CONFIG_ARM926T):=-mtune=arm9tdmi -march=armv4 +	CPU_CFLAGS-$(CONFIG_ARM_SA110):=-mtune=strongarm110 -march=armv4 +	CPU_CFLAGS-$(CONFIG_ARM_SA1100):=-mtune=strongarm1100 -march=armv4 +	CPU_CFLAGS-$(CONFIG_ARM_XSCALE):=$(call check_gcc,-mtune=xscale,-mtune=strongarm110) \ +				$(call check_gcc,-march=armv5te,-march=armv4 -Wa$(comma)-mxscale)  endif  ifeq ($(strip $(TARGET_ARCH)),sh) @@ -212,7 +223,8 @@ ifeq ($(HAVE_SHARED),y)     endif  endif  ifeq ($(UCLIBC_HAS_SOFT_FLOAT),y) -    CFLAGS += $(call check_gcc,-msoft-float,) +    CFLAGS += -msoft-float +    LDFLAGS+= -Wa,-mno-fpu  endif  CFLAGS_NOPIC:=$(CFLAGS) diff --git a/extra/Configs/Config.arm b/extra/Configs/Config.arm index e310fec41..1fae6422f 100644 --- a/extra/Configs/Config.arm +++ b/extra/Configs/Config.arm @@ -37,26 +37,57 @@ choice  	  Here are the settings recommended for greatest speed:  	  - "Generic Arm" select this if your compiler is already setup to -	    optimize things properly. -	  - "arm7tdmi" an MMU-less ARM core such as those distributed -	    by Atmel, Samsung, and others. -	  - "StrongARM" for Intel's StrongARM cores, such as the -	     StrongARM 110/1100/1110. -	  - "XScale" for Intel's XScale processors  +	    optimize things properly, or if you want to run on pretty much +	    everything, or you just don't much care. +	  - For anything else, pick the ARM core type that best matches the +	    cpu you will be using on your device.  	  If you don't know what to do, choose "Generic Arm".  config CONFIG_GENERIC_ARM  	bool "Generic Arm" -config CONFIG_ARM7TDMI -	bool "arm7tdmi" +config CONFIG_ARM610 +	bool "Arm 610" -config CONFIG_STRONGARM -	bool "StrongARM" +config CONFIG_ARM710 +	bool "Arm 710" -config CONFIG_XSCALE -	bool "XScale" +config CONFIG_ARM720T +	bool "Arm 720T" + +config CONFIG_ARM920T +	bool "Arm 920T" + +config CONFIG_ARM922T +	bool "Arm 922T" + +config CONFIG_ARM926T +	bool "Arm 926T" + +config CONFIG_ARM_SA110 +	bool "Intel StrongArm SA-110" + +config CONFIG_ARM_SA1100 +	bool "Intel StrongArm SA-1100" + +config CONFIG_ARM_XSCALE +	bool "Intel Xscale" + +endchoice + +choice +	prompt "Target Processor Endianness" +	default ARCH_LITTLE_ENDIAN +	help +	  This is the endianness you wish to build use.  Choose either Big +	  Endian, or Little Endian. + +config ARCH_LITTLE_ENDIAN +	bool "Little Endian" + +config ARCH_BIG_ENDIAN +	bool "Big Endian"  endchoice  | 
