summaryrefslogtreecommitdiffstats
path: root/import-layers/yocto-poky/meta/conf/machine/include/powerpc
diff options
context:
space:
mode:
Diffstat (limited to 'import-layers/yocto-poky/meta/conf/machine/include/powerpc')
-rw-r--r--import-layers/yocto-poky/meta/conf/machine/include/powerpc/README17
-rw-r--r--import-layers/yocto-poky/meta/conf/machine/include/powerpc/arch-powerpc.inc34
-rw-r--r--import-layers/yocto-poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc14
3 files changed, 65 insertions, 0 deletions
diff --git a/import-layers/yocto-poky/meta/conf/machine/include/powerpc/README b/import-layers/yocto-poky/meta/conf/machine/include/powerpc/README
new file mode 100644
index 000000000..e87fb5082
--- /dev/null
+++ b/import-layers/yocto-poky/meta/conf/machine/include/powerpc/README
@@ -0,0 +1,17 @@
+2012/03/30 - Mark Hatle <mark.hatle@windriver.com>
+ - Initial revision
+
+There are 4 primary PowerPC ABIs.
+# *) Hard/Soft Floating Point
+# *) 32-bit/64-bit
+
+TUNE_ARCH is defined as either "powerpc" or "powerpc64" based on the m32
+or m64 feature.
+
+May of the PowerPC package archictures are based on legacy Linux names.
+However, a general naming scheme should be similar to: ppc[64][<family>][-nf].
+(Note: the default package architectures are "powerpc" and "powerpc64".)
+
+TUNE_PKGARCH is defined as TUNE_PKGARCH_tune-${DEFAULTTUNE}. All
+PowerPC tunings are required to define TUNE_PKGARCH_tune-<tune>.
+
diff --git a/import-layers/yocto-poky/meta/conf/machine/include/powerpc/arch-powerpc.inc b/import-layers/yocto-poky/meta/conf/machine/include/powerpc/arch-powerpc.inc
new file mode 100644
index 000000000..9cf6b88fd
--- /dev/null
+++ b/import-layers/yocto-poky/meta/conf/machine/include/powerpc/arch-powerpc.inc
@@ -0,0 +1,34 @@
+# Power Architecture definition
+# Four defined ABIs, all combinations of:
+# *) Hard/Soft Floating Point
+# *) 32-bit/64-bit
+
+DEFAULTTUNE ?= "powerpc"
+
+TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}"
+ABIEXTENSION ?= ""
+
+TUNEVALID[m32] = "Power ELF32 standard ABI"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'm32', ' -m32', '', d)}"
+TUNE_ARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'm32', 'powerpc', '', d)}"
+
+TUNEVALID[fpu-hard] = "Use hardware FPU."
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'fpu-hard', ' -mhard-float', '', d)}"
+
+TUNEVALID[fpu-soft] = "Use software FPU."
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'fpu-soft', ' -msoft-float', '', d)}"
+TARGET_FPU .= "${@bb.utils.contains('TUNE_FEATURES', 'fpu-soft', 'soft', '', d)}"
+
+TUNEVALID[altivec] = "Altivec"
+
+# Basic tune definitions
+AVAILTUNES += "powerpc powerpc-nf"
+TUNE_FEATURES_tune-powerpc-nf = "m32 fpu-soft"
+BASE_LIB_tune-powerpc-nf = "lib"
+TUNE_PKGARCH_tune-powerpc-nf = "powerpc-nf"
+PACKAGE_EXTRA_ARCHS_tune-powerpc-nf = "powerpc-nf"
+
+TUNE_FEATURES_tune-powerpc = "m32 fpu-hard"
+BASE_LIB_tune-powerpc = "lib"
+TUNE_PKGARCH_tune-powerpc = "powerpc"
+PACKAGE_EXTRA_ARCHS_tune-powerpc = "powerpc"
diff --git a/import-layers/yocto-poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc b/import-layers/yocto-poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc
new file mode 100644
index 000000000..49419b6e0
--- /dev/null
+++ b/import-layers/yocto-poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc
@@ -0,0 +1,14 @@
+DEFAULTTUNE ?= "powerpc64"
+
+require conf/machine/include/powerpc/arch-powerpc.inc
+
+TUNEVALID[m64] = "Power ELF64 standard ABI"
+TUNECONFLICTS[m64] = "m32 nf"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'm64', ' -m64', '', d)}"
+TUNE_ARCH .= "${@bb.utils.contains('TUNE_FEATURES', [ 'm64' ], 'powerpc64', '', d)}"
+
+AVAILTUNES += "powerpc64"
+TUNE_FEATURES_tune-powerpc64 = "m64 fpu-hard"
+BASE_LIB_tune-powerpc64 = "lib64"
+TUNE_PKGARCH_tune-powerpc64 = "powerpc64"
+PACKAGE_EXTRA_ARCHS_tune-powerpc64 = "powerpc64"
OpenPOWER on IntegriCloud