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 | |
| 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>
| -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" | ||
