diff options
| author | Mark Hatle <mark.hatle@windriver.com> | 2012-03-30 14:29:25 -0500 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-04-04 17:17:54 +0100 |
| commit | d328ae22b71f35dd746bd095891100be39925f68 (patch) | |
| tree | 5d15b3486c30185ff9d2bdf0d711c8e8f1145680 | |
| parent | d6e7ebb20934a4c4822898b4f4adfcde7f7f4049 (diff) | |
| download | poky-d328ae22b71f35dd746bd095891100be39925f68.tar.gz | |
conf/machine/include: Cleanup MIPS tunings to match README
Cleanup the MIPS tunings to match the new tuning README file. Also
add a MIPS specific README file to explain the MIPS specifical
architectural issues.
Finally correct the variant configurations within the tune-mips32.inc.
(From OE-Core rev: efbfa2ace3362393a20340af93e8dcab17a8619a)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
| -rw-r--r-- | meta/conf/machine/include/mips/README | 36 | ||||
| -rw-r--r-- | meta/conf/machine/include/mips/arch-mips.inc | 38 | ||||
| -rw-r--r-- | meta/conf/machine/include/tune-mips32.inc | 17 |
3 files changed, 84 insertions, 7 deletions
diff --git a/meta/conf/machine/include/mips/README b/meta/conf/machine/include/mips/README new file mode 100644 index 0000000000..c375f316df --- /dev/null +++ b/meta/conf/machine/include/mips/README | |||
| @@ -0,0 +1,36 @@ | |||
| 1 | 2012/03/30 - Mark Hatle <mark.hatle@windriver.com> | ||
| 2 | - Initial Version | ||
| 3 | |||
| 4 | MIPS currently defines 12 ABIs. Combinations of: | ||
| 5 | *) Big/Little Endian | ||
| 6 | *) Hardware/Software Floating Point | ||
| 7 | *) o32, n32, n64 ABI | ||
| 8 | |||
| 9 | TUNE_ARCH, the GNU canonical arch, is defined as: | ||
| 10 | |||
| 11 | mips${MIPSPKGSFX_BYTE}${MIPSPKGSFX_ENDIAN} | ||
| 12 | |||
| 13 | The package arch is defined in such a way to generated a standard naming | ||
| 14 | scheme. The scheme is: <mips variant>[-nf][-n32] | ||
| 15 | |||
| 16 | TUNE_PKGARCH is defined as: | ||
| 17 | |||
| 18 | ${MIPSPKGSFX_VARIANT_tune-${DEFAULTTUNE}}${MIPSPKGSFX_FPU}${MIPSPKGSFX_ABI} | ||
| 19 | |||
| 20 | The following is a list of MIPS specific variables: | ||
| 21 | |||
| 22 | MIPSPKGSFX_BYTE - This is defined as either blank and "64" for MIPS64 CPUs. | ||
| 23 | |||
| 24 | MIPSPKGSFX_ENDIAN - For bigendian hardware this is blank, otherwise it's | ||
| 25 | defined as "el". | ||
| 26 | |||
| 27 | MIPSPKGSFX_VARIANT_tune-<tune> - In the default tunings it is set to the | ||
| 28 | same value as TUNE_ARCH. In custom, optimized tunings, the value should | ||
| 29 | be modified to more precisely describe the tuning. | ||
| 30 | |||
| 31 | MIPSPKGSFX_FPU - The value is set to "" or "-nf", where "-nf" indicates | ||
| 32 | that the tune is using a non-floating point ABI. | ||
| 33 | |||
| 34 | MIPSPKGSFX_ABI - This is used to specify an alternative ABI when the previous | ||
| 35 | values are not enough to distringuish the package. "-n32" is added when | ||
| 36 | building for N32 ABI. | ||
diff --git a/meta/conf/machine/include/mips/arch-mips.inc b/meta/conf/machine/include/mips/arch-mips.inc index b7ded765c1..8758ecd714 100644 --- a/meta/conf/machine/include/mips/arch-mips.inc +++ b/meta/conf/machine/include/mips/arch-mips.inc | |||
| @@ -36,32 +36,66 @@ MIPSPKGSFX_FPU = "${@bb.utils.contains("TUNE_FEATURES", "fpu-hard" , "", "-nf", | |||
| 36 | MIPSPKGSFX_ABI = "${@bb.utils.contains("TUNE_FEATURES", "n32", "-n32", "", d)}" | 36 | MIPSPKGSFX_ABI = "${@bb.utils.contains("TUNE_FEATURES", "n32", "-n32", "", d)}" |
| 37 | 37 | ||
| 38 | TUNE_ARCH = "mips${MIPSPKGSFX_BYTE}${MIPSPKGSFX_ENDIAN}" | 38 | TUNE_ARCH = "mips${MIPSPKGSFX_BYTE}${MIPSPKGSFX_ENDIAN}" |
| 39 | TUNE_PKGARCH ?= "${TUNE_ARCH}${MIPSPKGSFX_FPU}${MIPSPKGSFX_ABI}" | 39 | TUNE_PKGARCH = "${MIPSPKGSFX_VARIANT_tune-${DEFAULTTUNE}}${MIPSPKGSFX_FPU}${MIPSPKGSFX_ABI}" |
| 40 | 40 | ||
| 41 | # Base tunes | 41 | # Base tunes |
| 42 | AVAILTUNES += "mips mips64-n32 mips64 mipsel mips64el-n32 mips64el mips-nf mips64-nf-n32 mips64-nf mipsel-nf mips64el-nf-n32 mips64el-nf" | 42 | AVAILTUNES += "mips mips64-n32 mips64 mipsel mips64el-n32 mips64el mips-nf mips64-nf-n32 mips64-nf mipsel-nf mips64el-nf-n32 mips64el-nf" |
| 43 | TUNE_FEATURES_tune-mips = "o32 bigendian fpu-hard" | 43 | TUNE_FEATURES_tune-mips = "o32 bigendian fpu-hard" |
| 44 | BASE_LIB_tune-mips = "lib" | 44 | BASE_LIB_tune-mips = "lib" |
| 45 | MIPSPKGSFX_VARIANT_tune-mips = "${TUNE_ARCH}" | ||
| 46 | PACKAGE_EXTRA_ARCHS_tune-mips = "mips" | ||
| 47 | |||
| 45 | TUNE_FEATURES_tune-mips64-n32 = "n32 bigendian fpu-hard" | 48 | TUNE_FEATURES_tune-mips64-n32 = "n32 bigendian fpu-hard" |
| 46 | BASE_LIB_tune-mips64-n32 = "lib32" | 49 | BASE_LIB_tune-mips64-n32 = "lib32" |
| 50 | MIPSPKGSFX_VARIANT_tune-mips64-n32 = "${TUNE_ARCH}" | ||
| 51 | PACKAGE_EXTRA_ARCHS_tune-mips64-n32 = "mips64-n32" | ||
| 52 | |||
| 47 | TUNE_FEATURES_tune-mips64 = "n64 bigendian fpu-hard" | 53 | TUNE_FEATURES_tune-mips64 = "n64 bigendian fpu-hard" |
| 48 | BASE_LIB_tune-mips64 = "lib64" | 54 | BASE_LIB_tune-mips64 = "lib64" |
| 55 | MIPSPKGSFX_VARIANT_tune-mips64 = "${TUNE_ARCH}" | ||
| 56 | PACKAGE_EXTRA_ARCHS_tune-mips64 = "mips64" | ||
| 57 | |||
| 49 | TUNE_FEATURES_tune-mipsel = "o32 fpu-hard" | 58 | TUNE_FEATURES_tune-mipsel = "o32 fpu-hard" |
| 50 | BASE_LIB_tune-mipsel = "lib" | 59 | BASE_LIB_tune-mipsel = "lib" |
| 60 | MIPSPKGSFX_VARIANT_tune-mipsel = "${TUNE_ARCH}" | ||
| 61 | PACKAGE_EXTRA_ARCHS_tune-mipsel = "mipsel" | ||
| 62 | |||
| 51 | TUNE_FEATURES_tune-mips64el-n32 = "n32 fpu-hard" | 63 | TUNE_FEATURES_tune-mips64el-n32 = "n32 fpu-hard" |
| 52 | BASE_LIB_tune-mips64el-n32 = "lib32" | 64 | BASE_LIB_tune-mips64el-n32 = "lib32" |
| 65 | MIPSPKGSFX_VARIANT_tune-mips64el-n32 = "${TUNE_ARCH}" | ||
| 66 | PACKAGE_EXTRA_ARCHS_tune-mips64el-n32 = "mips64el-n32" | ||
| 67 | |||
| 53 | TUNE_FEATURES_tune-mips64el = "n64 fpu-hard" | 68 | TUNE_FEATURES_tune-mips64el = "n64 fpu-hard" |
| 54 | BASE_LIB_tune-mips64el = "lib64" | 69 | BASE_LIB_tune-mips64el = "lib64" |
| 70 | MIPSPKGSFX_VARIANT_tune-mips64el = "${TUNE_ARCH}" | ||
| 71 | PACKAGE_EXTRA_ARCHS_tune-mips64el = "mips64el" | ||
| 72 | |||
| 55 | TUNE_FEATURES_tune-mips-nf = "o32 bigendian" | 73 | TUNE_FEATURES_tune-mips-nf = "o32 bigendian" |
| 56 | BASE_LIB_tune-mips-nf = "lib" | 74 | BASE_LIB_tune-mips-nf = "lib" |
| 75 | MIPSPKGSFX_VARIANT_tune-mips-nf = "${TUNE_ARCH}" | ||
| 76 | PACKAGE_EXTRA_ARCHS_tune-mips-nf = "mips-nf" | ||
| 77 | |||
| 57 | TUNE_FEATURES_tune-mips64-nf-n32 = "n32 bigendian" | 78 | TUNE_FEATURES_tune-mips64-nf-n32 = "n32 bigendian" |
| 58 | BASE_LIB_tune-mips64-nf-n32 = "lib32" | 79 | BASE_LIB_tune-mips64-nf-n32 = "lib32" |
| 80 | MIPSPKGSFX_VARIANT_tune-mips64-nf-n32 = "${TUNE_ARCH}" | ||
| 81 | PACKAGE_EXTRA_ARCHS_tune-mips64-nf-n32 = "mips64-nf-n32" | ||
| 82 | |||
| 59 | TUNE_FEATURES_tune-mips64-nf = "n64 bigendian" | 83 | TUNE_FEATURES_tune-mips64-nf = "n64 bigendian" |
| 60 | BASE_LIB_tune-mips64-nf = "lib64" | 84 | BASE_LIB_tune-mips64-nf = "lib64" |
| 85 | MIPSPKGSFX_VARIANT_tune-mips64-nf = "${TUNE_ARCH}" | ||
| 86 | PACKAGE_EXTRA_ARCHS_tune-mips64-nf = "mips64-nf" | ||
| 87 | |||
| 61 | TUNE_FEATURES_tune-mipsel-nf = "o32" | 88 | TUNE_FEATURES_tune-mipsel-nf = "o32" |
| 62 | BASE_LIB_tune-mipsel-nf = "lib" | 89 | BASE_LIB_tune-mipsel-nf = "lib" |
| 90 | MIPSPKGSFX_VARIANT_tune-mipsel-nf = "${TUNE_ARCH}" | ||
| 91 | PACKAGE_EXTRA_ARCHS_tune-mipsel-nf = "mipsel-nf" | ||
| 92 | |||
| 63 | TUNE_FEATURES_tune-mips64el-nf-n32 = "n32" | 93 | TUNE_FEATURES_tune-mips64el-nf-n32 = "n32" |
| 64 | BASE_LIB_tune-mips64el-nf-n32 = "lib32" | 94 | BASE_LIB_tune-mips64el-nf-n32 = "lib32" |
| 95 | MIPSPKGSFX_VARIANT_tune-mips64el-nf-n32 = "${TUNE_ARCH}" | ||
| 96 | PACKAGE_EXTRA_ARCHS_tune-mips64el-nf-n32 = "mips64el-nf-n32" | ||
| 97 | |||
| 65 | TUNE_FEATURES_tune-mips64el-nf = "n64" | 98 | TUNE_FEATURES_tune-mips64el-nf = "n64" |
| 66 | BASE_LIB_tune-mips64el-nf = "lib64" | 99 | BASE_LIB_tune-mips64el-nf = "lib64" |
| 67 | 100 | MIPSPKGSFX_VARIANT_tune-mips64el-nf = "${TUNE_ARCH}" | |
| 101 | PACKAGE_EXTRA_ARCHS_tune-mips64el-nf = "mips64el-nf" | ||
diff --git a/meta/conf/machine/include/tune-mips32.inc b/meta/conf/machine/include/tune-mips32.inc index 45d865e381..93ed5ee793 100644 --- a/meta/conf/machine/include/tune-mips32.inc +++ b/meta/conf/machine/include/tune-mips32.inc | |||
| @@ -7,12 +7,19 @@ TUNE_CONFLICTS[mips32] = "n64 n32" | |||
| 7 | TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "mips32", "-march=mips32", "", d)}" | 7 | TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "mips32", "-march=mips32", "", d)}" |
| 8 | 8 | ||
| 9 | AVAILTUNES += "mips32 mips32el mips32-nf mips32el-nf" | 9 | AVAILTUNES += "mips32 mips32el mips32-nf mips32el-nf" |
| 10 | |||
| 10 | TUNE_FEATURES_tune-mips32 = "${TUNE_FEATURES_tune-mips} mips32" | 11 | TUNE_FEATURES_tune-mips32 = "${TUNE_FEATURES_tune-mips} mips32" |
| 11 | PACKAGE_EXTRA_ARCHS_tune-mips32 = "mips" | 12 | MIPSPKGSFX_VARIANT_tune-mips32 = "mips32" |
| 13 | PACKAGE_EXTRA_ARCHS_tune-mips32 = "mips mips32" | ||
| 14 | |||
| 12 | TUNE_FEATURES_tune-mips32el = "${TUNE_FEATURES_tune-mipsel} mips32" | 15 | TUNE_FEATURES_tune-mips32el = "${TUNE_FEATURES_tune-mipsel} mips32" |
| 13 | PACKAGE_EXTRA_ARCHS_tune-mips32el = "mipsel" | 16 | MIPSPKGSFX_VARIANT_tune-mips32el = "mips32el" |
| 17 | PACKAGE_EXTRA_ARCHS_tune-mips32el = "mipsel mips32el" | ||
| 18 | |||
| 14 | TUNE_FEATURES_tune-mips32-nf = "${TUNE_FEATURES_tune-mips-nf} mips32" | 19 | TUNE_FEATURES_tune-mips32-nf = "${TUNE_FEATURES_tune-mips-nf} mips32" |
| 15 | PACKAGE_EXTRA_ARCHS_tune-mips32-nf = "mips-nf" | 20 | MIPSPKGSFX_VARIANT_tune-mips32-nf = "mips32" |
| 16 | TUNE_FEATURES_tune-mips32el-nf = "${TUNE_FEATURES_tune-mipsel-nf} mips32" | 21 | PACKAGE_EXTRA_ARCHS_tune-mips32-nf = "mips-nf mips32-nf" |
| 17 | PACKAGE_EXTRA_ARCHS_tune-mips32el-nf = "mipsel-nf" | ||
| 18 | 22 | ||
| 23 | TUNE_FEATURES_tune-mips32el-nf = "${TUNE_FEATURES_tune-mipsel-nf} mips32" | ||
| 24 | MIPSPKGSFX_VARIANT_tune-mips32el-nf = "mips32el" | ||
| 25 | PACKAGE_EXTRA_ARCHS_tune-mips32el-nf = "mipsel-nf mips32el-nf" | ||
