conf/machine/include: Cleanup IA tunings to match README

We perform a basic cleanup of the IA32 architecture and related
tunings in order to match the rules and descriptions within the
new tuning README file.

A number of small issues were corrected in the "c3" tuning to
bring it inline with the README.

(From OE-Core rev: ab77d3401908964f3249c761969600b5ec1bfbd0)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Mark Hatle 2012-03-30 14:27:58 -05:00 committed by Richard Purdie
parent 62331ff46b
commit d6e7ebb209
5 changed files with 59 additions and 27 deletions

View File

@ -0,0 +1,24 @@
2012/03/30 - Mark Hatle <mark.hatle@windriver.com>
- Initial version
Most of the items for the IA architecture are defined in the single
arch-ia32 file.
Three ABIs are define, m32, mx32 and m64.
The following is the list of ia32 specific variables:
X86ARCH32 - This is the 32-bit architecture GNU canonical arch, TUNE_ARCH.
X86ARCH64 - This is the 64-bit architecture GNU canonical arch, TUNE_ARCH.
The TUNE_PKGARCH is defined as follows:
TUNE_PKGARCH = ${TUNE_PKGARCH_tune-${DEFAULTTUNE}}
The package architecture for 32-bit targets is historical and generally
set to to match the core compatible processor type, i.e. i386.
For 64-bit architectures, the architecture is expected to end in '_64'.
If the x32 ABI is used, then the _64 is further extended with a '_x32'.

View File

@ -7,6 +7,8 @@ TARGET_FPU ?= ""
X86ARCH32 ?= "i586"
X86ARCH64 ?= "x86_64"
TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}"
# ELF32 ABI
TUNEVALID[m32] = "IA32 ELF32 standard ABI"
TUNECONFLICTS[m32] = "m64 mx32"
@ -29,21 +31,21 @@ TUNECONFLICT[m64] = "m32 mx32"
TUNE_ARCH .= "${@bb.utils.contains("TUNE_FEATURES", "m64", "${X86ARCH64}", "" ,d)}"
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "m64", "-m64", "", d)}"
TUNE_PKGARCH ?= "${@bb.utils.contains("TUNE_FEATURES", "m32", "x86", "x86_64", d)}"
# Default Tune configurations
AVAILTUNES += "x86"
TUNE_FEATURES_tune-x86 ?= "m32"
BASE_LIB_tune-x86 ?= "lib"
PACKAGE_EXTRA_ARCHS_tune-x86 = "x86"
TUNE_FEATURES_tune-x86 = "m32"
BASE_LIB_tune-x86 = "lib"
TUNE_PKGARCH_tune-x86 = "x86"
PACKAGE_EXTRA_ARCHS_tune-x86 = "${TUNE_PKGARCH_tune-x86}"
AVAILTUNES += "x86-64"
TUNE_FEATURES_tune-x86-64 ?= "m64"
BASE_LIB_tune-x86-64 ?= "lib64"
PACKAGE_EXTRA_ARCHS_tune-x86-64 = "x86_64"
TUNE_FEATURES_tune-x86-64 = "m64"
BASE_LIB_tune-x86-64 = "lib64"
TUNE_PKGARCH_tune-x86-64 = "x86_64"
PACKAGE_EXTRA_ARCHS_tune-x86-64 = "${TUNE_PKGARCH_tune-x86-64}"
AVAILTUNES += "x86-64-x32"
TUNE_FEATURES_tune-x86-64-x32 ?= "mx32"
BASE_LIB_tune-x86-64-x32 ?= "libx32"
PACKAGE_EXTRA_ARCHS_tune-x86-64-x32 = "x86_64_x32"
TUNE_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "mx32", "_x32", "", d)}"
TUNE_FEATURES_tune-x86-64-x32 = "mx32"
BASE_LIB_tune-x86-64-x32 = "libx32"
TUNE_PKGARCH_tune-x86-64-x32 = "x86_64_x32"
PACKAGE_EXTRA_ARCHS_tune-x86-64-x32 = "${TUNE_PKGARCH_tune-x86-64-x32}"

View File

@ -1,6 +1,12 @@
require conf/machine/include/ia32/arch-ia32.inc
TUNE_PKGARCH = "i586"
TUNEVALID[c3] = "VIA Cyrix III or VIA C3 specific optimizations"
TUNECONFLICT[c3] = "m64 mx32"
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "c3", "-march=c3 -mtune=c3", "", d)}"
TUNE_CCARGS = "-march=c3 -mtune=c3"
PACKAGE_EXTRA_ARCHS = "i386 i486 i586"
AVAILTUNES += "c3"
TUNE_FEATURES_tune-c3 = "${TUNE_FEATURES_tune-x86} c3"
BASE_LIBS_tune-c3 = "${BASE_LIB_tune-x86}"
# The following should likely be something other then i586...
TUNE_PKGARCH_tune-c3 = "i586"
PACKAGE_EXTRA_ARCHS_tune-c3 = "${PACKAGE_EXTRA_ARCHS_tune-x86} i386 i486 i586"

View File

@ -1,5 +1,4 @@
DEFAULTTUNE ?= "core2"
TUNE_PKGARCH ?= "${@bb.utils.contains("TUNE_FEATURES", "m32", "core2", "core2_64", d)}"
require conf/machine/include/tune-i586.inc
@ -9,16 +8,19 @@ TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "core2", "-march=core2 -ms
# Extra tune selections
AVAILTUNES += "core2"
TUNE_FEATURES_tune-core2 ?= "${TUNE_FEATURES_tune-x86} core2"
BASE_LIB_tune-core2 ?= "lib"
TUNE_FEATURES_tune-core2 = "${TUNE_FEATURES_tune-x86} core2"
BASE_LIB_tune-core2 = "lib"
TUNE_PKGARCH_tune-core2 = "core2"
PACKAGE_EXTRA_ARCHS_tune-core2 = "${PACKAGE_EXTRA_ARCHS_tune-x86} i386 i486 i586 i686 core2"
AVAILTUNES += "core2-64"
TUNE_FEATURES_tune-core2-64 ?= "${TUNE_FEATURES_tune-x86-64} core2"
BASE_LIB_tune-core2-64 ?= "lib64"
TUNE_FEATURES_tune-core2-64 = "${TUNE_FEATURES_tune-x86-64} core2"
BASE_LIB_tune-core2-64 = "lib64"
TUNE_PKGARCH_tune-core2-64 = "core2_64"
PACKAGE_EXTRA_ARCHS_tune-core2-64 = "${PACKAGE_EXTRA_ARCHS_tune-x86-64} core2_64"
AVAILTUNES += "core2-64-x32"
TUNE_FEATURES_tune-core2-64-x32 ?= "${TUNE_FEATURES_tune-x86-64-x32} core2"
BASE_LIB_tune-core2-64-x32 ?= "libx32"
TUNE_FEATURES_tune-core2-64-x32 = "${TUNE_FEATURES_tune-x86-64-x32} core2"
BASE_LIB_tune-core2-64-x32 = "libx32"
TUNE_PKGARCH_tune-core2-64-x32 = "core2_64_x32"
PACKAGE_EXTRA_ARCHS_tune-core2-64-x32 = "${PACKAGE_EXTRA_ARCHS_tune-x86-64-x32} core2_64_x32"

View File

@ -1,6 +1,4 @@
DEFAULTTUNE ?= "i586"
TUNE_PKGARCH_TMP = "${@bb.utils.contains("TUNE_FEATURES", "m32", "x86", "x86_64", d)}"
TUNE_PKGARCH ?= "${@bb.utils.contains("TUNE_FEATURES", "i586", "i586", TUNE_PKGARCH_TMP, d)}"
require conf/machine/include/ia32/arch-ia32.inc
@ -10,7 +8,7 @@ TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "i586", "-march=i586", "",
# Extra tune selections
AVAILTUNES += "i586"
TUNE_FEATURES_tune-i586 ?= "${TUNE_FEATURES_tune-x86} i586"
BASE_LIB_tune-i586 ?= "lib"
TUNE_FEATURES_tune-i586 = "${TUNE_FEATURES_tune-x86} i586"
BASE_LIB_tune-i586 = "lib"
TUNE_PKGARCH_tune-i586 = "i586"
PACKAGE_EXTRA_ARCHS_tune-i586 = "${PACKAGE_EXTRA_ARCHS_tune-x86} i386 i486 i586"