[oe-commits] org.oe.dev tune-thumb: add more elaborate version which should allow setting ARM_INSTRUCTION_SET = "arm" in recipes as a killswitch, stolen from ixp4xx.conf

koen commit openembedded-commits at lists.openembedded.org
Thu Dec 21 14:55:44 UTC 2006


tune-thumb: add more elaborate version which should allow setting ARM_INSTRUCTION_SET = "arm" in recipes as a killswitch, stolen from ixp4xx.conf

Author: koen at openembedded.org
Branch: org.openembedded.dev
Revision: 1fa4326c5e72b815a86f92b9f97eb8c6780b5fce
ViewMTN: http://monotone.openembedded.org/revision.psp?id=1fa4326c5e72b815a86f92b9f97eb8c6780b5fce
Files:
1
conf/machine/include/tune-thumb.conf
Diffs:

#
# mt diff -ree00daa09608a648707149d799694eb2fe029ea5 -r1fa4326c5e72b815a86f92b9f97eb8c6780b5fce
#
# 
# 
# patch "conf/machine/include/tune-thumb.conf"
#  from [586c4872ee5e4ea0a1a3ff44c4a481f3f270f218]
#    to [a14df25b2ec22c4ea7b69cf118cfbf89811cc135]
# 
============================================================
--- conf/machine/include/tune-thumb.conf	586c4872ee5e4ea0a1a3ff44c4a481f3f270f218
+++ conf/machine/include/tune-thumb.conf	a14df25b2ec22c4ea7b69cf118cfbf89811cc135
@@ -1,2 +1,32 @@
-TARGET_CC_ARCH += " -mthumb "
+#tune file for thumb instructions
 
+ARM_INSTRUCTION_SET ?= "thumb"
+# "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 ?= "yes"
+# "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"
+






More information about the Openembedded-commits mailing list