diff options
Diffstat (limited to 'meta/conf/machine/include/powerpc')
-rw-r--r-- | meta/conf/machine/include/powerpc/README | 17 | ||||
-rw-r--r-- | meta/conf/machine/include/powerpc/arch-powerpc.inc | 34 | ||||
-rw-r--r-- | meta/conf/machine/include/powerpc/arch-powerpc64.inc | 14 |
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 @@ | |||
1 | 2012/03/30 - Mark Hatle <mark.hatle@windriver.com> | ||
2 | - Initial revision | ||
3 | |||
4 | There are 4 primary PowerPC ABIs. | ||
5 | # *) Hard/Soft Floating Point | ||
6 | # *) 32-bit/64-bit | ||
7 | |||
8 | TUNE_ARCH is defined as either "powerpc" or "powerpc64" based on the m32 | ||
9 | or m64 feature. | ||
10 | |||
11 | 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]. | ||
13 | (Note: the default package architectures are "powerpc" and "powerpc64".) | ||
14 | |||
15 | TUNE_PKGARCH is defined as TUNE_PKGARCH_tune-${DEFAULTTUNE}. All | ||
16 | PowerPC 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 | |||
6 | DEFAULTTUNE ?= "powerpc" | ||
7 | |||
8 | TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}" | ||
9 | ABIEXTENSION ?= "" | ||
10 | |||
11 | TUNEVALID[m32] = "Power ELF32 standard ABI" | ||
12 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "m32", " -m32", "", d)}" | ||
13 | TUNE_ARCH .= "${@bb.utils.contains("TUNE_FEATURES", "m32", "powerpc", "", d)}" | ||
14 | |||
15 | TUNEVALID[fpu-hard] = "Use hardware FPU." | ||
16 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "fpu-hard", " -mhard-float", "", d)}" | ||
17 | |||
18 | TUNEVALID[fpu-soft] = "Use software FPU." | ||
19 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "fpu-soft", " -msoft-float", "", d)}" | ||
20 | TARGET_FPU .= "${@bb.utils.contains("TUNE_FEATURES", "fpu-soft", "soft", "", d)}" | ||
21 | |||
22 | TUNEVALID[altivec] = "Altivec" | ||
23 | |||
24 | # Basic tune definitions | ||
25 | AVAILTUNES += "powerpc powerpc-nf" | ||
26 | TUNE_FEATURES_tune-powerpc-nf = "m32 fpu-soft" | ||
27 | BASE_LIB_tune-powerpc-nf = "lib" | ||
28 | TUNE_PKGARCH_tune-powerpc-nf = "powerpc-nf" | ||
29 | PACKAGE_EXTRA_ARCHS_tune-powerpc-nf = "powerpc-nf" | ||
30 | |||
31 | TUNE_FEATURES_tune-powerpc = "m32 fpu-hard" | ||
32 | BASE_LIB_tune-powerpc = "lib" | ||
33 | TUNE_PKGARCH_tune-powerpc = "powerpc" | ||
34 | PACKAGE_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 @@ | |||
1 | DEFAULTTUNE ?= "powerpc64" | ||
2 | |||
3 | require conf/machine/include/powerpc/arch-powerpc.inc | ||
4 | |||
5 | TUNEVALID[m64] = "Power ELF64 standard ABI" | ||
6 | TUNECONFLICTS[m64] = "m32 nf" | ||
7 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "m64", " -m64", "", d)}" | ||
8 | TUNE_ARCH .= "${@bb.utils.contains("TUNE_FEATURES", [ "m64" ], "powerpc64", "", d)}" | ||
9 | |||
10 | AVAILTUNES += "powerpc64" | ||
11 | TUNE_FEATURES_tune-powerpc64 ?= "m64 fpu-hard" | ||
12 | BASE_LIB_tune-powerpc64 = "lib64" | ||
13 | TUNE_PKGARCH_tune-powerpc64 = "powerpc64" | ||
14 | PACKAGE_EXTRA_ARCHS_tune-powerpc64 = "powerpc64" | ||