diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-07-26 12:32:29 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-07-27 15:45:48 +0100 |
commit | f06bce4882e82d49f1f9ae88546ce3ee41f65b78 (patch) | |
tree | 322f427a3b3772ecc8efe18ca2b9d85a089d5b2d /meta/conf/machine | |
parent | 6afd21bced6513986f27d8cbc7d83bb2d804b5b0 (diff) | |
download | poky-f06bce4882e82d49f1f9ae88546ce3ee41f65b78.tar.gz |
Add basic Mips core tune config
Acked-by: Mark Hatle <mark.hatle@windriver.com>
(From OE-Core rev: b33cdc23c04acfa55df0f764e1648bf030ae5e9c)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/conf/machine')
-rw-r--r-- | meta/conf/machine/include/mips/arch-mips.inc | 68 | ||||
-rw-r--r-- | meta/conf/machine/include/tune-mips32.inc | 11 |
2 files changed, 76 insertions, 3 deletions
diff --git a/meta/conf/machine/include/mips/arch-mips.inc b/meta/conf/machine/include/mips/arch-mips.inc index f7f4eeddff..b7ded765c1 100644 --- a/meta/conf/machine/include/mips/arch-mips.inc +++ b/meta/conf/machine/include/mips/arch-mips.inc | |||
@@ -1 +1,67 @@ | |||
1 | TUNE_ARCH = "mips" | 1 | # MIPS Architecture definition |
2 | # 12 defined ABIs, all combinations of: | ||
3 | # *) Big/Little Endian | ||
4 | # *) Hardware/Software Floating Point | ||
5 | # *) o32, n32, n64 ABI | ||
6 | |||
7 | DEFAULTTUNE ?= "mips" | ||
8 | |||
9 | # Endianess | ||
10 | TUNEVALID[bigendian] = "Enable big-endian mode" | ||
11 | TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "bigendian", "-meb", "-mel", d)}" | ||
12 | |||
13 | # ABI flags | ||
14 | TUNEVALID[o32] = "MIPS o32 ABI" | ||
15 | TUNECONFLICT[o32] = "n32 n64" | ||
16 | TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "o32", "-mabi=32", "", d)}" | ||
17 | |||
18 | TUNEVALID[n32] = "MIPS64 n32 ABI" | ||
19 | TUNECONFLICT[n32] = "o32 n64" | ||
20 | TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "n32", "-mabi=n32", "", d)}" | ||
21 | |||
22 | TUNEVALID[n64] = "MIPS64 n64 ABI" | ||
23 | TUNECONFLICT[n64] = "o32 n32" | ||
24 | TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "n64", "-mabi=64", "", d)}" | ||
25 | |||
26 | # Floating point | ||
27 | TUNEVALID[fpu-hard] = "Use hardware FPU" | ||
28 | TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "fpu-hard", "-mhard-float", "-msoft-float", d)}" | ||
29 | TARGET_FPU = "${@bb.utils.contains("TUNE_FEATURES", "fpu-hard", "", "soft", d)}" | ||
30 | |||
31 | # Package naming | ||
32 | MIPSPKGSFX_ENDIAN = "${@bb.utils.contains("TUNE_FEATURES", "bigendian", "", "el", d)}" | ||
33 | MIPSPKGSFX_BYTE = "${@bb.utils.contains("TUNE_FEATURES", "n64" , "64", "", d)}" | ||
34 | MIPSPKGSFX_BYTE .= "${@bb.utils.contains("TUNE_FEATURES", "n32" , "64", "", d)}" | ||
35 | MIPSPKGSFX_FPU = "${@bb.utils.contains("TUNE_FEATURES", "fpu-hard" , "", "-nf", d)}" | ||
36 | MIPSPKGSFX_ABI = "${@bb.utils.contains("TUNE_FEATURES", "n32", "-n32", "", d)}" | ||
37 | |||
38 | TUNE_ARCH = "mips${MIPSPKGSFX_BYTE}${MIPSPKGSFX_ENDIAN}" | ||
39 | TUNE_PKGARCH ?= "${TUNE_ARCH}${MIPSPKGSFX_FPU}${MIPSPKGSFX_ABI}" | ||
40 | |||
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" | ||
43 | TUNE_FEATURES_tune-mips = "o32 bigendian fpu-hard" | ||
44 | BASE_LIB_tune-mips = "lib" | ||
45 | TUNE_FEATURES_tune-mips64-n32 = "n32 bigendian fpu-hard" | ||
46 | BASE_LIB_tune-mips64-n32 = "lib32" | ||
47 | TUNE_FEATURES_tune-mips64 = "n64 bigendian fpu-hard" | ||
48 | BASE_LIB_tune-mips64 = "lib64" | ||
49 | TUNE_FEATURES_tune-mipsel = "o32 fpu-hard" | ||
50 | BASE_LIB_tune-mipsel = "lib" | ||
51 | TUNE_FEATURES_tune-mips64el-n32 = "n32 fpu-hard" | ||
52 | BASE_LIB_tune-mips64el-n32 = "lib32" | ||
53 | TUNE_FEATURES_tune-mips64el = "n64 fpu-hard" | ||
54 | BASE_LIB_tune-mips64el = "lib64" | ||
55 | TUNE_FEATURES_tune-mips-nf = "o32 bigendian" | ||
56 | BASE_LIB_tune-mips-nf = "lib" | ||
57 | TUNE_FEATURES_tune-mips64-nf-n32 = "n32 bigendian" | ||
58 | BASE_LIB_tune-mips64-nf-n32 = "lib32" | ||
59 | TUNE_FEATURES_tune-mips64-nf = "n64 bigendian" | ||
60 | BASE_LIB_tune-mips64-nf = "lib64" | ||
61 | TUNE_FEATURES_tune-mipsel-nf = "o32" | ||
62 | BASE_LIB_tune-mipsel-nf = "lib" | ||
63 | TUNE_FEATURES_tune-mips64el-nf-n32 = "n32" | ||
64 | BASE_LIB_tune-mips64el-nf-n32 = "lib32" | ||
65 | TUNE_FEATURES_tune-mips64el-nf = "n64" | ||
66 | BASE_LIB_tune-mips64el-nf = "lib64" | ||
67 | |||
diff --git a/meta/conf/machine/include/tune-mips32.inc b/meta/conf/machine/include/tune-mips32.inc index 28b00479e2..45792d8fc4 100644 --- a/meta/conf/machine/include/tune-mips32.inc +++ b/meta/conf/machine/include/tune-mips32.inc | |||
@@ -1,4 +1,11 @@ | |||
1 | DEFAULTTUNE ?= "mips32" | ||
2 | |||
1 | require conf/machine/include/mips/arch-mips.inc | 3 | require conf/machine/include/mips/arch-mips.inc |
2 | 4 | ||
3 | TUNE_CCARGS = "-march=mips32" | 5 | TUNEVALID[mips32] = "Enable mips32 specific processor optimizations" |
4 | TUNE_PKGARCH = "mips" | 6 | TUNE_CONFLICTS[mips32] = "n64 n32" |
7 | TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "mips32", "-march=mips32", "", d)}" | ||
8 | |||
9 | AVAILTUNES += "mips32" | ||
10 | TUNE_FEATURES_tune-mips32 = "${TUNE_FEATURES_tune-mips} mips32" | ||
11 | PACKAGE_EXTRA_ARCHS_tune-mips32 = "mips" | ||