diff options
author | Khem Raj <raj.khem@gmail.com> | 2010-07-19 01:09:01 -0700 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2010-07-19 15:31:45 -0700 |
commit | e9fe87a13cf4e0453ff601c422ecbe6a98bc8f76 (patch) | |
tree | cb18d8871092eca48a40da491ed8d24f496ccb98 /conf/machine | |
parent | 9a3b6034297b47c56bc9dd7c4dfc888121d35a98 (diff) |
distro: Move thumb into distro features
* Currenlty we define the thumb specific overrides in machine tune files
and as machine conf files are included before the distro conf files
the overrides dont get right values and set incorrectly.
* This patch moves the tune-thumb.inc from machine/include into
distro/include and lets distro decide on thumb and thumb-interworking
features based on the machine selected. If a machine which does not
support thumb like all armv4 based machines is selected then distro
makes correct decision now to disable thumb and thumb-interworking
based upon the machine seletected.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'conf/machine')
-rw-r--r-- | conf/machine/include/ixp4xx.inc | 1 | ||||
-rw-r--r-- | conf/machine/include/tune-arm1136-novfp.inc | 3 | ||||
-rw-r--r-- | conf/machine/include/tune-arm1136jf-s.inc | 3 | ||||
-rw-r--r-- | conf/machine/include/tune-arm1176jzf-s.inc | 3 | ||||
-rw-r--r-- | conf/machine/include/tune-arm920t.inc | 4 | ||||
-rw-r--r-- | conf/machine/include/tune-arm926ejs.inc | 3 | ||||
-rw-r--r-- | conf/machine/include/tune-arm9tdmi.inc | 4 | ||||
-rw-r--r-- | conf/machine/include/tune-armv7.inc | 4 | ||||
-rw-r--r-- | conf/machine/include/tune-ep9312.inc | 3 | ||||
-rw-r--r-- | conf/machine/include/tune-thumb.inc | 32 | ||||
-rw-r--r-- | conf/machine/include/tune-xscale.inc | 4 | ||||
-rw-r--r-- | conf/machine/palmz31.conf | 3 | ||||
-rw-r--r-- | conf/machine/palmz72.conf | 3 |
13 files changed, 0 insertions, 70 deletions
diff --git a/conf/machine/include/ixp4xx.inc b/conf/machine/include/ixp4xx.inc index 192cbb121b..cf7f0dd603 100644 --- a/conf/machine/include/ixp4xx.inc +++ b/conf/machine/include/ixp4xx.inc @@ -22,7 +22,6 @@ IMAGE_FSTYPES ?= "jffs2 tar.gz" EXTRA_IMAGECMD_jffs2 = "--pad --eraseblock=0x20000 -n" require conf/machine/include/tune-xscale.inc -require conf/machine/include/tune-thumb.inc #------------------------------------------------------------------------------- # Board defaults diff --git a/conf/machine/include/tune-arm1136-novfp.inc b/conf/machine/include/tune-arm1136-novfp.inc index e1f7945a0f..58134b7d40 100644 --- a/conf/machine/include/tune-arm1136-novfp.inc +++ b/conf/machine/include/tune-arm1136-novfp.inc @@ -5,6 +5,3 @@ TARGET_CC_ARCH = "-march=armv6j -mtune=arm1136jf-s" FEED_ARCH = "armv6-novfp" BASE_PACKAGE_ARCH = "armv6-novfp" PACKAGE_EXTRA_ARCHS += "armv4 armv4t armv5te armv6-novfp" - -# Include tune file for thumb support, it defaults to off so DISTROs can turn it on if they wish -require conf/machine/include/tune-thumb.inc diff --git a/conf/machine/include/tune-arm1136jf-s.inc b/conf/machine/include/tune-arm1136jf-s.inc index c532b9c816..2944cc7166 100644 --- a/conf/machine/include/tune-arm1136jf-s.inc +++ b/conf/machine/include/tune-arm1136jf-s.inc @@ -2,6 +2,3 @@ TARGET_CC_ARCH = "-march=armv6j -mtune=arm1136jf-s -mfpu=vfp -mfloat-abi=softfp" FEED_ARCH = "armv6" BASE_PACKAGE_ARCH = "armv6" PACKAGE_EXTRA_ARCHS += "armv4 armv4t armv5te armv6" - -# Include tune file for thumb support, it defaults to off so DISTROs can turn it on if they wish -require conf/machine/include/tune-thumb.inc diff --git a/conf/machine/include/tune-arm1176jzf-s.inc b/conf/machine/include/tune-arm1176jzf-s.inc index b7c5291731..ee2884b0a9 100644 --- a/conf/machine/include/tune-arm1176jzf-s.inc +++ b/conf/machine/include/tune-arm1176jzf-s.inc @@ -2,6 +2,3 @@ TARGET_CC_ARCH = "-march=armv6j -mtune=arm1176jzf-s -mfpu=vfp -mfloat-abi=softfp FEED_ARCH = "armv6" BASE_PACKAGE_ARCH = "armv6" PACKAGE_EXTRA_ARCHS += "armv4 armv4t armv5te armv6" - -# Include tune file for thumb support, it defaults to off so DISTROs can turn it on if they wish -require conf/machine/include/tune-thumb.inc diff --git a/conf/machine/include/tune-arm920t.inc b/conf/machine/include/tune-arm920t.inc index 5a373e9d80..fee5c586c9 100644 --- a/conf/machine/include/tune-arm920t.inc +++ b/conf/machine/include/tune-arm920t.inc @@ -2,7 +2,3 @@ FEED_ARCH = "armv4t" BASE_PACKAGE_ARCH = "armv4t" TARGET_CC_ARCH = "-march=armv4t -mtune=arm920t" PACKAGE_EXTRA_ARCHS += "armv4 armv4t" - -# Include tune file for thumb support, it defaults to off so DISTROs can turn it on if they wish -require conf/machine/include/tune-thumb.inc - diff --git a/conf/machine/include/tune-arm926ejs.inc b/conf/machine/include/tune-arm926ejs.inc index f6f5064548..f41e460999 100644 --- a/conf/machine/include/tune-arm926ejs.inc +++ b/conf/machine/include/tune-arm926ejs.inc @@ -5,6 +5,3 @@ PACKAGE_EXTRA_ARCHS += "armv4 armv4t armv5te" # For gcc 4.x you need: TARGET_CC_ARCH = "-march=armv5te -mtune=arm926ej-s" BASE_PACKAGE_ARCH = "armv5te" - -# Include tune file for thumb support, it defaults to off so DISTROs can turn it on if they wish -require conf/machine/include/tune-thumb.inc diff --git a/conf/machine/include/tune-arm9tdmi.inc b/conf/machine/include/tune-arm9tdmi.inc index a11ee381d5..d788b5304f 100644 --- a/conf/machine/include/tune-arm9tdmi.inc +++ b/conf/machine/include/tune-arm9tdmi.inc @@ -2,7 +2,3 @@ FEED_ARCH = "armv4t" BASE_PACKAGE_ARCH = "armv4t" PACKAGE_EXTRA_ARCHS += "armv4 armv4t" TARGET_CC_ARCH = "-mcpu=arm9tdmi -mtune=arm9tdmi" - -# Include tune file for thumb support, it defaults to off so DISTROs can turn it on if they wish -require conf/machine/include/tune-thumb.inc - diff --git a/conf/machine/include/tune-armv7.inc b/conf/machine/include/tune-armv7.inc index 05ec3da1ac..379a3eb011 100644 --- a/conf/machine/include/tune-armv7.inc +++ b/conf/machine/include/tune-armv7.inc @@ -5,7 +5,3 @@ TARGET_CC_ARCH = "-march=armv7 -mfpu=vfp -mfloat-abi=softfp" FEED_ARCH = "armv7" PACKAGE_EXTRA_ARCHS += "armv4 armv4t armv5te armv6 armv7" BASE_PACKAGE_ARCH = "armv7" - -# Include tune file for thumb support, it defaults to off so DISTROs can turn it on if they wish -require conf/machine/include/tune-thumb.inc - diff --git a/conf/machine/include/tune-ep9312.inc b/conf/machine/include/tune-ep9312.inc index c8770e0783..7458281172 100644 --- a/conf/machine/include/tune-ep9312.inc +++ b/conf/machine/include/tune-ep9312.inc @@ -5,9 +5,6 @@ PACKAGE_EXTRA_ARCHS += "armv4t ep9312" BASE_PACKAGE_ARCH = "ep9312" FEED_ARCH = "ep9312" -# Include tune file for thumb support, it defaults to off so DISTROs can turn it on if they wish -require conf/machine/include/tune-thumb.inc - FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O -fno-signed-zeros" DEBUG_OPTIMIZATION = "-O -fno-omit-frame-pointer -g" SELECTED_OPTIMIZATION = "${@bb.data.getVar(['FULL_OPTIMIZATION', 'DEBUG_OPTIMIZATION'][bb.data.getVar('DEBUG_BUILD', d, 1) == '1'], d, 1)}" diff --git a/conf/machine/include/tune-thumb.inc b/conf/machine/include/tune-thumb.inc deleted file mode 100644 index cd88bb4786..0000000000 --- a/conf/machine/include/tune-thumb.inc +++ /dev/null @@ -1,32 +0,0 @@ -#tune file for thumb instructions - -ARM_INSTRUCTION_SET ?= "arm" -# "arm" "thumb" -# The instruction set the compiler should use when generating application -# code. The kernel is always compiled with arm code at present. arm code -# is the original 32 bit ARM instruction set, thumb code is the 16 bit -# encoded RISC sub-set. Thumb code is smaller (maybe 70% of the ARM size) -# but requires more instructions (140% for 70% smaller code) so may be -# slower. - -THUMB_INTERWORK ?= "no" -# "yes" "no" -# Whether to compile with code to allow interworking between the two -# instruction sets. This allows thumb code to be executed on a primarily -# arm system and vice versa. It is strongly recommended that DISTROs not -# turn this off - the actual cost is very small. - -OVERRIDE_THUMB = "${@['', ':thumb'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']}" -OVERRIDE_INTERWORK = "${@['', ':thumb-interwork'][bb.data.getVar('THUMB_INTERWORK', d, 1) == 'yes']}" -OVERRIDES .= "${OVERRIDE_THUMB}${OVERRIDE_INTERWORK}" - -# Compiler and linker options for application code and kernel code. These -# options ensure that the compiler has the correct settings for the selected -# instruction set and interworking. -ARM_INTERWORK_M_OPT = "${@['-mno-thumb-interwork', '-mthumb-interwork'][bb.data.getVar('THUMB_INTERWORK', d, 1) == 'yes']}" -ARM_THUMB_M_OPT = "${@['-mno-thumb', '-mthumb'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']}" - -# -TARGET_CC_ARCH += "${ARM_INTERWORK_M_OPT} ${ARM_THUMB_M_OPT}" -TARGET_CC_KERNEL_ARCH += "-mno-thumb-interwork -mno-thumb" - diff --git a/conf/machine/include/tune-xscale.inc b/conf/machine/include/tune-xscale.inc index 3a6bd0e659..f0f58bc30d 100644 --- a/conf/machine/include/tune-xscale.inc +++ b/conf/machine/include/tune-xscale.inc @@ -7,7 +7,3 @@ TARGET_CC_ARCH = "-march=armv5te -mtune=xscale" TARGET_CC_KERNEL_ARCH = "-march=armv5te -mtune=xscale" PACKAGE_EXTRA_ARCHS += "${@['armv4b armv4tb armv5teb', 'armv4 armv4t armv5te'][ bb.data.getVar('TARGET_ARCH', d, 1) == 'arm']}" BASE_PACKAGE_ARCH = "${@['armv5teb', 'armv5te'][bb.data.getVar('TARGET_ARCH', d, 1) == 'arm']}" - -# Include tune file for thumb support, it defaults to off so DISTROs can turn it on if they wish -require conf/machine/include/tune-thumb.inc - diff --git a/conf/machine/palmz31.conf b/conf/machine/palmz31.conf index 0332952edc..9fb5f7ead9 100644 --- a/conf/machine/palmz31.conf +++ b/conf/machine/palmz31.conf @@ -11,9 +11,6 @@ MACHINE_DISPLAY_HEIGHT_PIXELS = "160" SERIAL_CONSOLE = "115200 ttyS0" -# Use tune-xscale per default. Machine independent feeds should be built with tune-strongarm. -require conf/machine/include/tune-thumb.inc - MACHINE_EXTRA_RRECOMMENDS += "kernel-module-i2c-pxa \ kernel-module-i2c-algo-pxa \ kernel-module-i2c-dev \ diff --git a/conf/machine/palmz72.conf b/conf/machine/palmz72.conf index 502c11a284..9766434690 100644 --- a/conf/machine/palmz72.conf +++ b/conf/machine/palmz72.conf @@ -11,9 +11,6 @@ MACHINE_DISPLAY_HEIGHT_PIXELS = "320" SERIAL_CONSOLE = "115200 ttyS0" -# Use tune-xscale per default. Machine independent feeds should be built with tune-strongarm. -require conf/machine/include/tune-thumb.inc - MACHINE_EXTRA_RRECOMMENDS += "kernel-module-i2c-pxa \ kernel-module-i2c-algo-pxa \ kernel-module-i2c-dev \ |