From 603a15bf4c838e4b6352e31f70a958d93f91138f Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Fri, 30 Mar 2012 14:34:14 -0500 Subject: conf/machine/include: Update SH tunings to match README Update the experimental SH tunings to match the tunings README. These tunings have not been tested, and are experimental! Signed-off-by: Mark Hatle --- meta/conf/machine/include/sh/README | 11 +++++++++++ meta/conf/machine/include/sh/arch-sh.inc | 9 +++++++++ meta/conf/machine/include/tune-sh3.inc | 19 ++++++++++++++++--- meta/conf/machine/include/tune-sh4.inc | 32 +++++++++++++++++++++++++++++--- 4 files changed, 65 insertions(+), 6 deletions(-) create mode 100644 meta/conf/machine/include/sh/README create mode 100644 meta/conf/machine/include/sh/arch-sh.inc (limited to 'meta/conf/machine') diff --git a/meta/conf/machine/include/sh/README b/meta/conf/machine/include/sh/README new file mode 100644 index 000000000..b351acdd2 --- /dev/null +++ b/meta/conf/machine/include/sh/README @@ -0,0 +1,11 @@ +2012/03/30 - Mark Hatle + - Initial Revision + +Both big endian and little endian are defined for SH. + +Experimental -- SH tunings have not been validated. + +The TUNE_ARCH is defined as ${TUNE_ARCH_tune-${DEFAULTTUNE}}. + +The TUNE_PKGARCH is defind as ${TUNE_PKGARCH_tune-${DEFAULTTUNE}}. + diff --git a/meta/conf/machine/include/sh/arch-sh.inc b/meta/conf/machine/include/sh/arch-sh.inc new file mode 100644 index 000000000..cde59fed8 --- /dev/null +++ b/meta/conf/machine/include/sh/arch-sh.inc @@ -0,0 +1,9 @@ +# SH Architecture definition + +DEFAULTTUNE ?= "sh" + +TUNE_ARCH = "${TUNE_ARCH_tune-${DEFAULTTUNE}}" +TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}" + +TUNEVALID[bigendian] = "Enabled big-endian mode." +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "bigendian", "-mb", "-ml", d)}" diff --git a/meta/conf/machine/include/tune-sh3.inc b/meta/conf/machine/include/tune-sh3.inc index dd12cd4ac..816c9c4d9 100644 --- a/meta/conf/machine/include/tune-sh3.inc +++ b/meta/conf/machine/include/tune-sh3.inc @@ -1,4 +1,17 @@ -TUNE_ARCH = "sh3" +DEFAULTTUNE ?= "sh3" -TUNE_CCARGS = "-ml -m3" -TUNE_PKGARCH = "sh3" +require conf/machine/include/sh/arch-sh.inc + +TUNEVALID[sh3] = "Enable SH3 optimizations" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "sh3", "-m3", "", d)}" + +AVAILTUNES += "sh3 sh3eb" +TUNE_FEATURES_tune-sh3 = "sh3" +TUNE_ARCH_tune-sh3 = "sh3" +TUNE_PKGARCH_tune-sh3 = "sh3" +PACKAGE_EXTRA_ARCHS_tune-sh3 = "sh sh3" + +TUNE_FEATURES_tune-sh3eb = "sh3eb" +TUNE_ARCH_tune-sh3eb = "sh3eb" +TUNE_PKGARCH_tune-sh3eb = "sh3eb" +PACKAGE_EXTRA_ARCHS_tune-sh3eb = "sheb sh3eb" diff --git a/meta/conf/machine/include/tune-sh4.inc b/meta/conf/machine/include/tune-sh4.inc index 473122cb5..f971f2389 100644 --- a/meta/conf/machine/include/tune-sh4.inc +++ b/meta/conf/machine/include/tune-sh4.inc @@ -1,8 +1,34 @@ -TUNE_ARCH = "sh4" +DEFAULTTUNE ?= "sh4" + +# Pull in sh4 for compatibility... +require conf/machine/include/sh/arch-sh.inc + +TUNEVALID[sh4] = "Enable SH4 optimizations" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "sh4", "-m4", "", d)}" # NOTE: If you want to optimize to sh4a, conf/machine/include/tune-sh4a.inc. # But it is not compatible for sh4. # The binary optimized by m4a doesn't operate on sh4. It works on sh4a only. +TUNEVALID[sh4a] = "Enable SH4a optimizations" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "sh4a", "-m4a", "", d)}" + +AVAILTUNES += "sh4 sh4eb sh4a sh4aeb" +TUNE_FEATURES_tune-sh4 = "sh4" +TUNE_ARCH_tune-sh4 = "sh4" +TUNE_PKGARCH_tune-sh4 = "sh4" +PACKAGE_EXTRA_ARCHS_tune-sh4 = "sh sh4" + +TUNE_FEATURES_tune-sh4eb = "sh4eb" +TUNE_ARCH_tune-sh4eb = "sh4eb" +TUNE_PKGARCH_tune-sh4eb = "sh4eb" +PACKAGE_EXTRA_ARCHS_tune-sh4eb = "sheb sh4eb" + +TUNE_FEATURES_tune-sh4a = "sh4a" +TUNE_ARCH_tune-sh4a = "sh4" +TUNE_PKGARCH_tune-sh4a = "sh4a" +PACKAGE_EXTRA_ARCHS_tune-sh4a = "sh sh4 sh4a" -TUNE_CCARGS = "-ml -m4" -TUNE_PKGARCH = "sh4" +TUNE_FEATURES_tune-sh4aeb = "sh4aeb" +TUNE_ARCH_tune-sh4aeb = "sh4eb" +TUNE_PKGARCH_tune-sh4aeb = "sh4aeb" +PACKAGE_EXTRA_ARCHS_tune-sh4aeb = "sheb sh4eb sh4aeb" -- cgit v1.2.3