summaryrefslogtreecommitdiffstats
path: root/meta/conf
diff options
context:
space:
mode:
Diffstat (limited to 'meta/conf')
-rw-r--r--meta/conf/machine/include/mips/README36
-rw-r--r--meta/conf/machine/include/mips/arch-mips.inc38
-rw-r--r--meta/conf/machine/include/tune-mips32.inc17
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 @@
12012/03/30 - Mark Hatle <mark.hatle@windriver.com>
2 - Initial Version
3
4MIPS currently defines 12 ABIs. Combinations of:
5 *) Big/Little Endian
6 *) Hardware/Software Floating Point
7 *) o32, n32, n64 ABI
8
9TUNE_ARCH, the GNU canonical arch, is defined as:
10
11mips${MIPSPKGSFX_BYTE}${MIPSPKGSFX_ENDIAN}
12
13The package arch is defined in such a way to generated a standard naming
14scheme. The scheme is: <mips variant>[-nf][-n32]
15
16TUNE_PKGARCH is defined as:
17
18${MIPSPKGSFX_VARIANT_tune-${DEFAULTTUNE}}${MIPSPKGSFX_FPU}${MIPSPKGSFX_ABI}
19
20The following is a list of MIPS specific variables:
21
22MIPSPKGSFX_BYTE - This is defined as either blank and "64" for MIPS64 CPUs.
23
24MIPSPKGSFX_ENDIAN - For bigendian hardware this is blank, otherwise it's
25defined as "el".
26
27MIPSPKGSFX_VARIANT_tune-<tune> - In the default tunings it is set to the
28same value as TUNE_ARCH. In custom, optimized tunings, the value should
29be modified to more precisely describe the tuning.
30
31MIPSPKGSFX_FPU - The value is set to "" or "-nf", where "-nf" indicates
32that the tune is using a non-floating point ABI.
33
34MIPSPKGSFX_ABI - This is used to specify an alternative ABI when the previous
35values are not enough to distringuish the package. "-n32" is added when
36building 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",
36MIPSPKGSFX_ABI = "${@bb.utils.contains("TUNE_FEATURES", "n32", "-n32", "", d)}" 36MIPSPKGSFX_ABI = "${@bb.utils.contains("TUNE_FEATURES", "n32", "-n32", "", d)}"
37 37
38TUNE_ARCH = "mips${MIPSPKGSFX_BYTE}${MIPSPKGSFX_ENDIAN}" 38TUNE_ARCH = "mips${MIPSPKGSFX_BYTE}${MIPSPKGSFX_ENDIAN}"
39TUNE_PKGARCH ?= "${TUNE_ARCH}${MIPSPKGSFX_FPU}${MIPSPKGSFX_ABI}" 39TUNE_PKGARCH = "${MIPSPKGSFX_VARIANT_tune-${DEFAULTTUNE}}${MIPSPKGSFX_FPU}${MIPSPKGSFX_ABI}"
40 40
41# Base tunes 41# Base tunes
42AVAILTUNES += "mips mips64-n32 mips64 mipsel mips64el-n32 mips64el mips-nf mips64-nf-n32 mips64-nf mipsel-nf mips64el-nf-n32 mips64el-nf" 42AVAILTUNES += "mips mips64-n32 mips64 mipsel mips64el-n32 mips64el mips-nf mips64-nf-n32 mips64-nf mipsel-nf mips64el-nf-n32 mips64el-nf"
43TUNE_FEATURES_tune-mips = "o32 bigendian fpu-hard" 43TUNE_FEATURES_tune-mips = "o32 bigendian fpu-hard"
44BASE_LIB_tune-mips = "lib" 44BASE_LIB_tune-mips = "lib"
45MIPSPKGSFX_VARIANT_tune-mips = "${TUNE_ARCH}"
46PACKAGE_EXTRA_ARCHS_tune-mips = "mips"
47
45TUNE_FEATURES_tune-mips64-n32 = "n32 bigendian fpu-hard" 48TUNE_FEATURES_tune-mips64-n32 = "n32 bigendian fpu-hard"
46BASE_LIB_tune-mips64-n32 = "lib32" 49BASE_LIB_tune-mips64-n32 = "lib32"
50MIPSPKGSFX_VARIANT_tune-mips64-n32 = "${TUNE_ARCH}"
51PACKAGE_EXTRA_ARCHS_tune-mips64-n32 = "mips64-n32"
52
47TUNE_FEATURES_tune-mips64 = "n64 bigendian fpu-hard" 53TUNE_FEATURES_tune-mips64 = "n64 bigendian fpu-hard"
48BASE_LIB_tune-mips64 = "lib64" 54BASE_LIB_tune-mips64 = "lib64"
55MIPSPKGSFX_VARIANT_tune-mips64 = "${TUNE_ARCH}"
56PACKAGE_EXTRA_ARCHS_tune-mips64 = "mips64"
57
49TUNE_FEATURES_tune-mipsel = "o32 fpu-hard" 58TUNE_FEATURES_tune-mipsel = "o32 fpu-hard"
50BASE_LIB_tune-mipsel = "lib" 59BASE_LIB_tune-mipsel = "lib"
60MIPSPKGSFX_VARIANT_tune-mipsel = "${TUNE_ARCH}"
61PACKAGE_EXTRA_ARCHS_tune-mipsel = "mipsel"
62
51TUNE_FEATURES_tune-mips64el-n32 = "n32 fpu-hard" 63TUNE_FEATURES_tune-mips64el-n32 = "n32 fpu-hard"
52BASE_LIB_tune-mips64el-n32 = "lib32" 64BASE_LIB_tune-mips64el-n32 = "lib32"
65MIPSPKGSFX_VARIANT_tune-mips64el-n32 = "${TUNE_ARCH}"
66PACKAGE_EXTRA_ARCHS_tune-mips64el-n32 = "mips64el-n32"
67
53TUNE_FEATURES_tune-mips64el = "n64 fpu-hard" 68TUNE_FEATURES_tune-mips64el = "n64 fpu-hard"
54BASE_LIB_tune-mips64el = "lib64" 69BASE_LIB_tune-mips64el = "lib64"
70MIPSPKGSFX_VARIANT_tune-mips64el = "${TUNE_ARCH}"
71PACKAGE_EXTRA_ARCHS_tune-mips64el = "mips64el"
72
55TUNE_FEATURES_tune-mips-nf = "o32 bigendian" 73TUNE_FEATURES_tune-mips-nf = "o32 bigendian"
56BASE_LIB_tune-mips-nf = "lib" 74BASE_LIB_tune-mips-nf = "lib"
75MIPSPKGSFX_VARIANT_tune-mips-nf = "${TUNE_ARCH}"
76PACKAGE_EXTRA_ARCHS_tune-mips-nf = "mips-nf"
77
57TUNE_FEATURES_tune-mips64-nf-n32 = "n32 bigendian" 78TUNE_FEATURES_tune-mips64-nf-n32 = "n32 bigendian"
58BASE_LIB_tune-mips64-nf-n32 = "lib32" 79BASE_LIB_tune-mips64-nf-n32 = "lib32"
80MIPSPKGSFX_VARIANT_tune-mips64-nf-n32 = "${TUNE_ARCH}"
81PACKAGE_EXTRA_ARCHS_tune-mips64-nf-n32 = "mips64-nf-n32"
82
59TUNE_FEATURES_tune-mips64-nf = "n64 bigendian" 83TUNE_FEATURES_tune-mips64-nf = "n64 bigendian"
60BASE_LIB_tune-mips64-nf = "lib64" 84BASE_LIB_tune-mips64-nf = "lib64"
85MIPSPKGSFX_VARIANT_tune-mips64-nf = "${TUNE_ARCH}"
86PACKAGE_EXTRA_ARCHS_tune-mips64-nf = "mips64-nf"
87
61TUNE_FEATURES_tune-mipsel-nf = "o32" 88TUNE_FEATURES_tune-mipsel-nf = "o32"
62BASE_LIB_tune-mipsel-nf = "lib" 89BASE_LIB_tune-mipsel-nf = "lib"
90MIPSPKGSFX_VARIANT_tune-mipsel-nf = "${TUNE_ARCH}"
91PACKAGE_EXTRA_ARCHS_tune-mipsel-nf = "mipsel-nf"
92
63TUNE_FEATURES_tune-mips64el-nf-n32 = "n32" 93TUNE_FEATURES_tune-mips64el-nf-n32 = "n32"
64BASE_LIB_tune-mips64el-nf-n32 = "lib32" 94BASE_LIB_tune-mips64el-nf-n32 = "lib32"
95MIPSPKGSFX_VARIANT_tune-mips64el-nf-n32 = "${TUNE_ARCH}"
96PACKAGE_EXTRA_ARCHS_tune-mips64el-nf-n32 = "mips64el-nf-n32"
97
65TUNE_FEATURES_tune-mips64el-nf = "n64" 98TUNE_FEATURES_tune-mips64el-nf = "n64"
66BASE_LIB_tune-mips64el-nf = "lib64" 99BASE_LIB_tune-mips64el-nf = "lib64"
67 100MIPSPKGSFX_VARIANT_tune-mips64el-nf = "${TUNE_ARCH}"
101PACKAGE_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"
7TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "mips32", "-march=mips32", "", d)}" 7TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "mips32", "-march=mips32", "", d)}"
8 8
9AVAILTUNES += "mips32 mips32el mips32-nf mips32el-nf" 9AVAILTUNES += "mips32 mips32el mips32-nf mips32el-nf"
10
10TUNE_FEATURES_tune-mips32 = "${TUNE_FEATURES_tune-mips} mips32" 11TUNE_FEATURES_tune-mips32 = "${TUNE_FEATURES_tune-mips} mips32"
11PACKAGE_EXTRA_ARCHS_tune-mips32 = "mips" 12MIPSPKGSFX_VARIANT_tune-mips32 = "mips32"
13PACKAGE_EXTRA_ARCHS_tune-mips32 = "mips mips32"
14
12TUNE_FEATURES_tune-mips32el = "${TUNE_FEATURES_tune-mipsel} mips32" 15TUNE_FEATURES_tune-mips32el = "${TUNE_FEATURES_tune-mipsel} mips32"
13PACKAGE_EXTRA_ARCHS_tune-mips32el = "mipsel" 16MIPSPKGSFX_VARIANT_tune-mips32el = "mips32el"
17PACKAGE_EXTRA_ARCHS_tune-mips32el = "mipsel mips32el"
18
14TUNE_FEATURES_tune-mips32-nf = "${TUNE_FEATURES_tune-mips-nf} mips32" 19TUNE_FEATURES_tune-mips32-nf = "${TUNE_FEATURES_tune-mips-nf} mips32"
15PACKAGE_EXTRA_ARCHS_tune-mips32-nf = "mips-nf" 20MIPSPKGSFX_VARIANT_tune-mips32-nf = "mips32"
16TUNE_FEATURES_tune-mips32el-nf = "${TUNE_FEATURES_tune-mipsel-nf} mips32" 21PACKAGE_EXTRA_ARCHS_tune-mips32-nf = "mips-nf mips32-nf"
17PACKAGE_EXTRA_ARCHS_tune-mips32el-nf = "mipsel-nf"
18 22
23TUNE_FEATURES_tune-mips32el-nf = "${TUNE_FEATURES_tune-mipsel-nf} mips32"
24MIPSPKGSFX_VARIANT_tune-mips32el-nf = "mips32el"
25PACKAGE_EXTRA_ARCHS_tune-mips32el-nf = "mipsel-nf mips32el-nf"