summaryrefslogtreecommitdiffstats
path: root/meta/conf/machine/include/powerpc
diff options
context:
space:
mode:
Diffstat (limited to 'meta/conf/machine/include/powerpc')
-rw-r--r--meta/conf/machine/include/powerpc/README4
-rw-r--r--meta/conf/machine/include/powerpc/arch-powerpc.inc40
-rw-r--r--meta/conf/machine/include/powerpc/arch-powerpc64.inc19
-rw-r--r--meta/conf/machine/include/powerpc/tune-power5.inc24
-rw-r--r--meta/conf/machine/include/powerpc/tune-power6.inc24
-rw-r--r--meta/conf/machine/include/powerpc/tune-power7.inc24
-rw-r--r--meta/conf/machine/include/powerpc/tune-power8.inc31
-rw-r--r--meta/conf/machine/include/powerpc/tune-power9.inc31
-rw-r--r--meta/conf/machine/include/powerpc/tune-ppc476.inc14
-rw-r--r--meta/conf/machine/include/powerpc/tune-ppc603e.inc11
-rw-r--r--meta/conf/machine/include/powerpc/tune-ppc7400.inc11
-rw-r--r--meta/conf/machine/include/powerpc/tune-ppce300c2.inc11
-rw-r--r--meta/conf/machine/include/powerpc/tune-ppce300c3.inc20
-rw-r--r--meta/conf/machine/include/powerpc/tune-ppce500.inc20
-rw-r--r--meta/conf/machine/include/powerpc/tune-ppce500mc.inc14
-rw-r--r--meta/conf/machine/include/powerpc/tune-ppce500v2.inc20
-rw-r--r--meta/conf/machine/include/powerpc/tune-ppce5500.inc20
-rw-r--r--meta/conf/machine/include/powerpc/tune-ppce6500.inc20
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.
12However, a general naming scheme should be similar to: ppc[64][<family>][-nf]. 12However, 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
15TUNE_PKGARCH is defined as TUNE_PKGARCH_tune-${DEFAULTTUNE}. All 15TUNE_PKGARCH is defined as TUNE_PKGARCH:tune-${DEFAULTTUNE}. All
16PowerPC tunings are required to define TUNE_PKGARCH_tune-<tune>. 16PowerPC 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
6DEFAULTTUNE ?= "powerpc" 6DEFAULTTUNE ?= "powerpc"
7 7
8TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}" 8TUNE_PKGARCH = "${TUNE_PKGARCH:tune-${DEFAULTTUNE}}"
9ABIEXTENSION ?= "" 9ABIEXTENSION ?= ""
10 10
11# Endian 11# Endian
@@ -30,22 +30,22 @@ TUNEVALID[altivec] = "Altivec"
30# Basic tune definitions 30# Basic tune definitions
31AVAILTUNES += "powerpc powerpc-nf powerpcle powerpcle-nf" 31AVAILTUNES += "powerpc powerpc-nf powerpcle powerpcle-nf"
32 32
33TUNE_FEATURES_tune-powerpc-nf = "m32 fpu-soft bigendian" 33TUNE_FEATURES:tune-powerpc-nf = "m32 fpu-soft bigendian"
34BASE_LIB_tune-powerpc-nf = "lib" 34BASE_LIB:tune-powerpc-nf = "lib"
35TUNE_PKGARCH_tune-powerpc-nf = "powerpc-nf" 35TUNE_PKGARCH:tune-powerpc-nf = "powerpc-nf"
36PACKAGE_EXTRA_ARCHS_tune-powerpc-nf = "powerpc-nf" 36PACKAGE_EXTRA_ARCHS:tune-powerpc-nf = "powerpc-nf"
37 37
38TUNE_FEATURES_tune-powerpc = "m32 fpu-hard bigendian" 38TUNE_FEATURES:tune-powerpc = "m32 fpu-hard bigendian"
39BASE_LIB_tune-powerpc = "lib" 39BASE_LIB:tune-powerpc = "lib"
40TUNE_PKGARCH_tune-powerpc = "powerpc" 40TUNE_PKGARCH:tune-powerpc = "powerpc"
41PACKAGE_EXTRA_ARCHS_tune-powerpc = "powerpc" 41PACKAGE_EXTRA_ARCHS:tune-powerpc = "powerpc"
42 42
43TUNE_FEATURES_tune-powerpcle-nf = "m32 fpu-soft" 43TUNE_FEATURES:tune-powerpcle-nf = "m32 fpu-soft"
44BASE_LIB_tune-powerpcle-nf = "lib" 44BASE_LIB:tune-powerpcle-nf = "lib"
45TUNE_PKGARCH_tune-powerpcle-nf = "powerpcle-nf" 45TUNE_PKGARCH:tune-powerpcle-nf = "powerpcle-nf"
46PACKAGE_EXTRA_ARCHS_tune-powerpcle-nf = "powerpcle-nf" 46PACKAGE_EXTRA_ARCHS:tune-powerpcle-nf = "powerpcle-nf"
47 47
48TUNE_FEATURES_tune-powerpcle = "m32 fpu-hard" 48TUNE_FEATURES:tune-powerpcle = "m32 fpu-hard"
49BASE_LIB_tune-powerpcle = "lib" 49BASE_LIB:tune-powerpcle = "lib"
50TUNE_PKGARCH_tune-powerpcle = "powerpcle" 50TUNE_PKGARCH:tune-powerpcle = "powerpcle"
51PACKAGE_EXTRA_ARCHS_tune-powerpcle = "powerpcle" 51PACKAGE_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
11TUNE_CCARGS .= "${@['', ' -mabi=elfv2']['libc-musl' in d.getVar('OVERRIDES').split(':')]}" 11TUNE_CCARGS .= "${@['', ' -mabi=elfv2']['libc-musl' in d.getVar('OVERRIDES').split(':')]}"
12 12
13# user mode qemu doesn't support ppc64
14MACHINE_FEATURES_BACKFILL_CONSIDERED_append = " ${@bb.utils.contains('TUNE_FEATURES', 'm64', 'qemu-usermode', '', d)}"
15
16AVAILTUNES += "powerpc64 powerpc64le" 13AVAILTUNES += "powerpc64 powerpc64le"
17 14
18TUNE_FEATURES_tune-powerpc64 = "m64 fpu-hard bigendian" 15TUNE_FEATURES:tune-powerpc64 = "m64 fpu-hard bigendian"
19BASE_LIB_tune-powerpc64 = "lib64" 16BASE_LIB:tune-powerpc64 = "lib64"
20TUNE_PKGARCH_tune-powerpc64 = "powerpc64" 17TUNE_PKGARCH:tune-powerpc64 = "powerpc64"
21PACKAGE_EXTRA_ARCHS_tune-powerpc64 = "powerpc64" 18PACKAGE_EXTRA_ARCHS:tune-powerpc64 = "powerpc64"
22 19
23TUNE_FEATURES_tune-powerpc64le = "m64 fpu-hard" 20TUNE_FEATURES:tune-powerpc64le = "m64 fpu-hard"
24BASE_LIB_tune-powerpc64le = "lib64" 21BASE_LIB:tune-powerpc64le = "lib64"
25TUNE_PKGARCH_tune-powerpc64le = "powerpc64le" 22TUNE_PKGARCH:tune-powerpc64le = "powerpc64le"
26PACKAGE_EXTRA_ARCHS_tune-powerpc64le = "powerpc64le" 23PACKAGE_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 @@
1DEFAULTTUNE ?= "ppcp5"
2
3require conf/machine/include/powerpc/arch-powerpc64.inc
4
5TUNEVALID[power5] = "Enable IBM Power5 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'power5', ' -mcpu=power5', '', d)}"
7
8AVAILTUNES += "ppcp5 ppc64p5"
9TUNE_FEATURES:tune-ppcp5 = "m32 fpu-hard power5 altivec bigendian"
10BASE_LIB:tune-ppcp5 = "lib"
11TUNE_PKGARCH:tune-ppcp5 = "ppcp5"
12PACKAGE_EXTRA_ARCHS:tune-ppcp5 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppcp5"
13
14TUNE_FEATURES:tune-ppc64p5 = "m64 fpu-hard power5 altivec bigendian"
15BASE_LIB:tune-ppc64p5 = "lib64"
16TUNE_PKGARCH:tune-ppc64p5 = "ppc64p5"
17PACKAGE_EXTRA_ARCHS:tune-ppc64p5 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc64} ppc64p5"
18
19# glibc configure options to get power5 specific library
20GLIBC_EXTRA_OECONF:powerpc64 += "${@bb.utils.contains('TUNE_FEATURES', 'power5', '--with-cpu=power5', '', d)}"
21GLIBC_EXTRA_OECONF:powerpc += "${@bb.utils.contains('TUNE_FEATURES', 'power5', '--with-cpu=power5', '', d)}"
22
23# QEMU usermode fails with invalid instruction error
24MACHINE_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 @@
1DEFAULTTUNE ?= "ppcp6"
2
3require conf/machine/include/powerpc/arch-powerpc64.inc
4
5TUNEVALID[power6] = "Enable IBM Power6 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'power6', ' -mcpu=power6', '', d)}"
7
8AVAILTUNES += "ppcp6 ppc64p6"
9TUNE_FEATURES:tune-ppcp6 = "m32 fpu-hard power6 altivec bigendian"
10BASE_LIB:tune-ppcp6 = "lib"
11TUNE_PKGARCH:tune-ppcp6 = "ppcp6"
12PACKAGE_EXTRA_ARCHS:tune-ppcp6 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppcp6"
13
14TUNE_FEATURES:tune-ppc64p6 = "m64 fpu-hard power6 altivec bigendian"
15BASE_LIB:tune-ppc64p6 = "lib64"
16TUNE_PKGARCH:tune-ppc64p6 = "ppc64p6"
17PACKAGE_EXTRA_ARCHS:tune-ppc64p6 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc64} ppc64p6"
18
19# glibc configure options to get power6 specific library
20GLIBC_EXTRA_OECONF:powerpc64 += "${@bb.utils.contains('TUNE_FEATURES', 'power6', '--with-cpu=power6', '', d)}"
21GLIBC_EXTRA_OECONF:powerpc += "${@bb.utils.contains('TUNE_FEATURES', 'power6', '--with-cpu=power6', '', d)}"
22
23# QEMU usermode fails with invalid instruction error
24MACHINE_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 @@
1DEFAULTTUNE ?= "ppcp7"
2
3require conf/machine/include/powerpc/arch-powerpc64.inc
4
5TUNEVALID[power7] = "Enable IBM Power7 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'power7', ' -mcpu=power7', '', d)}"
7
8AVAILTUNES += "ppcp7 ppc64p7"
9TUNE_FEATURES:tune-ppcp7 = "m32 fpu-hard power7 altivec bigendian"
10BASE_LIB:tune-ppcp7 = "lib"
11TUNE_PKGARCH:tune-ppcp7 = "ppcp7"
12PACKAGE_EXTRA_ARCHS:tune-ppcp7 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppcp7"
13
14TUNE_FEATURES:tune-ppc64p7 = "m64 fpu-hard power7 altivec bigendian"
15BASE_LIB:tune-ppc64p7 = "lib64"
16TUNE_PKGARCH:tune-ppc64p7 = "ppc64p7"
17PACKAGE_EXTRA_ARCHS:tune-ppc64p7 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc64} ppc64p7"
18
19# glibc configure options to get power7 specific library
20GLIBC_EXTRA_OECONF:powerpc64 += "${@bb.utils.contains('TUNE_FEATURES', 'power7', '--with-cpu=power7', '', d)}"
21GLIBC_EXTRA_OECONF:powerpc += "${@bb.utils.contains('TUNE_FEATURES', 'power7', '--with-cpu=power7', '', d)}"
22
23# QEMU usermode fails with invalid instruction error
24MACHINE_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 @@
1DEFAULTTUNE ?= "ppc64p8le"
2
3require conf/machine/include/powerpc/arch-powerpc64.inc
4
5TUNEVALID[power8] = "Enable IBM Power8 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'power8', ' -mcpu=power8', '', d)}"
7
8AVAILTUNES += "ppcp8 ppc64p8 ppcp8le ppc64p8le"
9
10TUNE_FEATURES:tune-ppcp8 = "m32 fpu-hard power8 altivec bigendian"
11BASE_LIB:tune-ppcp8 = "lib"
12TUNE_PKGARCH:tune-ppcp8 = "ppcp8"
13PACKAGE_EXTRA_ARCHS:tune-ppcp8 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppcp8"
14
15TUNE_FEATURES:tune-ppc64p8 = "m64 fpu-hard power8 altivec bigendian"
16BASE_LIB:tune-ppc64p8 = "lib64"
17TUNE_PKGARCH:tune-ppc64p8 = "ppc64p8"
18PACKAGE_EXTRA_ARCHS:tune-ppc64p8 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc64} ppc64p8"
19
20TUNE_FEATURES:tune-ppcp8le = "m32 fpu-hard power8 altivec"
21BASE_LIB:tune-ppcp8le = "lib"
22TUNE_PKGARCH:tune-ppcp8le = "ppcp8le"
23PACKAGE_EXTRA_ARCHS:tune-ppcp8le = "${PACKAGE_EXTRA_ARCHS:tune-powerpcle} ppcp8le"
24
25TUNE_FEATURES:tune-ppc64p8le = "m64 fpu-hard power8 altivec"
26BASE_LIB:tune-ppc64p8le = "lib64"
27TUNE_PKGARCH:tune-ppc64p8le = "ppc64p8le"
28PACKAGE_EXTRA_ARCHS:tune-ppc64p8le = "${PACKAGE_EXTRA_ARCHS:tune-powerpc64le} ppc64p8le"
29
30# glibc configure options to get power8 specific library
31GLIBC_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 @@
1DEFAULTTUNE ?= "ppc64p9le"
2
3require conf/machine/include/powerpc/arch-powerpc64.inc
4
5TUNEVALID[power9] = "Enable IBM Power9 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'power9', ' -mcpu=power9', '', d)}"
7
8AVAILTUNES += "ppcp9 ppc64p9 ppcp9le ppc64p9le"
9
10TUNE_FEATURES:tune-ppcp9 = "m32 fpu-hard power9 altivec bigendian"
11BASE_LIB:tune-ppcp9 = "lib"
12TUNE_PKGARCH:tune-ppcp9 = "ppcp9"
13PACKAGE_EXTRA_ARCHS:tune-ppcp9 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppcp9"
14
15TUNE_FEATURES:tune-ppc64p9 = "m64 fpu-hard power9 altivec bigendian"
16BASE_LIB:tune-ppc64p9 = "lib64"
17TUNE_PKGARCH:tune-ppc64p9 = "ppc64p9"
18PACKAGE_EXTRA_ARCHS:tune-ppc64p9 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc64} ppc64p9"
19
20TUNE_FEATURES:tune-ppcp9le = "m32 fpu-hard power9 altivec"
21BASE_LIB:tune-ppcp9le = "lib"
22TUNE_PKGARCH:tune-ppcp9le = "ppcp9le"
23PACKAGE_EXTRA_ARCHS:tune-ppcp9le = "${PACKAGE_EXTRA_ARCHS:tune-powerpcle} ppcp9le"
24
25TUNE_FEATURES:tune-ppc64p9le = "m64 fpu-hard power9 altivec"
26BASE_LIB:tune-ppc64p9le = "lib64"
27TUNE_PKGARCH:tune-ppc64p9le = "ppc64p9le"
28PACKAGE_EXTRA_ARCHS:tune-ppc64p9le = "${PACKAGE_EXTRA_ARCHS:tune-powerpc64le} ppc64p9le"
29
30# glibc configure options to get power9 specific library
31GLIBC_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 @@
1DEFAULTTUNE ?= "ppc476"
2
3require conf/machine/include/powerpc/arch-powerpc.inc
4
5TUNEVALID[ppc476] = "Enable ppc476 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppc476', ' -mcpu=476', '', d)}"
7
8AVAILTUNES += "ppc476"
9TUNE_FEATURES:tune-ppc476 = "m32 fpu-hard ppc476 bigendian"
10TUNE_PKGARCH:tune-ppc476 = "ppc476"
11PACKAGE_EXTRA_ARCHS:tune-ppc476 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppc476"
12
13# glibc configure options to get 476 specific library (for sqrt)
14GLIBC_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 @@
1DEFAULTTUNE ?= "ppc603e"
2
3require conf/machine/include/powerpc/arch-powerpc.inc
4
5TUNEVALID[ppc603e] = "Enable ppc603e specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppc603e', ' -mcpu=603e', '', d)}"
7
8AVAILTUNES += "ppc603e"
9TUNE_FEATURES:tune-ppc603e = "m32 fpu-hard ppc603e bigendian"
10TUNE_PKGARCH:tune-ppc603e = "ppc603e"
11PACKAGE_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 @@
1DEFAULTTUNE ?= "ppc7400"
2
3require conf/machine/include/powerpc/arch-powerpc.inc
4
5TUNEVALID[ppc7400] = "Enable ppc7400 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppc7400', ' -mcpu=7400 -mno-spe', '', d)}"
7
8AVAILTUNES += "ppc7400"
9TUNE_FEATURES:tune-ppc7400 = "m32 fpu-hard ppc7400 altivec bigendian"
10TUNE_PKGARCH:tune-ppc7400 = "ppc7400"
11PACKAGE_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 @@
1DEFAULTTUNE ?= "ppce300c2"
2
3require conf/machine/include/powerpc/arch-powerpc.inc
4
5TUNEVALID[ppce300c2] = "Enable ppce300c2 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppce300c2', ' -mcpu=e300c2', '', d)}"
7
8AVAILTUNES += "ppce300c2"
9TUNE_FEATURES:tune-ppce300c2 = "m32 fpu-soft ppce300c2 bigendian"
10TUNE_PKGARCH:tune-ppce300c2 = "ppce300c2"
11PACKAGE_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 @@
1DEFAULTTUNE ?= "ppce300c3"
2
3require conf/machine/include/powerpc/arch-powerpc.inc
4
5AVAILTUNES += "ppce300c3 ppce300c3-nf"
6
7# hard-float
8TUNEVALID[ppce300c3] = "Enable ppce300c3 specific processor optimizations"
9TUNE_FEATURES:tune-ppce300c3 = "${TUNE_FEATURES:tune-powerpc} ppce300c3"
10TUNE_PKGARCH:tune-ppce300c3 = "ppce300c3"
11PACKAGE_EXTRA_ARCHS:tune-ppce300c3 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppce300c3"
12TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppce300c3', ' -mcpu=e300c3', '', d)}"
13
14# soft-float
15TUNEVALID[ppce300c3-nf] = "Enable ppce300c3 specific processor optimizations (no fpu)"
16TUNE_FEATURES:tune-ppce300c3-nf = "${TUNE_FEATURES:tune-powerpc-nf} ppce300c3-nf"
17TUNE_PKGARCH:tune-ppce300c3-nf = "ppce300c3-nf"
18PACKAGE_EXTRA_ARCHS:tune-ppce300c3-nf = "${PACKAGE_EXTRA_ARCHS:tune-powerpc-nf} ppce300c3-nf"
19TUNE_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 @@
1DEFAULTTUNE ?= "ppce500"
2
3require conf/machine/include/powerpc/arch-powerpc.inc
4
5TUNEVALID[ppce500] = "Enable ppce500 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppce500', ' -mcpu=8540', '', d)}"
7
8TUNEVALID[spe] = "Enable SPE ABI extensions"
9TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', [ 'ppce500', 'spe' ], ' -mabi=spe -mspe -mfloat-gprs=single', '', d)}"
10TARGET_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.
14SPEABIEXTENSION = "${@bb.utils.filter('TUNE_FEATURES', 'spe', d)}"
15ABIEXTENSION .= "${SPEABIEXTENSION}"
16
17AVAILTUNES += "ppce500"
18TUNE_FEATURES:tune-ppce500 = "m32 spe ppce500 bigendian"
19TUNE_PKGARCH:tune-ppce500 = "ppce500"
20PACKAGE_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 @@
1DEFAULTTUNE ?= "ppce500mc"
2
3require conf/machine/include/powerpc/arch-powerpc.inc
4
5TUNEVALID[ppce500mc] = "Enable ppce500mc specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppce500mc', ' -mcpu=e500mc', '', d)}"
7
8AVAILTUNES += "ppce500mc"
9TUNE_FEATURES:tune-ppce500mc = "m32 fpu-hard ppce500mc bigendian"
10TUNE_PKGARCH:tune-ppce500mc = "ppce500mc"
11PACKAGE_EXTRA_ARCHS:tune-ppce500mc = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppce500mc"
12
13# pass -mcpu=e500mc for ppce500mc kernel cross compile
14TARGET_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 @@
1DEFAULTTUNE ?= "ppce500v2"
2
3require conf/machine/include/powerpc/arch-powerpc.inc
4
5TUNEVALID[ppce500v2] = "Enable ppce500v2 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppce500v2', ' -mcpu=8548', '', d)}"
7
8TUNEVALID[spe] = "Enable SPE ABI extensions"
9TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', [ 'ppce500v2', 'spe' ], ' -mabi=spe -mspe -mfloat-gprs=double', '', d)}"
10TARGET_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.
14SPEABIEXTENSION = "${@bb.utils.filter('TUNE_FEATURES', 'spe', d)}"
15ABIEXTENSION .= "${SPEABIEXTENSION}"
16
17AVAILTUNES += "ppce500v2"
18TUNE_FEATURES:tune-ppce500v2 = "m32 ppce500v2 bigendian"
19TUNE_PKGARCH:tune-ppce500v2 = "ppce500v2"
20PACKAGE_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 @@
1DEFAULTTUNE ?= "ppce5500"
2
3require conf/machine/include/powerpc/arch-powerpc64.inc
4
5TUNEVALID[e5500] = "Enable Freescale e5500 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'e5500', ' -mcpu=e5500', '', d)}"
7
8AVAILTUNES += "ppce5500 ppc64e5500"
9TUNE_FEATURES:tune-ppce5500 = "m32 fpu-hard e5500 bigendian"
10BASE_LIB:tune-ppce5500 = "lib"
11TUNE_PKGARCH:tune-ppce5500 = "ppce5500"
12PACKAGE_EXTRA_ARCHS:tune-ppce5500 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppce5500"
13
14TUNE_FEATURES:tune-ppc64e5500 = "m64 fpu-hard e5500 bigendian"
15BASE_LIB:tune-ppc64e5500 = "lib64"
16TUNE_PKGARCH:tune-ppc64e5500 = "ppc64e5500"
17PACKAGE_EXTRA_ARCHS:tune-ppc64e5500 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc64} ppc64e5500"
18
19# QEMU usermode fails with invalid instruction error (YOCTO: #10304)
20MACHINE_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 @@
1DEFAULTTUNE ?= "ppce6500"
2
3require conf/machine/include/powerpc/arch-powerpc64.inc
4
5TUNEVALID[e6500] = "Enable Freescale e6500 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'e6500', ' -mcpu=e6500', '', d)}"
7
8AVAILTUNES += "ppce6500 ppc64e6500"
9TUNE_FEATURES:tune-ppce6500 = "m32 fpu-hard e6500 altivec bigendian"
10BASE_LIB:tune-ppce6500 = "lib"
11TUNE_PKGARCH:tune-ppce6500 = "ppce6500"
12PACKAGE_EXTRA_ARCHS:tune-ppce6500 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppce6500"
13
14TUNE_FEATURES:tune-ppc64e6500 = "m64 fpu-hard e6500 altivec bigendian"
15BASE_LIB:tune-ppc64e6500 = "lib64"
16TUNE_PKGARCH:tune-ppc64e6500 = "ppc64e6500"
17PACKAGE_EXTRA_ARCHS:tune-ppc64e6500 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc64} ppc64e6500"
18
19# QEMU usermode fails with invalid instruction error (YOCTO: #10304)
20MACHINE_FEATURES_BACKFILL_CONSIDERED:append = "${@bb.utils.contains('TUNE_FEATURES', 'e6500', ' qemu-usermode', '', d)}"