diff options
Diffstat (limited to 'meta/conf/machine/include/powerpc')
18 files changed, 325 insertions, 33 deletions
diff --git a/meta/conf/machine/include/powerpc/README b/meta/conf/machine/include/powerpc/README index e87fb5082c..e813d21818 100644 --- a/meta/conf/machine/include/powerpc/README +++ b/meta/conf/machine/include/powerpc/README | |||
@@ -12,6 +12,6 @@ May of the PowerPC package archictures are based on legacy Linux names. | |||
12 | However, a general naming scheme should be similar to: ppc[64][<family>][-nf]. | 12 | However, a general naming scheme should be similar to: ppc[64][<family>][-nf]. |
13 | (Note: the default package architectures are "powerpc" and "powerpc64".) | 13 | (Note: the default package architectures are "powerpc" and "powerpc64".) |
14 | 14 | ||
15 | TUNE_PKGARCH is defined as TUNE_PKGARCH_tune-${DEFAULTTUNE}. All | 15 | TUNE_PKGARCH is defined as TUNE_PKGARCH:tune-${DEFAULTTUNE}. All |
16 | PowerPC tunings are required to define TUNE_PKGARCH_tune-<tune>. | 16 | PowerPC tunings are required to define TUNE_PKGARCH:tune-<tune>. |
17 | 17 | ||
diff --git a/meta/conf/machine/include/powerpc/arch-powerpc.inc b/meta/conf/machine/include/powerpc/arch-powerpc.inc index ef18e9ac8b..be687e2df7 100644 --- a/meta/conf/machine/include/powerpc/arch-powerpc.inc +++ b/meta/conf/machine/include/powerpc/arch-powerpc.inc | |||
@@ -5,7 +5,7 @@ | |||
5 | 5 | ||
6 | DEFAULTTUNE ?= "powerpc" | 6 | DEFAULTTUNE ?= "powerpc" |
7 | 7 | ||
8 | TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}" | 8 | TUNE_PKGARCH = "${TUNE_PKGARCH:tune-${DEFAULTTUNE}}" |
9 | ABIEXTENSION ?= "" | 9 | ABIEXTENSION ?= "" |
10 | 10 | ||
11 | # Endian | 11 | # Endian |
@@ -30,22 +30,22 @@ TUNEVALID[altivec] = "Altivec" | |||
30 | # Basic tune definitions | 30 | # Basic tune definitions |
31 | AVAILTUNES += "powerpc powerpc-nf powerpcle powerpcle-nf" | 31 | AVAILTUNES += "powerpc powerpc-nf powerpcle powerpcle-nf" |
32 | 32 | ||
33 | TUNE_FEATURES_tune-powerpc-nf = "m32 fpu-soft bigendian" | 33 | TUNE_FEATURES:tune-powerpc-nf = "m32 fpu-soft bigendian" |
34 | BASE_LIB_tune-powerpc-nf = "lib" | 34 | BASE_LIB:tune-powerpc-nf = "lib" |
35 | TUNE_PKGARCH_tune-powerpc-nf = "powerpc-nf" | 35 | TUNE_PKGARCH:tune-powerpc-nf = "powerpc-nf" |
36 | PACKAGE_EXTRA_ARCHS_tune-powerpc-nf = "powerpc-nf" | 36 | PACKAGE_EXTRA_ARCHS:tune-powerpc-nf = "powerpc-nf" |
37 | 37 | ||
38 | TUNE_FEATURES_tune-powerpc = "m32 fpu-hard bigendian" | 38 | TUNE_FEATURES:tune-powerpc = "m32 fpu-hard bigendian" |
39 | BASE_LIB_tune-powerpc = "lib" | 39 | BASE_LIB:tune-powerpc = "lib" |
40 | TUNE_PKGARCH_tune-powerpc = "powerpc" | 40 | TUNE_PKGARCH:tune-powerpc = "powerpc" |
41 | PACKAGE_EXTRA_ARCHS_tune-powerpc = "powerpc" | 41 | PACKAGE_EXTRA_ARCHS:tune-powerpc = "powerpc" |
42 | 42 | ||
43 | TUNE_FEATURES_tune-powerpcle-nf = "m32 fpu-soft" | 43 | TUNE_FEATURES:tune-powerpcle-nf = "m32 fpu-soft" |
44 | BASE_LIB_tune-powerpcle-nf = "lib" | 44 | BASE_LIB:tune-powerpcle-nf = "lib" |
45 | TUNE_PKGARCH_tune-powerpcle-nf = "powerpcle-nf" | 45 | TUNE_PKGARCH:tune-powerpcle-nf = "powerpcle-nf" |
46 | PACKAGE_EXTRA_ARCHS_tune-powerpcle-nf = "powerpcle-nf" | 46 | PACKAGE_EXTRA_ARCHS:tune-powerpcle-nf = "powerpcle-nf" |
47 | 47 | ||
48 | TUNE_FEATURES_tune-powerpcle = "m32 fpu-hard" | 48 | TUNE_FEATURES:tune-powerpcle = "m32 fpu-hard" |
49 | BASE_LIB_tune-powerpcle = "lib" | 49 | BASE_LIB:tune-powerpcle = "lib" |
50 | TUNE_PKGARCH_tune-powerpcle = "powerpcle" | 50 | TUNE_PKGARCH:tune-powerpcle = "powerpcle" |
51 | PACKAGE_EXTRA_ARCHS_tune-powerpcle = "powerpcle" | 51 | PACKAGE_EXTRA_ARCHS:tune-powerpcle = "powerpcle" |
diff --git a/meta/conf/machine/include/powerpc/arch-powerpc64.inc b/meta/conf/machine/include/powerpc/arch-powerpc64.inc index cf5c3ef8e6..2533151869 100644 --- a/meta/conf/machine/include/powerpc/arch-powerpc64.inc +++ b/meta/conf/machine/include/powerpc/arch-powerpc64.inc | |||
@@ -10,17 +10,14 @@ TUNE_ARCH .= "${@bb.utils.contains('TUNE_FEATURES', [ 'm64' ], 'powerpc64${ENDIA | |||
10 | # musl only supports elfv2 ABI for ppc64 | 10 | # musl only supports elfv2 ABI for ppc64 |
11 | TUNE_CCARGS .= "${@['', ' -mabi=elfv2']['libc-musl' in d.getVar('OVERRIDES').split(':')]}" | 11 | TUNE_CCARGS .= "${@['', ' -mabi=elfv2']['libc-musl' in d.getVar('OVERRIDES').split(':')]}" |
12 | 12 | ||
13 | # user mode qemu doesn't support ppc64 | ||
14 | MACHINE_FEATURES_BACKFILL_CONSIDERED_append = " ${@bb.utils.contains('TUNE_FEATURES', 'm64', 'qemu-usermode', '', d)}" | ||
15 | |||
16 | AVAILTUNES += "powerpc64 powerpc64le" | 13 | AVAILTUNES += "powerpc64 powerpc64le" |
17 | 14 | ||
18 | TUNE_FEATURES_tune-powerpc64 = "m64 fpu-hard bigendian" | 15 | TUNE_FEATURES:tune-powerpc64 = "m64 fpu-hard bigendian" |
19 | BASE_LIB_tune-powerpc64 = "lib64" | 16 | BASE_LIB:tune-powerpc64 = "lib64" |
20 | TUNE_PKGARCH_tune-powerpc64 = "powerpc64" | 17 | TUNE_PKGARCH:tune-powerpc64 = "powerpc64" |
21 | PACKAGE_EXTRA_ARCHS_tune-powerpc64 = "powerpc64" | 18 | PACKAGE_EXTRA_ARCHS:tune-powerpc64 = "powerpc64" |
22 | 19 | ||
23 | TUNE_FEATURES_tune-powerpc64le = "m64 fpu-hard" | 20 | TUNE_FEATURES:tune-powerpc64le = "m64 fpu-hard" |
24 | BASE_LIB_tune-powerpc64le = "lib64" | 21 | BASE_LIB:tune-powerpc64le = "lib64" |
25 | TUNE_PKGARCH_tune-powerpc64le = "powerpc64le" | 22 | TUNE_PKGARCH:tune-powerpc64le = "powerpc64le" |
26 | PACKAGE_EXTRA_ARCHS_tune-powerpc64le = "powerpc64le" | 23 | PACKAGE_EXTRA_ARCHS:tune-powerpc64le = "powerpc64le" |
diff --git a/meta/conf/machine/include/powerpc/tune-power5.inc b/meta/conf/machine/include/powerpc/tune-power5.inc new file mode 100644 index 0000000000..e70e401217 --- /dev/null +++ b/meta/conf/machine/include/powerpc/tune-power5.inc | |||
@@ -0,0 +1,24 @@ | |||
1 | DEFAULTTUNE ?= "ppcp5" | ||
2 | |||
3 | require conf/machine/include/powerpc/arch-powerpc64.inc | ||
4 | |||
5 | TUNEVALID[power5] = "Enable IBM Power5 specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'power5', ' -mcpu=power5', '', d)}" | ||
7 | |||
8 | AVAILTUNES += "ppcp5 ppc64p5" | ||
9 | TUNE_FEATURES:tune-ppcp5 = "m32 fpu-hard power5 altivec bigendian" | ||
10 | BASE_LIB:tune-ppcp5 = "lib" | ||
11 | TUNE_PKGARCH:tune-ppcp5 = "ppcp5" | ||
12 | PACKAGE_EXTRA_ARCHS:tune-ppcp5 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppcp5" | ||
13 | |||
14 | TUNE_FEATURES:tune-ppc64p5 = "m64 fpu-hard power5 altivec bigendian" | ||
15 | BASE_LIB:tune-ppc64p5 = "lib64" | ||
16 | TUNE_PKGARCH:tune-ppc64p5 = "ppc64p5" | ||
17 | PACKAGE_EXTRA_ARCHS:tune-ppc64p5 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc64} ppc64p5" | ||
18 | |||
19 | # glibc configure options to get power5 specific library | ||
20 | GLIBC_EXTRA_OECONF:powerpc64 += "${@bb.utils.contains('TUNE_FEATURES', 'power5', '--with-cpu=power5', '', d)}" | ||
21 | GLIBC_EXTRA_OECONF:powerpc += "${@bb.utils.contains('TUNE_FEATURES', 'power5', '--with-cpu=power5', '', d)}" | ||
22 | |||
23 | # QEMU usermode fails with invalid instruction error | ||
24 | MACHINE_FEATURES_BACKFILL_CONSIDERED:append = "${@bb.utils.contains('TUNE_FEATURES', 'power5', ' qemu-usermode', '', d)}" | ||
diff --git a/meta/conf/machine/include/powerpc/tune-power6.inc b/meta/conf/machine/include/powerpc/tune-power6.inc new file mode 100644 index 0000000000..eaf89515ca --- /dev/null +++ b/meta/conf/machine/include/powerpc/tune-power6.inc | |||
@@ -0,0 +1,24 @@ | |||
1 | DEFAULTTUNE ?= "ppcp6" | ||
2 | |||
3 | require conf/machine/include/powerpc/arch-powerpc64.inc | ||
4 | |||
5 | TUNEVALID[power6] = "Enable IBM Power6 specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'power6', ' -mcpu=power6', '', d)}" | ||
7 | |||
8 | AVAILTUNES += "ppcp6 ppc64p6" | ||
9 | TUNE_FEATURES:tune-ppcp6 = "m32 fpu-hard power6 altivec bigendian" | ||
10 | BASE_LIB:tune-ppcp6 = "lib" | ||
11 | TUNE_PKGARCH:tune-ppcp6 = "ppcp6" | ||
12 | PACKAGE_EXTRA_ARCHS:tune-ppcp6 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppcp6" | ||
13 | |||
14 | TUNE_FEATURES:tune-ppc64p6 = "m64 fpu-hard power6 altivec bigendian" | ||
15 | BASE_LIB:tune-ppc64p6 = "lib64" | ||
16 | TUNE_PKGARCH:tune-ppc64p6 = "ppc64p6" | ||
17 | PACKAGE_EXTRA_ARCHS:tune-ppc64p6 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc64} ppc64p6" | ||
18 | |||
19 | # glibc configure options to get power6 specific library | ||
20 | GLIBC_EXTRA_OECONF:powerpc64 += "${@bb.utils.contains('TUNE_FEATURES', 'power6', '--with-cpu=power6', '', d)}" | ||
21 | GLIBC_EXTRA_OECONF:powerpc += "${@bb.utils.contains('TUNE_FEATURES', 'power6', '--with-cpu=power6', '', d)}" | ||
22 | |||
23 | # QEMU usermode fails with invalid instruction error | ||
24 | MACHINE_FEATURES_BACKFILL_CONSIDERED:append = "${@bb.utils.contains('TUNE_FEATURES', 'power6', ' qemu-usermode', '', d)}" | ||
diff --git a/meta/conf/machine/include/powerpc/tune-power7.inc b/meta/conf/machine/include/powerpc/tune-power7.inc new file mode 100644 index 0000000000..4531ddd85f --- /dev/null +++ b/meta/conf/machine/include/powerpc/tune-power7.inc | |||
@@ -0,0 +1,24 @@ | |||
1 | DEFAULTTUNE ?= "ppcp7" | ||
2 | |||
3 | require conf/machine/include/powerpc/arch-powerpc64.inc | ||
4 | |||
5 | TUNEVALID[power7] = "Enable IBM Power7 specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'power7', ' -mcpu=power7', '', d)}" | ||
7 | |||
8 | AVAILTUNES += "ppcp7 ppc64p7" | ||
9 | TUNE_FEATURES:tune-ppcp7 = "m32 fpu-hard power7 altivec bigendian" | ||
10 | BASE_LIB:tune-ppcp7 = "lib" | ||
11 | TUNE_PKGARCH:tune-ppcp7 = "ppcp7" | ||
12 | PACKAGE_EXTRA_ARCHS:tune-ppcp7 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppcp7" | ||
13 | |||
14 | TUNE_FEATURES:tune-ppc64p7 = "m64 fpu-hard power7 altivec bigendian" | ||
15 | BASE_LIB:tune-ppc64p7 = "lib64" | ||
16 | TUNE_PKGARCH:tune-ppc64p7 = "ppc64p7" | ||
17 | PACKAGE_EXTRA_ARCHS:tune-ppc64p7 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc64} ppc64p7" | ||
18 | |||
19 | # glibc configure options to get power7 specific library | ||
20 | GLIBC_EXTRA_OECONF:powerpc64 += "${@bb.utils.contains('TUNE_FEATURES', 'power7', '--with-cpu=power7', '', d)}" | ||
21 | GLIBC_EXTRA_OECONF:powerpc += "${@bb.utils.contains('TUNE_FEATURES', 'power7', '--with-cpu=power7', '', d)}" | ||
22 | |||
23 | # QEMU usermode fails with invalid instruction error | ||
24 | MACHINE_FEATURES_BACKFILL_CONSIDERED:append = "${@bb.utils.contains('TUNE_FEATURES', 'power7', ' qemu-usermode', '', d)}" | ||
diff --git a/meta/conf/machine/include/powerpc/tune-power8.inc b/meta/conf/machine/include/powerpc/tune-power8.inc new file mode 100644 index 0000000000..ee10f2428f --- /dev/null +++ b/meta/conf/machine/include/powerpc/tune-power8.inc | |||
@@ -0,0 +1,31 @@ | |||
1 | DEFAULTTUNE ?= "ppc64p8le" | ||
2 | |||
3 | require conf/machine/include/powerpc/arch-powerpc64.inc | ||
4 | |||
5 | TUNEVALID[power8] = "Enable IBM Power8 specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'power8', ' -mcpu=power8', '', d)}" | ||
7 | |||
8 | AVAILTUNES += "ppcp8 ppc64p8 ppcp8le ppc64p8le" | ||
9 | |||
10 | TUNE_FEATURES:tune-ppcp8 = "m32 fpu-hard power8 altivec bigendian" | ||
11 | BASE_LIB:tune-ppcp8 = "lib" | ||
12 | TUNE_PKGARCH:tune-ppcp8 = "ppcp8" | ||
13 | PACKAGE_EXTRA_ARCHS:tune-ppcp8 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppcp8" | ||
14 | |||
15 | TUNE_FEATURES:tune-ppc64p8 = "m64 fpu-hard power8 altivec bigendian" | ||
16 | BASE_LIB:tune-ppc64p8 = "lib64" | ||
17 | TUNE_PKGARCH:tune-ppc64p8 = "ppc64p8" | ||
18 | PACKAGE_EXTRA_ARCHS:tune-ppc64p8 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc64} ppc64p8" | ||
19 | |||
20 | TUNE_FEATURES:tune-ppcp8le = "m32 fpu-hard power8 altivec" | ||
21 | BASE_LIB:tune-ppcp8le = "lib" | ||
22 | TUNE_PKGARCH:tune-ppcp8le = "ppcp8le" | ||
23 | PACKAGE_EXTRA_ARCHS:tune-ppcp8le = "${PACKAGE_EXTRA_ARCHS:tune-powerpcle} ppcp8le" | ||
24 | |||
25 | TUNE_FEATURES:tune-ppc64p8le = "m64 fpu-hard power8 altivec" | ||
26 | BASE_LIB:tune-ppc64p8le = "lib64" | ||
27 | TUNE_PKGARCH:tune-ppc64p8le = "ppc64p8le" | ||
28 | PACKAGE_EXTRA_ARCHS:tune-ppc64p8le = "${PACKAGE_EXTRA_ARCHS:tune-powerpc64le} ppc64p8le" | ||
29 | |||
30 | # glibc configure options to get power8 specific library | ||
31 | GLIBC_EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'power8', '--with-cpu=power8', '', d)}" | ||
diff --git a/meta/conf/machine/include/powerpc/tune-power9.inc b/meta/conf/machine/include/powerpc/tune-power9.inc new file mode 100644 index 0000000000..6744731f8e --- /dev/null +++ b/meta/conf/machine/include/powerpc/tune-power9.inc | |||
@@ -0,0 +1,31 @@ | |||
1 | DEFAULTTUNE ?= "ppc64p9le" | ||
2 | |||
3 | require conf/machine/include/powerpc/arch-powerpc64.inc | ||
4 | |||
5 | TUNEVALID[power9] = "Enable IBM Power9 specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'power9', ' -mcpu=power9', '', d)}" | ||
7 | |||
8 | AVAILTUNES += "ppcp9 ppc64p9 ppcp9le ppc64p9le" | ||
9 | |||
10 | TUNE_FEATURES:tune-ppcp9 = "m32 fpu-hard power9 altivec bigendian" | ||
11 | BASE_LIB:tune-ppcp9 = "lib" | ||
12 | TUNE_PKGARCH:tune-ppcp9 = "ppcp9" | ||
13 | PACKAGE_EXTRA_ARCHS:tune-ppcp9 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppcp9" | ||
14 | |||
15 | TUNE_FEATURES:tune-ppc64p9 = "m64 fpu-hard power9 altivec bigendian" | ||
16 | BASE_LIB:tune-ppc64p9 = "lib64" | ||
17 | TUNE_PKGARCH:tune-ppc64p9 = "ppc64p9" | ||
18 | PACKAGE_EXTRA_ARCHS:tune-ppc64p9 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc64} ppc64p9" | ||
19 | |||
20 | TUNE_FEATURES:tune-ppcp9le = "m32 fpu-hard power9 altivec" | ||
21 | BASE_LIB:tune-ppcp9le = "lib" | ||
22 | TUNE_PKGARCH:tune-ppcp9le = "ppcp9le" | ||
23 | PACKAGE_EXTRA_ARCHS:tune-ppcp9le = "${PACKAGE_EXTRA_ARCHS:tune-powerpcle} ppcp9le" | ||
24 | |||
25 | TUNE_FEATURES:tune-ppc64p9le = "m64 fpu-hard power9 altivec" | ||
26 | BASE_LIB:tune-ppc64p9le = "lib64" | ||
27 | TUNE_PKGARCH:tune-ppc64p9le = "ppc64p9le" | ||
28 | PACKAGE_EXTRA_ARCHS:tune-ppc64p9le = "${PACKAGE_EXTRA_ARCHS:tune-powerpc64le} ppc64p9le" | ||
29 | |||
30 | # glibc configure options to get power9 specific library | ||
31 | GLIBC_EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'power9', '--with-cpu=power9', '', d)}" | ||
diff --git a/meta/conf/machine/include/powerpc/tune-ppc476.inc b/meta/conf/machine/include/powerpc/tune-ppc476.inc new file mode 100644 index 0000000000..54152cb941 --- /dev/null +++ b/meta/conf/machine/include/powerpc/tune-ppc476.inc | |||
@@ -0,0 +1,14 @@ | |||
1 | DEFAULTTUNE ?= "ppc476" | ||
2 | |||
3 | require conf/machine/include/powerpc/arch-powerpc.inc | ||
4 | |||
5 | TUNEVALID[ppc476] = "Enable ppc476 specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppc476', ' -mcpu=476', '', d)}" | ||
7 | |||
8 | AVAILTUNES += "ppc476" | ||
9 | TUNE_FEATURES:tune-ppc476 = "m32 fpu-hard ppc476 bigendian" | ||
10 | TUNE_PKGARCH:tune-ppc476 = "ppc476" | ||
11 | PACKAGE_EXTRA_ARCHS:tune-ppc476 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppc476" | ||
12 | |||
13 | # glibc configure options to get 476 specific library (for sqrt) | ||
14 | GLIBC_EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'ppc476', '-with-cpu=476', '', d)}" | ||
diff --git a/meta/conf/machine/include/powerpc/tune-ppc603e.inc b/meta/conf/machine/include/powerpc/tune-ppc603e.inc new file mode 100644 index 0000000000..28680bdb3c --- /dev/null +++ b/meta/conf/machine/include/powerpc/tune-ppc603e.inc | |||
@@ -0,0 +1,11 @@ | |||
1 | DEFAULTTUNE ?= "ppc603e" | ||
2 | |||
3 | require conf/machine/include/powerpc/arch-powerpc.inc | ||
4 | |||
5 | TUNEVALID[ppc603e] = "Enable ppc603e specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppc603e', ' -mcpu=603e', '', d)}" | ||
7 | |||
8 | AVAILTUNES += "ppc603e" | ||
9 | TUNE_FEATURES:tune-ppc603e = "m32 fpu-hard ppc603e bigendian" | ||
10 | TUNE_PKGARCH:tune-ppc603e = "ppc603e" | ||
11 | PACKAGE_EXTRA_ARCHS:tune-ppc603e = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppc603e" | ||
diff --git a/meta/conf/machine/include/powerpc/tune-ppc7400.inc b/meta/conf/machine/include/powerpc/tune-ppc7400.inc new file mode 100644 index 0000000000..49b94f5ee1 --- /dev/null +++ b/meta/conf/machine/include/powerpc/tune-ppc7400.inc | |||
@@ -0,0 +1,11 @@ | |||
1 | DEFAULTTUNE ?= "ppc7400" | ||
2 | |||
3 | require conf/machine/include/powerpc/arch-powerpc.inc | ||
4 | |||
5 | TUNEVALID[ppc7400] = "Enable ppc7400 specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppc7400', ' -mcpu=7400 -mno-spe', '', d)}" | ||
7 | |||
8 | AVAILTUNES += "ppc7400" | ||
9 | TUNE_FEATURES:tune-ppc7400 = "m32 fpu-hard ppc7400 altivec bigendian" | ||
10 | TUNE_PKGARCH:tune-ppc7400 = "ppc7400" | ||
11 | PACKAGE_EXTRA_ARCHS:tune-ppc7400 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppc7400" | ||
diff --git a/meta/conf/machine/include/powerpc/tune-ppce300c2.inc b/meta/conf/machine/include/powerpc/tune-ppce300c2.inc new file mode 100644 index 0000000000..90171c76d5 --- /dev/null +++ b/meta/conf/machine/include/powerpc/tune-ppce300c2.inc | |||
@@ -0,0 +1,11 @@ | |||
1 | DEFAULTTUNE ?= "ppce300c2" | ||
2 | |||
3 | require conf/machine/include/powerpc/arch-powerpc.inc | ||
4 | |||
5 | TUNEVALID[ppce300c2] = "Enable ppce300c2 specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppce300c2', ' -mcpu=e300c2', '', d)}" | ||
7 | |||
8 | AVAILTUNES += "ppce300c2" | ||
9 | TUNE_FEATURES:tune-ppce300c2 = "m32 fpu-soft ppce300c2 bigendian" | ||
10 | TUNE_PKGARCH:tune-ppce300c2 = "ppce300c2" | ||
11 | PACKAGE_EXTRA_ARCHS:tune-ppce300c2 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc-nf} ppce300c2" | ||
diff --git a/meta/conf/machine/include/powerpc/tune-ppce300c3.inc b/meta/conf/machine/include/powerpc/tune-ppce300c3.inc new file mode 100644 index 0000000000..31aff51af3 --- /dev/null +++ b/meta/conf/machine/include/powerpc/tune-ppce300c3.inc | |||
@@ -0,0 +1,20 @@ | |||
1 | DEFAULTTUNE ?= "ppce300c3" | ||
2 | |||
3 | require conf/machine/include/powerpc/arch-powerpc.inc | ||
4 | |||
5 | AVAILTUNES += "ppce300c3 ppce300c3-nf" | ||
6 | |||
7 | # hard-float | ||
8 | TUNEVALID[ppce300c3] = "Enable ppce300c3 specific processor optimizations" | ||
9 | TUNE_FEATURES:tune-ppce300c3 = "${TUNE_FEATURES:tune-powerpc} ppce300c3" | ||
10 | TUNE_PKGARCH:tune-ppce300c3 = "ppce300c3" | ||
11 | PACKAGE_EXTRA_ARCHS:tune-ppce300c3 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppce300c3" | ||
12 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppce300c3', ' -mcpu=e300c3', '', d)}" | ||
13 | |||
14 | # soft-float | ||
15 | TUNEVALID[ppce300c3-nf] = "Enable ppce300c3 specific processor optimizations (no fpu)" | ||
16 | TUNE_FEATURES:tune-ppce300c3-nf = "${TUNE_FEATURES:tune-powerpc-nf} ppce300c3-nf" | ||
17 | TUNE_PKGARCH:tune-ppce300c3-nf = "ppce300c3-nf" | ||
18 | PACKAGE_EXTRA_ARCHS:tune-ppce300c3-nf = "${PACKAGE_EXTRA_ARCHS:tune-powerpc-nf} ppce300c3-nf" | ||
19 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppce300c3-nf', ' -mcpu=e300c3', '', d)}" | ||
20 | |||
diff --git a/meta/conf/machine/include/powerpc/tune-ppce500.inc b/meta/conf/machine/include/powerpc/tune-ppce500.inc new file mode 100644 index 0000000000..aceab321b7 --- /dev/null +++ b/meta/conf/machine/include/powerpc/tune-ppce500.inc | |||
@@ -0,0 +1,20 @@ | |||
1 | DEFAULTTUNE ?= "ppce500" | ||
2 | |||
3 | require conf/machine/include/powerpc/arch-powerpc.inc | ||
4 | |||
5 | TUNEVALID[ppce500] = "Enable ppce500 specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppce500', ' -mcpu=8540', '', d)}" | ||
7 | |||
8 | TUNEVALID[spe] = "Enable SPE ABI extensions" | ||
9 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', [ 'ppce500', 'spe' ], ' -mabi=spe -mspe -mfloat-gprs=single', '', d)}" | ||
10 | TARGET_FPU .= "${@bb.utils.contains('TUNE_FEATURES', [ 'ppce500' , 'spe' ], 'ppc-efs', '', d)}" | ||
11 | |||
12 | # spe is defined potentially in two places, so we want to be sure it will | ||
13 | # only write spe once to the ABIEXTENSIONS field. | ||
14 | SPEABIEXTENSION = "${@bb.utils.filter('TUNE_FEATURES', 'spe', d)}" | ||
15 | ABIEXTENSION .= "${SPEABIEXTENSION}" | ||
16 | |||
17 | AVAILTUNES += "ppce500" | ||
18 | TUNE_FEATURES:tune-ppce500 = "m32 spe ppce500 bigendian" | ||
19 | TUNE_PKGARCH:tune-ppce500 = "ppce500" | ||
20 | PACKAGE_EXTRA_ARCHS:tune-ppce500 = "ppce500" | ||
diff --git a/meta/conf/machine/include/powerpc/tune-ppce500mc.inc b/meta/conf/machine/include/powerpc/tune-ppce500mc.inc new file mode 100644 index 0000000000..036f8b2631 --- /dev/null +++ b/meta/conf/machine/include/powerpc/tune-ppce500mc.inc | |||
@@ -0,0 +1,14 @@ | |||
1 | DEFAULTTUNE ?= "ppce500mc" | ||
2 | |||
3 | require conf/machine/include/powerpc/arch-powerpc.inc | ||
4 | |||
5 | TUNEVALID[ppce500mc] = "Enable ppce500mc specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppce500mc', ' -mcpu=e500mc', '', d)}" | ||
7 | |||
8 | AVAILTUNES += "ppce500mc" | ||
9 | TUNE_FEATURES:tune-ppce500mc = "m32 fpu-hard ppce500mc bigendian" | ||
10 | TUNE_PKGARCH:tune-ppce500mc = "ppce500mc" | ||
11 | PACKAGE_EXTRA_ARCHS:tune-ppce500mc = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppce500mc" | ||
12 | |||
13 | # pass -mcpu=e500mc for ppce500mc kernel cross compile | ||
14 | TARGET_CC_KERNEL_ARCH = "-mcpu=e500mc" | ||
diff --git a/meta/conf/machine/include/powerpc/tune-ppce500v2.inc b/meta/conf/machine/include/powerpc/tune-ppce500v2.inc new file mode 100644 index 0000000000..461164d818 --- /dev/null +++ b/meta/conf/machine/include/powerpc/tune-ppce500v2.inc | |||
@@ -0,0 +1,20 @@ | |||
1 | DEFAULTTUNE ?= "ppce500v2" | ||
2 | |||
3 | require conf/machine/include/powerpc/arch-powerpc.inc | ||
4 | |||
5 | TUNEVALID[ppce500v2] = "Enable ppce500v2 specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppce500v2', ' -mcpu=8548', '', d)}" | ||
7 | |||
8 | TUNEVALID[spe] = "Enable SPE ABI extensions" | ||
9 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', [ 'ppce500v2', 'spe' ], ' -mabi=spe -mspe -mfloat-gprs=double', '', d)}" | ||
10 | TARGET_FPU .= "${@bb.utils.contains('TUNE_FEATURES', [ 'ppce500v2' , 'spe' ], 'ppc-efd', '', d)}" | ||
11 | |||
12 | # spe is defined potentially in two places, so we want to be sure it will | ||
13 | # only write spe once to the ABIEXTENSIONS field. | ||
14 | SPEABIEXTENSION = "${@bb.utils.filter('TUNE_FEATURES', 'spe', d)}" | ||
15 | ABIEXTENSION .= "${SPEABIEXTENSION}" | ||
16 | |||
17 | AVAILTUNES += "ppce500v2" | ||
18 | TUNE_FEATURES:tune-ppce500v2 = "m32 ppce500v2 bigendian" | ||
19 | TUNE_PKGARCH:tune-ppce500v2 = "ppce500v2" | ||
20 | PACKAGE_EXTRA_ARCHS:tune-ppce500v2 = "ppce500v2" | ||
diff --git a/meta/conf/machine/include/powerpc/tune-ppce5500.inc b/meta/conf/machine/include/powerpc/tune-ppce5500.inc new file mode 100644 index 0000000000..4915b81ee4 --- /dev/null +++ b/meta/conf/machine/include/powerpc/tune-ppce5500.inc | |||
@@ -0,0 +1,20 @@ | |||
1 | DEFAULTTUNE ?= "ppce5500" | ||
2 | |||
3 | require conf/machine/include/powerpc/arch-powerpc64.inc | ||
4 | |||
5 | TUNEVALID[e5500] = "Enable Freescale e5500 specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'e5500', ' -mcpu=e5500', '', d)}" | ||
7 | |||
8 | AVAILTUNES += "ppce5500 ppc64e5500" | ||
9 | TUNE_FEATURES:tune-ppce5500 = "m32 fpu-hard e5500 bigendian" | ||
10 | BASE_LIB:tune-ppce5500 = "lib" | ||
11 | TUNE_PKGARCH:tune-ppce5500 = "ppce5500" | ||
12 | PACKAGE_EXTRA_ARCHS:tune-ppce5500 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppce5500" | ||
13 | |||
14 | TUNE_FEATURES:tune-ppc64e5500 = "m64 fpu-hard e5500 bigendian" | ||
15 | BASE_LIB:tune-ppc64e5500 = "lib64" | ||
16 | TUNE_PKGARCH:tune-ppc64e5500 = "ppc64e5500" | ||
17 | PACKAGE_EXTRA_ARCHS:tune-ppc64e5500 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc64} ppc64e5500" | ||
18 | |||
19 | # QEMU usermode fails with invalid instruction error (YOCTO: #10304) | ||
20 | MACHINE_FEATURES_BACKFILL_CONSIDERED:append = "${@bb.utils.contains('TUNE_FEATURES', 'e5500', ' qemu-usermode', '', d)}" | ||
diff --git a/meta/conf/machine/include/powerpc/tune-ppce6500.inc b/meta/conf/machine/include/powerpc/tune-ppce6500.inc new file mode 100644 index 0000000000..f6310ab4c4 --- /dev/null +++ b/meta/conf/machine/include/powerpc/tune-ppce6500.inc | |||
@@ -0,0 +1,20 @@ | |||
1 | DEFAULTTUNE ?= "ppce6500" | ||
2 | |||
3 | require conf/machine/include/powerpc/arch-powerpc64.inc | ||
4 | |||
5 | TUNEVALID[e6500] = "Enable Freescale e6500 specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'e6500', ' -mcpu=e6500', '', d)}" | ||
7 | |||
8 | AVAILTUNES += "ppce6500 ppc64e6500" | ||
9 | TUNE_FEATURES:tune-ppce6500 = "m32 fpu-hard e6500 altivec bigendian" | ||
10 | BASE_LIB:tune-ppce6500 = "lib" | ||
11 | TUNE_PKGARCH:tune-ppce6500 = "ppce6500" | ||
12 | PACKAGE_EXTRA_ARCHS:tune-ppce6500 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppce6500" | ||
13 | |||
14 | TUNE_FEATURES:tune-ppc64e6500 = "m64 fpu-hard e6500 altivec bigendian" | ||
15 | BASE_LIB:tune-ppc64e6500 = "lib64" | ||
16 | TUNE_PKGARCH:tune-ppc64e6500 = "ppc64e6500" | ||
17 | PACKAGE_EXTRA_ARCHS:tune-ppc64e6500 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc64} ppc64e6500" | ||
18 | |||
19 | # QEMU usermode fails with invalid instruction error (YOCTO: #10304) | ||
20 | MACHINE_FEATURES_BACKFILL_CONSIDERED:append = "${@bb.utils.contains('TUNE_FEATURES', 'e6500', ' qemu-usermode', '', d)}" | ||