diff options
Diffstat (limited to 'meta/conf/machine/include/mips')
-rw-r--r-- | meta/conf/machine/include/mips/README | 36 | ||||
-rw-r--r-- | meta/conf/machine/include/mips/arch-mips.inc | 38 |
2 files changed, 72 insertions, 2 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" | ||