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/README17
-rw-r--r--meta/conf/machine/include/powerpc/arch-powerpc.inc34
-rw-r--r--meta/conf/machine/include/powerpc/arch-powerpc64.inc14
3 files changed, 65 insertions, 0 deletions
diff --git a/meta/conf/machine/include/powerpc/README b/meta/conf/machine/include/powerpc/README
new file mode 100644
index 0000000000..e87fb5082c
--- /dev/null
+++ b/meta/conf/machine/include/powerpc/README
@@ -0,0 +1,17 @@
12012/03/30 - Mark Hatle <mark.hatle@windriver.com>
2 - Initial revision
3
4There are 4 primary PowerPC ABIs.
5# *) Hard/Soft Floating Point
6# *) 32-bit/64-bit
7
8TUNE_ARCH is defined as either "powerpc" or "powerpc64" based on the m32
9or m64 feature.
10
11May of the PowerPC package archictures are based on legacy Linux names.
12However, a general naming scheme should be similar to: ppc[64][<family>][-nf].
13(Note: the default package architectures are "powerpc" and "powerpc64".)
14
15TUNE_PKGARCH is defined as TUNE_PKGARCH_tune-${DEFAULTTUNE}. All
16PowerPC tunings are required to define TUNE_PKGARCH_tune-<tune>.
17
diff --git a/meta/conf/machine/include/powerpc/arch-powerpc.inc b/meta/conf/machine/include/powerpc/arch-powerpc.inc
new file mode 100644
index 0000000000..036ca3c974
--- /dev/null
+++ b/meta/conf/machine/include/powerpc/arch-powerpc.inc
@@ -0,0 +1,34 @@
1# Power Architecture definition
2# Four defined ABIs, all combinations of:
3# *) Hard/Soft Floating Point
4# *) 32-bit/64-bit
5
6DEFAULTTUNE ?= "powerpc"
7
8TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}"
9ABIEXTENSION ?= ""
10
11TUNEVALID[m32] = "Power ELF32 standard ABI"
12TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "m32", " -m32", "", d)}"
13TUNE_ARCH .= "${@bb.utils.contains("TUNE_FEATURES", "m32", "powerpc", "", d)}"
14
15TUNEVALID[fpu-hard] = "Use hardware FPU."
16TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "fpu-hard", " -mhard-float", "", d)}"
17
18TUNEVALID[fpu-soft] = "Use software FPU."
19TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "fpu-soft", " -msoft-float", "", d)}"
20TARGET_FPU .= "${@bb.utils.contains("TUNE_FEATURES", "fpu-soft", "soft", "", d)}"
21
22TUNEVALID[altivec] = "Altivec"
23
24# Basic tune definitions
25AVAILTUNES += "powerpc powerpc-nf"
26TUNE_FEATURES_tune-powerpc-nf = "m32 fpu-soft"
27BASE_LIB_tune-powerpc-nf = "lib"
28TUNE_PKGARCH_tune-powerpc-nf = "powerpc-nf"
29PACKAGE_EXTRA_ARCHS_tune-powerpc-nf = "powerpc-nf"
30
31TUNE_FEATURES_tune-powerpc = "m32 fpu-hard"
32BASE_LIB_tune-powerpc = "lib"
33TUNE_PKGARCH_tune-powerpc = "powerpc"
34PACKAGE_EXTRA_ARCHS_tune-powerpc = "powerpc"
diff --git a/meta/conf/machine/include/powerpc/arch-powerpc64.inc b/meta/conf/machine/include/powerpc/arch-powerpc64.inc
new file mode 100644
index 0000000000..8476dec8a0
--- /dev/null
+++ b/meta/conf/machine/include/powerpc/arch-powerpc64.inc
@@ -0,0 +1,14 @@
1DEFAULTTUNE ?= "powerpc64"
2
3require conf/machine/include/powerpc/arch-powerpc.inc
4
5TUNEVALID[m64] = "Power ELF64 standard ABI"
6TUNECONFLICTS[m64] = "m32 nf"
7TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "m64", " -m64", "", d)}"
8TUNE_ARCH .= "${@bb.utils.contains("TUNE_FEATURES", [ "m64" ], "powerpc64", "", d)}"
9
10AVAILTUNES += "powerpc64"
11TUNE_FEATURES_tune-powerpc64 ?= "m64 fpu-hard"
12BASE_LIB_tune-powerpc64 = "lib64"
13TUNE_PKGARCH_tune-powerpc64 = "powerpc64"
14PACKAGE_EXTRA_ARCHS_tune-powerpc64 = "powerpc64"