diff options
Diffstat (limited to 'poky/meta/conf/machine/include/powerpc')
-rw-r--r-- | poky/meta/conf/machine/include/powerpc/README | 17 | ||||
-rw-r--r-- | poky/meta/conf/machine/include/powerpc/arch-powerpc.inc | 34 | ||||
-rw-r--r-- | poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc | 17 |
3 files changed, 68 insertions, 0 deletions
diff --git a/poky/meta/conf/machine/include/powerpc/README b/poky/meta/conf/machine/include/powerpc/README new file mode 100644 index 000000000..e87fb5082 --- /dev/null +++ b/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/poky/meta/conf/machine/include/powerpc/arch-powerpc.inc b/poky/meta/conf/machine/include/powerpc/arch-powerpc.inc new file mode 100644 index 000000000..9cf6b88fd --- /dev/null +++ b/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/poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc b/poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc new file mode 100644 index 000000000..f751c6b76 --- /dev/null +++ b/poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc @@ -0,0 +1,17 @@ +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)}" + +# user mode qemu doesn't support ppc64 +MACHINE_FEATURES_BACKFILL_CONSIDERED_append = " ${@bb.utils.contains('TUNE_FEATURES', 'm64', 'qemu-usermode', '', 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" |